020.掌握Pod-Pod基础使用
目录
一 Pod定义详解
1.1 完整Pod定义文件
1 apiVersion: v1 #必选,版本号,例如v1,版本号必须可以用 kubectl api-versions 查询到 2 kind: Pod #必选,Pod 3 metadata: #必选,元数据 4 name: string #必选,Pod名称,需符合RFC 1035规范 5 namespace: string #必选,Pod所属的命名空间,默认为"default" 6 labels: #自定义标签 7 - name: string #自定义标签名字 8 annotations: #自定义注释列表 9 - name: string 10 spec: #必选,Pod中容器的详细定义 11 containers: #必选,Pod中容器列表 12 - name: string #必选,容器名称,需符合RFC 1035规范 13 image: string #必选,容器的镜像名称 14 imagePullPolicy: [ Always|Never|IfNotPresent ] #获取镜像的策略,Alawys表示每次都尝试下载镜像,IfnotPresent表示优先使用本地镜像,否则下载镜像,Nerver表示仅使用本地镜像 15 command: [string] #容器的启动命令列表,如不指定,使用打包时使用的启动命令 16 args: [string] #容器的启动命令参数列表 17 workingDir: string #容器的工作目录 18 volumeMounts: #挂载到容器内部的存储卷配置 19 - name: string #引用pod定义的共享存储卷的名称,需用volumes[]部分定义的的卷名 20 mountPath: string #存储卷在容器内mount的绝对路径,应少于512字符 21 readOnly: boolean #是否为只读模式,默认为读写模式 22 ports: #需要暴露的端口库号列表 23 - name: string #端口的名称 24 containerPort: int #容器需要监听的端口号 25 hostPort: int #容器所在主机需要监听的端口号,默认与Container相同 26 protocol: string #端口协议,支持TCP和UDP,默认TCP 27 env: #容器运行前需设置的环境变量列表 28 - name: string #环境变量名称 29 value: string #环境变量的值 30 resources: #资源限制和请求的设置 31 limits: #资源限制的设置 32 cpu: string #CPU的限制,单位为core数,将用于docker run --cpu-shares参数 33 memory: string #内存限制,单位可以为Mib/Gib,将用于docker run --memory参数 34 requests: #资源请求的设置 35 cpu: string #CPU请求,容器启动的初始可用数量 36 memory: string #内存请求,容器启动的初始可用数量 37 livenessProbe: #对Pod内各容器健康检查的设置,当探测无响应几次后将自动重启该容器,检查方法有exec、httpGet和tcpSocket,对一个容器只需设置其中一种方法即可 38 exec: #对Pod容器内检查方式设置为exec方式 39 command: [string] #exec方式需要制定的命令或脚本 40