网站导航网站开发,柳州网站建设数公式大全,wordpress七牛云图床,专利交易网站建设ppt文章目录 创建一个podpod的启动命令和参数更改pod 镜像拉取策略 pod 的三种探针pod 探针的实现方式prestop 和 prestart 创建一个pod
apiVersion: v1 # 必选#xff0c;API 的版本号
kind: Pod # 必选#xff0c;类型 Pod
metadata: # 必选#xff0c;元数据name: nginx # … 文章目录 创建一个podpod的启动命令和参数更改pod 镜像拉取策略 pod 的三种探针pod 探针的实现方式prestop 和 prestart 创建一个pod
apiVersion: v1 # 必选API 的版本号
kind: Pod # 必选类型 Pod
metadata: # 必选元数据name: nginx # 必选符合 RFC 1035 规范的 Pod 名称
spec: # 必选用于定义 Pod 的详细信息containers: # 必选容器列表- name: nginx # 必选符合 RFC 1035 规范的容器名称image: nginx:1.15.12 # 必选容器所用的镜像的地址ports: # 可选容器需要暴露的端口号列表- containerPort: 80 # 端口号 一般使用yaml 文件进行创建比较好 命令的方式实验用而已
pod的启动命令和参数更改
apiVersion: v1 # 必选API 的版本号
kind: Pod # 必选类型 Pod
metadata: # 必选元数据name: nginx # 必选符合 RFC 1035 规范的 Pod 名称
spec: # 必选用于定义 Pod 的详细信息containers: # 必选容器列表- name: nginx # 必选符合 RFC 1035 规范的容器名称image: nginx:1.15.12 # 必选容器所用的镜像的地址command: # 可选容器启动执行的命令- sleep- 10ports: # 可选容器需要暴露的端口号列表- containerPort: 80 # 端口号# 新增command 部分到yaml 文件中pod 镜像拉取策略
always 总是拉取 当镜像tag 为 latest 时 且 imagepullpollicy 没有配置 默认为 always
never 不管是否存在都会拉取
ifNotPresent ,镜像不存在时拉取镜像如果tag 为非latest ,且 imagepolicy 未配置默认为 ifNotPresent 镜像拉取策略 驾到 command 同级别里imagePullPolicy: IfNotPresent # 可选镜像拉取策略pod 的三种探针
种类 说明
startupProbe Kubernetes1.16 新加的探测方式用于判断容器内的应用程序是否已经启动。如果
配置了 startupProbe就会先禁用其他探测直到它成功为止。如果探测失败Kubelet
会杀死容器之后根据重启策略进行处理如果探测成功或没有配置 startupProbe
则状态为成功之后就不再探测。
livenessProbe 用于探测容器是否在运行如果探测失败kubelet 会“杀死”容器并根据重启策略
进行相应的处理。如果未指定该探针将默认为 Success
readinessProbe 一般用于探测容器内的程序是否健康即判断容器是否为就绪Ready状态。如
果是则可以处理请求反之 Endpoints Controller 将从所有的 Service 的 Endpoints
中删除此容器所在 Pod 的 IP 地址。如果未指定将默认为 Successpod 探针的实现方式
实现方式 说明
ExecAction 在容器内执行一个指定的命令如果命令返回值为 0则认为容器健康
TCPSocketAction 通过 TCP 连接检查容器指定的端口如果端口开放则认为容器健康
HTTPGetAction 对指定的 URL 进行 Get 请求如果状态码在 200~400 之间则认为容器健康没有探针的pod
apiVersion: v1 # 必选API 的版本号这里使用的是 v1 版本
kind: Pod # 必选资源对象的类型这里是 Pod
metadata: # 必选资源对象的元数据name: nginx # 必选资源对象的名称这里是 nginx
spec: # 必选资源对象的详细规格说明containers: # 必选Pod 中运行的容器列表- name: nginx # 必选容器的名称这里是 nginximage: nginx:1.15.12 # 必选容器所用的镜像这里是 nginx:1.15.12imagePullPolicy: IfNotPresent # 镜像拉取策略这里是 IfNotPresent表示如果本地有镜像就使用本地镜像否则从远程仓库拉取command: # 可选容器启动时执行的命令- sh- -c- sleep 10; nginx -g daemon off; # 这里是先暂停10秒然后运行 nginx 服务器ports: # 可选容器需要暴露的端口列表- containerPort: 8088 # 容器暴露的端口号这里是 80restartPolicy: Never # Pod 的重启策略这里是 Never表示容器退出时不自动重启
配置健康检查,如果是一个java程序启动时间很慢则要用startupProbe 探针来减少故障恢复时间
apiVersion: v1 # 必选API 的版本号这里使用的是 v1 版本
kind: Pod # 必选资源对象的类型这里是 Pod
metadata: # 必选资源对象的元数据name: nginx # 必选资源对象的名称这里是 nginx
spec: # 必选资源对象的详细规格说明containers: # 必选Pod 中运行的容器列表- name: nginx # 必选容器的名称这里是 nginximage: nginx:1.15.12 # 必选容器所用的镜像这里是 nginx:1.15.12imagePullPolicy: IfNotPresent # 镜像拉取策略这里是 IfNotPresent表示如果本地有镜像就使用本地镜像否则从远程仓库拉取command: # 可选容器启动时执行的命令- sh- -c- sleep 10; nginx -g daemon off; # 这里是先暂停10秒然后运行 nginx 服务器readinessProbe: # 可选用于检查容器是否已经准备好提供服务httpGet: # 使用 HTTP GET 请求进行检查path: /index.html # 请求的路径port: 80 # 请求的端口号scheme: HTTP # 请求的协议HTTP 或 HTTPSinitialDelaySeconds: 10 # 容器启动后首次进行检查的延迟时间秒timeoutSeconds: 2 # 检查超时时间秒periodSeconds: 5 # 检查的间隔时间秒successThreshold: 1 # 表示检查成功的最小连续成功次数failureThreshold: 2 # 表示检查失败的最小连续失败次数livenessProbe: # 可选用于检查容器是否还在运行tcpSocket: # 使用 TCP Socket 进行检查port: 80 # 检查的端口号initialDelaySeconds: 10 # 容器启动后首次进行检查的延迟时间秒timeoutSeconds: 2 # 检查超时时间秒periodSeconds: 5 # 检查的间隔时间秒successThreshold: 1 # 表示检查成功的最小连续成功次数failureThreshold: 2 # 表示检查失败的最小连续失败次数ports: # 可选容器需要暴露的端口列表- containerPort: 80 # 容器暴露的端口号这里是 80restartPolicy: Never # Pod 的重启策略这里是 Never表示容器退出时不自动重启prestop 和 prestart
apiVersion: v1 # 必选API 的版本号这里使用的是 v1 版本
kind: Pod # 必选资源对象的类型这里是 Pod
metadata: # 必选资源对象的元数据name: nginx # 必选资源对象的名称这里是 nginx
spec: # 必选资源对象的详细规格说明containers: # 必选Pod 中运行的容器列表- name: nginx # 必选容器的名称这里是 nginximage: nginx:1.15.12 # 必选容器所用的镜像这里是 nginx:1.15.12imagePullPolicy: IfNotPresent # 镜像拉取策略这里是 IfNotPresent表示如果本地有镜像就使用本地镜像否则从远程仓库拉取lifecycle: # 定义容器的生命周期钩子postStart: # 容器创建后要执行的操作exec: # 使用 exec 执行 shell 命令command: # 定义要执行的命令- sh- -c- mkdir /data/ # 这里的命令是创建一个名为 /data/ 的目录preStop: # 容器停止前要执行的操作exec: # 使用 exec 执行 shell 命令command: # 定义要执行的命令- sh- -c- sleep 10 # 这里的命令是暂停10秒ports: # 可选容器需要暴露的端口列表- containerPort: 80 # 容器暴露的端口号这里是 80restartPolicy: Never # Pod 的重启策略这里是 Never表示容器退出时不自动重启 参考资料 宽哥