美文网首页
Deployment

Deployment

作者: CokeCode | 来源:发表于2021-03-10 22:51 被阅读0次

    Deployment典型的使用场景如下:

    1. 使用Deployment创建对应的Pod副本
    2. 检查Deployment的状态判断部署是否完整,Pod数量是否达到预期
    3. 更新Deployment以创建新的Pod
    4. 如果当前的Deployment不稳定,回滚到一个之前的revision
    5. 扩容Deployment以应对高负载
    6. 指定容器的环境变量或启动命令
    apiVersion: apps/v1
    kind: Deployment
    metadata: 
      namespace: string # Deployment所在的命名空间
      name: string # Deployment的名称
      labels: # Deployment的标签
        string
    spec: # 描述该Deployment
      replicas: int # Pod副本个数
      selector: # Label Selector配置,管理具有以下标签的Pod
        matchLabels: 
          string: string
      template: # Pod模板
        metadata:
          labels: # Pod的标签
            string
        spec: 
          containers: # Pod中的容器
          - name: string # 容器名
            image: string # 容器镜像名
            imagePullPolicy: [Always | Never | IfNotPresent ]
            command: string # 容器的启动命令,如果不指定,则使用镜像打包时的启动命令
            args: string # 容器启动命令参数列表
            ports: # 容器要暴露的端口清单
            - name: string # 容器端口名
              containerPort: int # 容器要监听的端口号
              protocol: string # 端口协议,支持TCP(默认)、UDP
            resources: # 容器的资源配置
              limits: # 资源上限配置
                cpu: string
                memory: string
              requests: # 资源请求配置
                cpu: string
                memory: string
            env: # 环境变量清单
            - name: string # 环境变量的名
              value: string # 环境变量的值
            livenessProbe: # 存活探针配置,如果监测失败,将kill该容器,exec, httpGet, tcpSocket三者指定其一即可
              exec: 
                command: string # exec模式要执行的命令
              httpGet:
                port: 
                path: 
              tcpSocket:
                port: int
            readinessProbe: # 就绪探针配置,exec, httpGet, tcpSocket三者指定其一即可
              exec: 
                command: string
              httpGet:
                port: 
                path: 
              tcpSocket:
                port: int
              initialDelaySeconds: int # 启动后
              timeoutSeconds: int
              periodSeconds: int
              successThreshold: int
              failureThreshold: int
            volumeMounts:
            - name: string # 引用的存储卷的名称,需引用spec.template.spec.volumes[].name定义的存储卷
              mountPath: string # 存储卷在容器内部挂载的绝对路径
              readOnly: boolean # 存储卷是否为只读模式
          restartPolicy: Always # 重启策略,默认Always
          imagePullSecrets:
            - name: string
          nodeSelector: # 调度到具有这些label的节点上
            string: string
          hostNetwork: boolean # 是否启用宿主机网络模式,默认false, 启用时同一宿主机无法启动容器的第二个副本
          volumes: # 定义共享存储卷
          - name: string # 存储卷的名称
            emptyDir: {} # emptyDir类型的共享存储卷
            hostPath: # hostPath类型的共享存储卷,挂载宿主机中的指定目录
              path: string # hostPath模式下,要挂载的宿主机目录
            configMap: # configMap类型的存储卷,挂载configMap到容器内
              name: string
              items:
              - key: string
                path: string
    

    相关文章

      网友评论

          本文标题:Deployment

          本文链接:https://www.haomeiwen.com/subject/klwbqltx.html