CKA-Day02:工作负载、调度、服务、存储

本文详细介绍了在Kubernetes中如何部署、滚动更新和回滚Deployment,StatefulSet的制备与回收策略,以及如何使用ConfigMaps和Secrets进行存储配置。还提及了hostPath访问模式和echo命令在处理Secret时的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0、学习资料

工作负载和调度

  1. 部署以及如何执行滚动更新和回滚

  2. 使用 ConfigMaps 和 Secrets 配置应用程序

  3. 了解如何扩展应用程序

    • 自动扩展:学习如何使用 Horizontal Pod Autoscaler 来自动扩展应用程序。
  4. 了解用于创建健壮的、自修复的应用程序部署的原理

    • 自我修复:了解 Kubernetes 如何自动修复失败的 Pod。
  5. 了解资源限制如何影响 Pod 调度

  6. 了解清单管理和通用模板工具

存储

  1. 了解存储类(Storage Classes)

    • 存储类:介绍了存储类的基本概念和如何使用它们来配置持久卷的存储特性。
  2. 了解持久卷(Persistent Volumes, PV)

    • 持久卷:解释了持久卷是什么以及它们在 Kubernetes 中的作用。
  3. 了解卷模式(Volume Modes)

    • 卷模式:介绍了文件系统、块和共享卷模式的区别和使用场景。
  4. 了解访问模式(Access Modes)

    • 访问模式:解释了 ReadWriteOnce、ReadOnlyMany 和 ReadWriteMany 这三种访问模式。
  5. 了解卷回收策略

    • 回收策略:介绍了 Retain、Recycle 和 Delete 三种回收策略。
  6. 理解持久容量声明原理(Persistent Volume Claims, PVC)

    • 持久卷声明:解释了持久卷声明的工作原理和如何请求存储资源。
  7. 了解如何配置具有持久性存储的应用程序

1、部署、滚动更新、回滚

Deployments

使用set image命令更新镜像
在这里插入图片描述
kb get deploy -owide
在这里插入图片描述
在这里插入图片描述
kb get pod -w
在这里插入图片描述rollout history

rollout status

rollout undo
在这里插入图片描述

暂停、恢复Deployment的上线过程

rollout pause

rollout resume
在这里插入图片描述

StatefulSet

kb create sts -h 命令行不能创建sts资源?
在这里插入图片描述

spec:
  podManagementPolicy: OrderedReady
  replicas: 3
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: nginx
  serviceName: nginx
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx
        imagePullPolicy: Always
        name: nginx
        ports:
        - containerPort: 80
          name: web
          protocol: TCP
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /usr/share/nginx/html
          name: www
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 10
  updateStrategy:
    rollingUpdate:
      partition: 0
    type: RollingUpdate
  volumeClaimTemplates:
  - apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      creationTimestamp: null
      name: www
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi
      storageClassName: csi-localpv
      volumeMode: Filesystem
    status:
      phase: Pending

在这里插入图片描述

访问模式

在这里插入图片描述

制备

在这里插入图片描述

回收

在这里插入图片描述

PersistentVolumeClaim保留

在这里插入图片描述

在这里插入图片描述

Service

在这里插入图片描述

在这里插入图片描述

spec:
  clusterIP: 246.96.132.18
  externalTrafficPolicy: Cluster
  ports:
  - name: 380-80
    nodePort: 30021
    port: 380
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx
  sessionAffinity: None
  type: NodePort

在这里插入图片描述

2、存储

ConfigMaps

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Read-only file system
在这里插入图片描述

Secret

kubectl create secret 【Secret类型】 【Secret名称】
kb create secret
Create a secret using specified subcommand.

Available Commands:
  docker-registry Create a secret for use with a Docker registry
  generic         Create a secret from a local file, directory or literal value
  tls             Create a TLS secret

Usage:
  kubectl create secret [flags] [options]

Use "kubectl <command> --help" for more information about a given command.
Use "kubectl options" for a list of global command-line options (applies to all commands).

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在使用 echo “secret” |base64 命令时,实际得到的结果是 c2VjcmV0Cg== 而不是 c2VjcmV0,这是因为 echo 命令默认会添加一个换行符(\n)。

所以你实际上是在对 “secret\n” (包含一个换行符)进行 base64 编码,而不只是 “secret”。

如果你想避免 echo 命令添加的换行符,你可以使用 -n 选项,如下:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

hostPath

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

rollout restart sts ?

在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值