Pod yaml文件详解

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

猜你喜欢

转载自blog.51cto.com/14268033/2405950
pod