k8s-deployment.yaml文件定义

deployment.yaml部署文件

apiVersion: extensions/v1beta1
kind: Deployment
metadata: 
spec: 
  minReadySeconds:  #设置pod准备就绪的最小秒数
  paused:  #表示部署已暂停并且deploy控制器不会处理该部署
  progressDeadlineSeconds: 
  strategy:  #将现有pod替换为新pod的部署策略
    rollingUpdate:  #滚动更新配置参数,仅当类型为RollingUpdate
      maxSurge:  #滚动更新过程产生的最大pod数量,可以是个数,也可以是百分比
      maxUnavailable:  #
    type:  #部署类型,Recreate,RollingUpdate
  replicas:  #pods的副本数量
  selector:  #pod标签选择器,匹配pod标签,默认使用pods的标签
    matchLabels:  
      key1: value1
      key2: value2
    matchExpressions: <[]Object>
      operator:  -required- #设定标签键与一组值的关系,In, NotIn, Exists and DoesNotExist
      key:  -required-
      values: <[]string>   
  revisionHistoryLimit:  #设置保留的历史版本个数,默认是10
  rollbackTo:  
    revision:  #设置回滚的版本,设置为0则回滚到上一个版本
  template:  -required-
    metadata:
    spec:
      containers: <[]Object> #容器配置
      - name:  -required- #容器名、DNS_LABEL
        image:  #镜像
        imagePullPolicy:  #镜像拉取策略,Always、Never、IfNotPresent
        ports: <[]Object>
        - name: #定义端口名
          containerPort: #容器暴露的端口
          protocol: TCP #或UDP
        volumeMounts: <[]Object>
        - name:  -required- #设置卷名称
          mountPath:  -required- #设置需要挂载容器内的路径
          readOnly:  #设置是否只读
        livenessProbe:  #就绪探测
          exec: 
            command: <[]string>
          httpGet:
            port:  -required-
            path: 
            host: 
            httpHeaders: <[]Object>
              name:  -required-
              value:  -required-
            scheme:  
          initialDelaySeconds:  #设置多少秒后开始探测
          failureThreshold:  #设置连续探测多少次失败后,标记为失败,默认三次
          successThreshold:  #设置失败后探测的最小连续成功次数,默认为1
          timeoutSeconds:  #设置探测超时的秒数,默认1s
          periodSeconds:  #设置执行探测的频率(以秒为单位),默认1s
          tcpSocket:  #TCPSocket指定涉及TCP端口的操作
            port:  -required- #容器暴露的端口
            host:  #默认pod的IP
        readinessProbe:  #同livenessProbe
        resources:  #资源配置
          requests:  #最小资源配置
            memory: "1024Mi"
            cpu: "500m" #500m代表0.5CPU
          limits:  #最大资源配置
            memory:
            cpu:         
      volumes: <[]Object> #数据卷配置
      - name:  -required- #设置卷名称,与volumeMounts名称对应
        hostPath:  #设置挂载宿主机路径
          path:  -required- 
          type:  #类型:DirectoryOrCreate、Directory、FileOrCreate、File、Socket、CharDevice、BlockDevice
      - name: nfs
        nfs:  #设置NFS服务器
          server:  -required- #设置NFS服务器地址
          path:  -required- #设置NFS服务器路径
          readOnly:  #设置是否只读
      - name: configmap
        configMap: 
          name:  #configmap名称
          defaultMode:  #权限设置0~0777,默认0664
          optional:  #指定是否必须定义configmap或其keys
          items: <[]Object>
          - key:  -required-
            path:  -required-
            mode: 
      restartPolicy:  #重启策略,Always、OnFailure、Never
      nodeName: 
      nodeSelector: 
      imagePullSecrets: <[]Object>
      hostname: 
      hostPID: 
status: 

 
  

                            
                        
                    
                    
                    

你可能感兴趣的:(k8s-deployment.yaml文件定义)