首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
1. Pod
1.1. Pod介绍
1.1.1. Pod简介
1.1.2. Pod生命周期
1.1.3. Pod状态
1.2. Pod模板
1.2.1. apiversion/kind
1.2.2. metadata
1.2.3. spec
1.2.4. k8s和image中的命令
1.2.5. 就绪性探测和存活性探测
1.3. 案例
1.3.1. 创建简单pod
1.3.2. 带健康检测的pod
2. Deployment
2.1. 介绍
2.1.1. 简介
2.1.2. 部署方式
2.1.3. Deployment升级方案
2.2. 模板
2.3. 案例
2.3.1. 创建deployment
2.3.2. 模拟蓝绿发布
2.3.3. 滚动发布
2.3.4. 模拟灰度(金丝雀)发布
2.3.5. 版本回滚
2.3.6. 常用命令
3. DaemonSet
3.1. DaemonSet介绍
3.2. 模板
3.3. 案例
3.3.1. 创建daemonset
3.3.2. 升级daemonset
4. Job
4.1. Job介绍
4.2. 模板
4.3. 案例
5. CronJob
5.1. cronjob介绍
5.2. 模板
5.3. 案例
6. StatefulSet
6.1. 介绍
6.1.1. Statefulset使用场景
6.1.2. Statefulset注意项
6.2. 模板
6.3. 案例
6.3.1. 创建Statefulset资源
6.3.2. 扩缩容
6.3.3. 滚动更新
6.3.4. 删除Statefulset
6.3.5. 部署有状态应用一般思路
7. 原理分析
8. 调度
8.1. 调度器
8.2. 节点选择器
8.3. 节点亲和性
8.4. Pod亲和性
8.5. 污点和污点容忍度
当前位置:
首页>>
技术小册>>
Kubernets合辑5-Pod控制器
小册名称:Kubernets合辑5-Pod控制器
``` spec containers <[]Object> -required- # 必选参数 name <string> -required- # 指定容器名称,不可更新 image <string> -required- # 指定镜像 imagePullPolicy <string> # 指定镜像拉取方式 # Always: 始终从registory拉取镜像。如果镜像标签为latest,则默认值为Always # Never: 仅使用本地镜像 # IfNotPresent: 本地不存在镜像时才去registory拉取。默认值 env <[]Object> # 指定环境变量 name <string> -required- # 变量名称 value <string> # 变量值 valueFrom <Object> # 从文件中读取,不常用 command <[]string> # 以数组方式指定容器运行指令,替代docker的ENTRYPOINT指令 args <[]string> # 以数组方式指定容器运行参数,替代docker的CMD指令 workingDir <string> # 指定工作目录,不指定则使用镜像默认值 ports <[]Object> # 指定容器暴露的端口 containerPort <integer> -required- # 容器的监听端口 name <string> # 为端口取名,该名称可以在service种被引用 protocol <string> # 指定协议:UDP, TCP, SCTP,默认TCP hostIP <string> # 绑定到宿主机的某个IP hostPort <integer> # 绑定到宿主机的端口 resources <Object> # 资源设置 limits <map[string]string> # 消耗的最大资源限制,通常设置cpu和memory requests <map[string]string> # 最低资源要求,在scheduler中被用到,通常设置cpu和memory volumeMounts <[]Object> # 指定存储卷挂载 name <string> -required- # 存储卷名称 mountPath <string> -required- # 容器内挂载路径 subPath <string> # 存储卷的子目录 readOnly <boolean> # 是否为只读方式挂载 volumeDevices <[]Object> # 配置块设备的挂载 devicePath <string> -required- # 容器内挂载路径 name <string> -required- # pvc名称 readinessProbe <Object> # 就绪性探测,确认就绪后提供服务 initialDelaySeconds <integer> # 容器启动后到开始就绪性探测中间的等待秒数 periodSeconds <integer> # 两次探测的间隔多少秒,默认值为10 successThreshold <integer> # 连续多少次检测成功认为容器正常,默认值为1。不支持修改 failureThreshold <integer> # 连续多少次检测失败认为容器异常,默认值为3 timeoutSeconds <integer> # 探测请求超时时间 exec <Object> # 通过执行特定命令来探测容器健康状态 command <[]string> # 执行命令,返回值为0表示健康,不自持shell模式 tcpSocket <Object> # 检测TCP套接字 host <string> # 指定检测地址,默认pod的IP port <string> -required- # 指定检测端口 httpGet <Object> # 以HTTP请求方式检测 host <string> # 指定检测地址,默认pod的IP httpHeaders <[]Object> # 设置请求头,很少会需要填写 path <string> # 设置请求的location port <string> -required- # 指定检测端口 scheme <string> # 指定协议,默认HTTP livenessProbe <Object> # 存活性探测,确认pod是否具备对外服务的能力,该对象中字段和readinessProbe一致 lifecycle <Object> # 生命周期 postStart <Object> # pod启动后钩子,执行指令或者检测失败则退出容器或者重启容器 exec <Object> # 执行指令,参考readinessProbe.exec httpGet <Object> # 执行HTTP,参考readinessProbe.httpGet tcpSocket <Object> # 检测TCP套接字,参考readinessProbe.tcpSocket preStop <Object> # pod停止前钩子,停止前执行清理工作,该对象中字段和postStart一致 startupProbe <Object> # 容器启动完毕的配置,该配置与readinessProbe一致,在lifecycle和Probe之前运行,失败则重启 securityContext <Object> # 与容器安全相关的配置,如运行用户、特权模式等 initContainers <[]Object> # 初始化容器,执行完毕会退出,用户数据迁移、文件拷贝等 volumes <[]Object> # 存储卷配置,https://www.yuque.com/duduniao/k8s/vgms23#Ptdfs restartPolicy <string> # Pod重启策略,Always, OnFailure,Never,默认Always nodeName <string> # 调度到指定的node节点, 强制要求满足 nodeSelector <map[string]string> # 指定预选的node节点, 强制要求满足 affinity <Object> # 调度亲和性配置 nodeAffinity <Object> # node亲和性配置 preferredDuringSchedulingIgnoredDuringExecution <[]Object> # 首选配置 preference <Object> -required- # 亲和偏好 matchExpressions <[]Object> # 表达式匹配 key <string> -required- # label的key values <[]string> # label的value,当operator为Exists和DoesNotExist时为空 operator <string> -required- # key和value的连接符,In,NotIn,Exists,DoesNotExist,Gt,Lt matchFields <[]Object> # 字段匹配,与matchExpressions一致 weight <integer> -required- # 权重 requiredDuringSchedulingIgnoredDuringExecution <Object> # 强制要求的配置 nodeSelectorTerms <[]Object> -required- # nodeselect配置,与preferredDuringSchedulingIgnoredDuringExecution.preference一致 podAffinity <Object> # pod亲和性配置 preferredDuringSchedulingIgnoredDuringExecution <[]Object> # 首选配置 podAffinityTerm <Object> -required- # 选择器 labelSelector <Object> # pod标签选择器 matchExpressions<[]Object> # 表达式匹配 matchLabels <map[string]string> # 标签匹配 namespaces <[]string> # 对方Pod的namespace,为空时表示与当前Pod同一名称空间 topologyKey <string> -required- # 与对方Pod亲和的Node上具备的label名称 weight <integer> -required- # 权重 requiredDuringSchedulingIgnoredDuringExecution <[]Object> # 强制配置,与requiredDuringSchedulingIgnoredDuringExecution.podAffinityTerm一致 podAntiAffinity <Object> # Pod反亲和性配置,与podAffinity一致 tolerations <[]Object> # 污点容忍配置 key <string> # 污点的Key,为空表示所有污点的Key operator <string> # key和value之间的操作符,Exists,Equal。Exists时value为空,默认值 Equal value <string> # 污点的值 effect <string> # 污点的影响行为,空表示容忍所有的行为 tolerationSeconds <integer> # 当Pod被节点驱逐时,延迟多少秒 hostname <string> # 指定pod主机名 hostIPC <boolean> # 使用宿主机的IPC名称空间,默认false hostNetwork <boolean> # 使用宿主机的网络名称空间,默认false hostPID <boolean> # 使用宿主机的PID名称空间,默认false serviceAccountName <string> # Pod运行时的使用的serviceAccount imagePullSecrets <[]Object> # 当拉取私密仓库镜像时,需要指定的密码密钥信息 name <string> # secrets 对象名 ```
上一篇:
1.2.2. metadata
下一篇:
1.2.4. k8s和image中的命令
该分类下的相关小册推荐:
Kubernets合辑11-持续集成
Kubernetes中文教程(二)
Kubernetes合辑1-安装Kubernetes
Kubernets合辑9-资源约束
Kubernets合辑3-kubernetes介绍
Kubernets合辑4-kubernetes入门
Kubernets合辑2-部署Ingress
Kubernetes中文教程(四)
Kubernets合辑13-集群监控
Kubernets合辑15-持续部署
Kubernets合辑6-服务发现
Kubernets合辑8-权限控制