k8s资源清单与存活检测和就绪检测

在这里插入图片描述

k8s中的资源

集群资源分类

  • 名称空间级别
    使用ku’beadm安装的时候 所有系统组件安装放在kube-system命名空间下运行
    例如使用kubectl get pod 的情况时默认是kubectl get pod -n default
  • 集群级别
  • 元数据型
    在这里插入图片描述
    在这里插入图片描述

资源清单

YAML

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

常用字段解释说明

使用命令kubectl explain pod 即可查看pod参数项所有说明
如果想细看pod某个参数描述信息kubectl explain pod.apiversion

创建pod yaml文件必须存在的字段

在这里插入图片描述

创建pod主要对象

在这里插入图片描述在这里插入图片描述

创建pod额外的参数项

在这里插入图片描述

pod demo

编辑pod yaml文件
在这里插入图片描述
kubectl appply -f pod.yaml通过yaml创建pod
查看pod启动失败原因
kubectl describe pod pod名称 查看对应pod中的信息
在这里插入图片描述
查看名称为app的容器是正常启动的

在这里插入图片描述
查看test容器是启动报错的
在这里插入图片描述
使用kubectl log pod pod名称 -c 容器名称查看pod中对应容器的日志显示80端口被占用
在这里插入图片描述
使用kubectl delete pod pod名删除pod
在这里插入图片描述
将pod中test容器的yaml删除重新启动即可看pod中容器启动成功

在这里插入图片描述

容器生命周期

创建pod后会先执行一个pause容器再执行初始化容器initc 最后才执行C容器,
在这里插入图片描述
在这里插入图片描述

  • readiness:就绪检测 ,通过tcp连接,命令,http协议状态等判断服务是否可以,如果就绪检测服务可用,则将pod设置为running状态
  • liveness:生存检测,当通过某个机制容器内部无法对外正常提供服务的时候,将pod重启或者重建pod等操作

init容器解释:

在这里插入图片描述
在这里插入图片描述

init C 容器创建demo:

在这里插入图片描述
创建对应pod
在这里插入图片描述
查看pod在这里插入图片描述
查看pod中的容器
在这里插入图片描述
查看到 init-myservice init c 容器 一直无法解析,所以一直循环无法创建pod成功
在这里插入图片描述
创建一个新的svc
在这里插入图片描述
创建完svc后,使用kubectl get pod继续查看前面创建的pod,即可查看到init的容器已经启动一个
在这里插入图片描述
查看svc,因为启动svc后,pod创建会先请求k8s中的2个dns,svc启动会将svc的名称注册进2个k8s自带的dns中,pod请求的时候通过k8s中的dns即可解析nslookup的域名请求到对应的svc上面.
在这里插入图片描述

在这里插入图片描述
同理创建名称为mydb的svc
在这里插入图片描述
再次查看pod状态为running
在这里插入图片描述
init c 容器的特殊说明
在这里插入图片描述
在这里插入图片描述

容器探针

在这里插入图片描述
readinessProbe和livenessProbe
在这里插入图片描述

就绪检测

在这里插入图片描述
查看pod状态,虽然pod是running状态,但是pod未ready
在这里插入图片描述
查看容器日志,readnessProbe失败
在这里插入图片描述
使用kubectl exec pod名称 -it -- /bin/sh 进入对应pod容器中,如果有pod中有多个容器需要加参数-c 容器名称,创建index.html 并且推出
在这里插入图片描述
再次查看pod status为running,ready
在这里插入图片描述

存活检测

命令检测

在这里插入图片描述
创建完livenessProbe 存活检测后使用命令
kubectl get pod pod名称 -w 监控查看pod变化
在这里插入图片描述
可以看到该pod restarts 重启次数增加,因为容器启动后,创建/tmp/live目录后进程睡眠60s,存活检测成功,睡眠后删除目录,存活检测失败会停掉pod,然后pod自动重启再次重新创建/tmp/live目录重新拉起pod

http检测

在这里插入图片描述
创建后pod是running状态
在这里插入图片描述
并且直接访问容器里面的index.html可以访问到
在这里插入图片描述
进入容器中将/index.hmtl文件删除掉
在这里插入图片描述
查看到对应pod已经重启一次
在这里插入图片描述

tcp检测

在这里插入图片描述
创建pod,查看存活检测不满足,所以重启pod
在这里插入图片描述

注意:就绪检测可以是把pod改为ready状态,存活检测是不满足就停掉pod

启动退出

在这里插入图片描述

pod可能存在的值

在这里插入图片描述

おすすめ

転載: blog.csdn.net/Persistence___/article/details/117048369