Kubernetes----资源清单定义Deployment.yaml

Deployment.yaml(kubectl explain deploy)

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: [string]string> 
      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: [string]string> #最小资源配置
            memory: "1024Mi"
            cpu: "500m" #500m代表0.5CPU
          limits: [string]string> #最大资源配置
            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: [string]string>
      imagePullSecrets: <[]Object>
      hostname: >
      hostPID: >
status: >

你可能感兴趣的:(Kubernetes)