Kubernetes(k8s)的yaml文件中的Pod部分格式模版
Kubernetes;k8s;Pod;yaml
·
# Pod template yaml
# 使用CTRL+F搜索所需要的Pod模块标题,以快速查找
# ----------------------------------- 新建命名空间 ---------------------------------
--- # 如果需要将多段yaml配置放在一个文件中,中间要使用---分隔
apiVersion: v1 # 接口版本
kind: Namespace # 接口类型
metadata: # 元数据
name: string # 新建的命名空间名称
# ------------------------------------ Pod.yaml部分 -------------------------------
---
apiVersion: v1
kind: Pod
# --------------------------------- 元数据(metadata) -----------------------------
metadata:
name: string # Pod名称
namespace: string # 使用的命名空间
labels: # 标签
app: string # 自定义标签名字
# --------------------------------- 详细定义(spec) --------------------------------
spec: # 详细定义
restartPolicy: string # Pod的恢复策略
# 1. Always: 在任何情况下,只要容器不在运行状态,就自动重启容器;
# 2. OnFailure: 只在容器 异常时才自动重启容器;
# 3. Never: 从来不重启容器。
# ---------------------------------- shareProcessNamespace ------------------------
shareProcessNamespace: true # 共享进程名称空间,表示这个Pod里的容器要共享进程(PID Namespace)如果是false则为不共享。
# ------------------------------------ hostNetwork -------------------------------
hostNetwork: true # 共享宿主机网络
# ------------------------------------ hostIPC ------------------------------------
hostIPC: true # 共享ipc通信
# ------------------------------------ hostPID ------------------------------------
hostPID: true # 共享宿主机的pid
# ----------------------------- Pod中容器的列表(containers) ------------------------
containers: # Pod中容器的列表
- name: string # 容器名称
# ------------------------------- 容器镜像(image) ---------------------------------
image: string # 容器镜像
# ------------------------------- 标准输入(stdin) ---------------------------------
stdin: true # 给容器分配标准输入,类似docker run -i
# ------------------------------- 分配终端(tty) -----------------------------------
tty: true # 分配终端
# ---------------------------------- 端口(ports) ----------------------------------
ports: # 需要暴露的端口库号列表
- name: string # 端口号名称
containerPort: int # 容器需要监听的端口号
hostPort: int # 容器所在主机需要监听的端口号,默认与Container相同
protocol: string # 端口协议,支持TCP和UDP,默认TCP
# ----------------------------------- 环境变量(env) -------------------------------
env: # 容器运行前需设置的环境变量列表
- name: string # 环境变量名称
value: string # 环境变量的值
# ---------------------------------- 命令(command) --------------------------------
command: #容器的启动命令列表,如不指定,使用打包时使用的启动命令
- "string"
- "string"
- "string"
# command: ["string","string","string"]
# --------------------------- 拉取镜像的策略(imagePullPolicy) ---------------------
# 获取镜像的策略:Alawys表示总是下载镜像,IfnotPresent表示优先使用本地镜像,否则下载镜像,Nerver表示仅使用本地镜像
# [Always | Never | IfNotPresent]
imagePullPolicy: IfNotPresent
# ---------------------------- 资源的请求和限制(resource) -------------------------
resources: # 资源限制和请求的设置
limits: # 资源限制的设置
cpu: string # Cpu的限制,单位为core数,将用于docker run --cpu-shares参数
memory: string # 内存限制,单位可以为Mib/Gib,将用于docker run --memory参数
requests: # 资源请求的设置
cpu: string # Cpu请求,容器启动的初始可用数量
memory: string # 内存清楚,容器启动的初始可用数量
# ------------------------------ 节点选择器(nodeSelector) -------------------------
nodeSelector: # 节点选择器:可以指定node的标签,查看标签指令
nodeName: string # 节点名称: 可以指定node的名称进行调度
# ----------------------------- 本地域名解析(hostAliases) -------------------------
hostAliases: # 在容器中的/etc/hosts文件中配置本地解析
- ip: "string"
hostnames:
- "string"
- "string"
- "string"
# ----------------------------- 容器的启动命令参数(args) --------------------------
args: string # 容器的启动命令参数列表
- string
- string
- string
# ------------------------------ 钩子函数(lifecycle) -----------------------------
lifecycle: # 钩子函数
postStart: # 容器创建之后执行,如果失败会重启容器
exec:
command: ["string", "string", "string"]
preStop: # 容器删除之前执行,执行完成之后容器将成功删除,在其完成之前会阻塞删除容器的操作
exec:
command: ["string", "string", "string"]
# ------------------------------ 健康检查探针(livenessProbe) ---------------------
# 对Pod内个容器健康检查的设置,当探测无响应几次后将自动重启该容器,检查方法有exec、httpGet和tcpSocket,对一个容器只需设置其中一种方法即可
livenessProbe: # 对Pod内个容器健康检查的设置,当探测无响应几次后将自动重启该容器,检查方法有exec、httpGet和tcpSocket,对一个容器只需设置其中一种方法即可
exec: # 对Pod容器内检查方式设置为exec方式
command: # exec方式需要制定的命令或脚本
- string
- string
- string
httpGet: #对Pod内个容器健康检查方法设置为HttpGet,需要制定Path、port
path: string
port: int
host: string
scheme: string
initialDelaySeconds: int # 容器启动完成后首次探测的时间,单位为秒
timeoutSeconds: int # 对容器健康检查探测等待响应的超时时间,单位秒,默认1秒
periodSeconds: int # 对容器监控检查的定期探测时间设置,单位秒,默认10秒一次
# ------------------------------ 容器的工作目录(workingDir) -----------------------
workingDir: string # 容器的工作目录
# ------------------------- 挂载到容器内部的存储卷配置(volumeMounts) ----------------
volumeMounts: # 挂载到容器内部的存储卷配置
- name: string # 引用pod定义的共享存储卷的名称,需用volumes[]部分定义的的卷名
mountPath: string # 存储卷在容器内mount的绝对路径,应少于512字符
readOnly: boolean # 是否为只读模式
更多推荐
已为社区贡献1条内容
所有评论(0)