Torres-tao  

Pod资源清单解读

#版本号
apiVersion: v1
#资源类型
kind: Pod
#元数据
metadata:
  #Pod名字
  name: string
  #pod所属命名空间
  namespace: string
  #自定义标签
  labels:
    #自定义标签名字
    - name: string
  #自定义注释列表
  annotations:
    - name: string
#pod中容器的详细定义
spec:
  #pod中容器列表
  containers:
    #容器名称
    - name: string
      #容器镜像名称
      image: string
      #获取镜像的策略(Always表示下载镜像,IfNotPresent表示优先使用本地镜像,Never表示仅使用本地镜像)
      imagePullPolicy: Always|Never|IfNotPresent
      #容器的启动命令列表,如不指定,使用打包时使用的启动命令
      command: [string]
      #容器的启动命令参数列表
      args: [string]
      #容器的工作目录
      workingDir: string
      #挂载到容器内的存储卷位置
      volumeMounts:
        #引用pod定义的共享存储卷的名称,需用volumes[]部分定义的卷名
        - name: string
          #存储卷在容器内mount的绝对路径,应小于512字符
          mountPath: string
          #是否为只读模式
          readOnly: boolean
      #需要暴露的端口号
      ports:
        #端口号名称
        - name: string
          #容器需要监听的端口号
          containerPort: int
          #容器所在主机需要监听的端口号,默认与Container相同
          hostPort: int
          #端口协议,支持TCP/UDP,默认是TCP
          protocol: string
      #容器运行前需设置需设置的环境变量列表
      env:
        #环境变量名称
        - name: string
          #环境变量的值
          value: string
      #资源限制和请求的设置
      resources:
        #资源限制的设置
        limits:
          #cpu限制,单位为core数
          cpu: string
          #内存限制,单位为Mib/Gib
          memory: string
        #资源请求的设置
        requests:
          #cpu请求,容器启动的初始可用数量
          cpu: string
          #内存请求,容器启动的初始可用内存
          memory: string
      #对Pod内容器健康检查的设置,当探测无响应几次后将自动重启该容器,检查方式有exec、httpGet和tcpSocket,对一个容器只需设置其中一种方式即可
      livenessProbe:
        #容器健康检查方式设置为exec方式
        exec:
          #exec方式需指定的命令或脚本
          command: [string]
        #容器健康检查方式设置为HttpGet,需要指定Path、port
        httpGet:
          path: string
          port: number
          host: string
          scheme: string
          HttpHeaders:
            - name: string
              value: string
        #容器健康检查方式为tcpSocket
        tcpSocket:
          port: number
        #容器启动完成后首次探测的时间,单位为秒
        initialDelaySeconds: 0
        #对容器健康检查方式探测等待响应的超时时间,默认为1秒
        timeoutSeconds: 0
        #对容器健康检查的定期探测时间设置,默认10秒一次
        periodSeconds: 0
        successThreshold: 0
        failureThreshold: 0
        securityContext:
          privileged: false
      #Pod重启策略,Always表示一旦不管以何种方式终止运行,kubelet都将重启pod,OnFailure表示只有Pod以非0状态码退出才重启,Never表示不再重启该pod。
      restartPolicy: Always|Never|OnFailure
      #设置nodeSelector表示该pod调度到包含这个label的node,以key:value的格式指定
      nodeSelector: object
      #pull镜像时使用的serect名称,以key:secretkey格式指定
      imagePullSecrets:
        - name: string
      #是否使用主机网络模式,默认为false,如果设置为true,表示使用宿主机网络
      hostNetwork: false
      #在该pod上定义共享存储卷
      volume:
        #共享存储卷名称
        - name: string
          #如果 Pod 设置了 emptyDir 类型 Volume, Pod 被分配到 Node 上时候,会创建 emptyDir,只要 Pod 运行在 Node 上,
          #emptyDir 都会存在(容器挂掉不会导致 emptyDir 丢失数据),但是如果 Pod 从 Node 上被删除(Pod 被删除,或者 Pod 发生迁移),
          #emptyDir 也会被删除,并且永久丢失。
          emptyDir: {}
          #hostPath 允许挂载 Node 上的文件系统到 Pod 里面去。如果 Pod 需要使用 Node 上的文件,可以使用 hostPath
          hostPath:
            #pod所在宿主机的目录,将被用于挂载到容器中
            path: string
          #挂载集群与定义的secret对象到容器内部
          secret:
            secretname: string
            items:
              - key: string
                path: string
          #挂载预定义的configmap对象到容器内部
          configMap:
            name: string
            items:
              - key: string
                path: string

posted on 2022-04-22 16:22  雷子锅  阅读(61)  评论(0编辑  收藏  举报