容器相关
非root用户Docker与K8S
Containerd安装
Containerd常用命令
Docker
镜像创建
国内镜像仓库
容器创建(Dockerfile)
容器系统
docker配置
docker数据管理
docker网络管理
docker容器自启动
docker镜像加速
docker问题
搭建Portainer可视化界面
Docker Swarm
Swarm搭建Docker集群
Docker Compose
Docker Compose命令
Docker Compose模板
Docker Machine
Kubernetes常用命令
k8s部署(kubeadmin)
k8s高可用部署
MiniKube
k8s1.24部署(containerd)
k8s1.24部署(docker)
部署 Dashboard
Kuboard K8S管理台
k8s权限管理
k8s网络插件
私有仓密码镜像拉取
k8s集群管理
POD--基本单位
Pod模板
Pod生命周期
Pod健康检查
初始化容器(initContainer)
Deployment--Pod的管理
Deployment模板
Deployment升级与回滚
DaemonSet控制器
StatefulSet控制器(有状态)
JOB与CRONJOB
Service--发布服务
ingress-traefix
ingress-nginx
MetalLB
存储与配置
持久存储卷
配置存储卷
资源管理
标签、选择器与注解
资源预留
调度管理
自动扩容
Proxy API与API Server
Helm--K8S的包管理器
helm常用命令
自定义Chart
私有chart仓库
helm dashboard
K8S证书过期
K8S问题解决
Harbor安装
Harbor操作
Harbor问题
Harbor升级
Docker Registry安装
Docker Registry鉴权
Registry用Nginx代理SSL及鉴权
Docker Registry问题
Istio 服务网络
常用示例
Gateway【服务网关】
kiali 可视化页面
开启HTTPS
linkerd 服务网络
本文档使用MrDoc发布
返回首页
-
+
Pod模板
2021年3月22日 14:03
admin
##查看Pod模板所支持的字段说明 kubectl explain pod #所有字段 kubectl explain pod.spec #查看spec字段 ![](/media//202103/2021-03-22140831242927.png) --- ##Pod模板参数说明: apiVersion: v1 # 【必须】版本号 kind: Pod # 【必选】Pod metadata: # 【必选-Object】元数据 name: String # 【必选】 Pod的名称 namespace: String # 【必选】 Pod所属的命名空间 labels: # 【List】 自定义标签列表 - name: String annotations: # 【List】 自定义注解列表 - name: String spec: # 【必选-Object】 Pod中容器的详细定义 #======================================================================================== #容器信息 containers: # 【必选-List】 Pod中容器的详细定义 - name: String # 【必选】 容器的名称 image: String # 【必选】 容器的镜像名称 imagePullPolicy: [Always | Never | IfNotPresent] # 【String】 每次都尝试重新拉取镜像 | 仅使用本地镜像 | 如果本地有镜像则使用,没有则拉取 command: [String] # 【List】 容器的启动命令列表,如果不指定,则使用镜像打包时使用的启动命令 args: [String] # 【List】 容器的启动命令参数列表 workingDir: String # 容器的工作目录 #----------------------------------------------------------- #周期事件:postStart、preStop liofecycle: postStart: httpGet: host:www.baidu.com path:/ port:80 scheme:HTTP preStop: exec: command:['sh','-c','echo "hello";sleep 60'] #----------------------------------------------------------- #存储信息 volumeMounts: # 【List】 挂载到容器内部的存储卷配置 - name: String # 引用Pod定义的共享存储卷的名称,需使用volumes[]部分定义的共享存储卷名称 mountPath: Sting # 存储卷在容器内mount的绝对路径,应少于512个字符 readOnly: Boolean # 是否为只读模式,默认为读写模式 #----------------------------------------------------------- #端口信息 ports: # 【List】 容器需要暴露的端口号列表 - name: String # 端口的名称 containerPort: 8080 # 容器需要监听的端口号 hostPort: 18080 # 容器所在主机需要监听的端口号,默认与containerPort相同。设置hostPort时,同一台宿主机将无法启动该容器的第二份副本 protocol: TCP # 端口协议,支持TCP和UDP,默认值为TCP #----------------------------------------------------------- #容器环境参数 env: # 【List】 容器运行前需设置的环境变量列表 - name: String # 环境变量的名称 value: String # 环境变量的值 #----------------------------------------------------------- #容器资源限制 resources: # 【Object】 资源限制和资源请求的设置 limits: # 【Object】 资源限制的设置 cpu: String # CPU限制,单位为core数,将用于docker run --cpu-shares参数 memory: String # 内存限制,单位可以为MB,GB等,将用于docker run --memory参数 requests: # 【Object】 资源限制的设置 cpu: String # cpu请求,单位为core数,容器启动的初始可用数量 memory: String # 内存请求,单位可以为MB,GB等,容器启动的初始可用数量 #----------------------------------------------------------- #健康检查 livenessProbe: # 【Object】 对Pod内各容器健康检查的设置,当探测无响应几次之后,系统将自动重启该容器。可以设置的方法包括:exec、httpGet和tcpSocket。对一个容器只需要设置一种健康检查的方法 exec: # 【Object】 对Pod内各容器健康检查的设置,exec方式 command: [String] # exec方式需要指定的命令或者脚本 httpGet: # 【Object】 对Pod内各容器健康检查的设置,HTTGet方式。需要指定path、port path: String port: Number host: String scheme: String httpHeaders: - name: String value: String tcpSocket: # 【Object】 对Pod内各容器健康检查的设置,tcpSocket方式 port: Number initialDelaySeconds: Number # 容器启动完成后首次探测的时间,单位为s timeoutSeconds: Number # 对容器健康检查的探测等待响应的超时时间设置,单位为s,默认值为1s。若超过该超时时间设置,则将认为该容器不健康,会重启该容器。 periodSeconds: Number # 对容器健康检查的定期探测时间设置,单位为s,默认10s探测一次 successThreshold: 0 failureThreshold: 0 securityContext: privileged: Boolean #======================================================================================== restartPolicy: [Always | Never | OnFailure] # Pod的重启策略 一旦终止运行,都将重启 | 终止后kubelet将报告给master,不会重启 | 只有Pod以非零退出码终止时,kubelet才会重启该容器。如果容器正常终止(退出码为0),则不会重启。 #======================================================================================== nodeSelector: object # 设置Node的Label,以key:value格式指定,Pod将被调度到具有这些Label的Node上 #======================================================================================== imagePullSecrets: # 【Object】 pull镜像时使用的Secret名称,以name:secretkey格式指定 - name: String #======================================================================================== hostNetwork: Boolean # 是否使用主机网络模式,默认值为false。设置为true表示容器使用宿主机网络,不再使用docker网桥,该Pod将无法在同一台宿主机上启动第二个副本 #======================================================================================== volumes: # 【List】 在该Pod上定义的共享存储卷列表 - name: String # 共享存储卷的名称,volume的类型有很多emptyDir,hostPath,secret,nfs,glusterfs,cephfs,configMap emptyDir: {} # 【Object】 类型为emptyDir的存储卷,表示与Pod同生命周期的一个临时目录,其值为一个空对象:emptyDir: {} hostPath: # 【Object】 类型为hostPath的存储卷,表示挂载Pod所在宿主机的目录 path: String # Pod所在主机的目录,将被用于容器中mount的目录 secret: # 【Object】类型为secret的存储卷,表示挂载集群预定义的secret对象到容器内部 secretName: String items: - key: String path: String configMap: # 【Object】 类型为configMap的存储卷,表示挂载集群预定义的configMap对象到容器内部 name: String items: - key: String path: String
分享到: