网站备案完才能建站吗,wordpress网站如何播放视频播放器,网站建设技术网,电商网站开发简历一、探针的概念 一般时候#xff0c;探针的设置#xff0c;都是为了优化业务时#xff0c;需要做的事情#xff1b;属于后期工作#xff1b;
1#xff0c;探针的分类 1#xff0c;健康状态检查探针#xff1a;livenessProbe 当我们设置了这个探针之后#xff0c;检查…一、探针的概念 一般时候探针的设置都是为了优化业务时需要做的事情属于后期工作
1探针的分类 1健康状态检查探针livenessProbe 当我们设置了这个探针之后检查不通过pod容器就会重启周期性检查服务是否存在 - 检查若失败将“重启容器”本质上就是删除原来的容器重新创建 - 若不设置健康检查探针默认就是成功的检查成功 2可用性检查探针readinessProbe 当我们设置这个探针之后检查不通过pod容器不会重启周期性检查服务是否可用从而判断容器是否准备就绪 - 若检查服务不可用就是检查失败则会将pod从service的endppints列表中移除 - 若检查可用则会将pod重新添加会secvice的endppints列表中 - 若不设置这个探针则默认是检查成功状态 3启动探针startupProbe 从k8s的1.16版本之后才新加的功能1.16版本之前没有这个探针 - 如果设置了这个探针则其他所有探针都会被禁用指导这个探针检查成功为止 - 如果检查失败kubelet会杀死容器而容器依照我们的重启策略进行重启 - 如果没有设置这个探针默认是成功状态 2探针使用的检查方法 1命令检查exec 就是执行一段命令根据返回的结果判断是否成功返回0或者非0类似shell中echo $? 2http请求检查httpGet 根据返回的状态码判断是否正常 3端口检查tcpSocket 测试某个TCP端口是否能够链接类似于telnetnc等网络工具 4grpc了解即可 二、livenessProbe健康检查探针
1exec方式 [rootk8s231 pod]# cat 12-probe.yaml apiVersion: v1 kind: Pod metadata: name: mylinux-livenessprobe spec: containers: - name: c1 image: nginx:1.20.1-alpine #声明健康检查探针livenessProbe livenessProbe: #使用exec方式做检查 exec: #自定义检查命令 command: - cat - /etc/hosts #检查失败几次算【不存活】默认值是3最小值是1检查成功后值会重置重1开始数 failureThreshold: 3 #容器启动后多久开始进行健康检查即此时间段内检测到服务失败并不计数默认1最小值1 initialDelaySeconds: 15 #探针检测频率多久检测一次默认10秒最小值1秒 periodSeconds: 1 #检查成功几次算【存活】默认1最小值1 successThreshold: 1 #一次检查超时时间默认1秒最小值1秒 timeoutSeconds: 1 2httpGet检查方式 [rootk8s231 pod]# cat 12-probe.yaml apiVersion: v1 kind: Pod metadata: name: mylinux-livenessprobe spec: containers: - name: c1 image: nginx:1.20.1-alpine #声明健康检查探针livenessProbe livenessProbe: #使用httpGet方式做检查 httpGet: #检查那个端口通过哪个端口访问页面 port: 80 #指定探测的页面路径 path: /usr/share/nginx/html/index.html #检查失败几次算【不存活】默认值是3最小值是1检查成功后值会重置重1开始数 failureThreshold: 3 #容器启动后多久开始进行健康检查即此时间段内检测到服务失败并不计数默认1最小值1 initialDelaySeconds: 15 #探针检测频率多久检测一次默认10秒最小值1秒 periodSeconds: 1 #检查成功几次算【存活】默认1最小值1 successThreshold: 1 #一次检查超时时间默认1秒最小值1秒 timeoutSeconds: 1 3tcpSocket检测方式 [rootk8s231 pod]# cat 12-probe.yaml apiVersion: v1 kind: Pod metadata: name: mylinux-livenessprobe spec: containers: - name: c1 image: nginx:1.20.1-alpine #声明健康检查探针livenessProbe livenessProbe: #使用tcpSocket方式做检查 tcpSocket: #检查哪一个端口 port: 80 #检查失败几次算【不存活】默认值是3最小值是1检查成功后值会重置重1开始数 failureThreshold: 3 #容器启动后多久开始进行健康检查即此时间段内检测到服务失败并不计数默认1最小值1 initialDelaySeconds: 15 #探针检测频率多久检测一次默认10秒最小值1秒 periodSeconds: 1 #检查成功几次算【存活】默认1最小值1 successThreshold: 1 #一次检查超时时间默认1秒最小值1秒 timeoutSeconds: 1 三、readinessProbe可用性检查 [rootk8s231 pod]# cat 12-probe.yaml apiVersion: v1 kind: Pod metadata: name: mylinux-livenessprobe spec: containers: - name: c1 image: nginx:1.20.1-alpine #声明健康检查探针readinessProbe readinessProbe: #使用tcpSocket方式做检查 tcpSocket: #检查哪一个端口 port: 80 #检查失败几次算【不存活】默认值是3最小值是1检查成功后值会重置重1开始数 failureThreshold: 3 #容器启动后多久开始进行健康检查即此时间段内检测到服务失败并不计数默认1最小值1 initialDelaySeconds: 15 #探针检测频率多久检测一次默认10秒最小值1秒 periodSeconds: 1 #检查成功几次算【存活】默认1最小值1 successThreshold: 1 #一次检查超时时间默认1秒最小值1秒 timeoutSeconds: 1 四、startupProbe启动检查 [rootk8s231 pod]# cat 12-probe.yaml apiVersion: v1 kind: Pod metadata: name: mylinux-livenessprobe spec: containers: - name: c1 image: nginx:1.20.1-alpine #声明启动探针startupProbe startupProbe: #使用tcpSocket方式做检查 tcpSocket: #检查哪一个端口 port: 80 #检查失败几次算【不存活】默认值是3最小值是1检查成功后值会重置重1开始数 failureThreshold: 3 #容器启动后多久开始进行健康检查即此时间段内检测到服务失败并不计数默认1最小值1 initialDelaySeconds: 15 #探针检测频率多久检测一次默认10秒最小值1秒 periodSeconds: 1 #检查成功几次算【存活】默认1最小值1 successThreshold: 1 #一次检查超时时间默认1秒最小值1秒 timeoutSeconds: 1 五、三个探针一起使用 [rootk8s231 pod]# cat 12-probe.yaml apiVersion: v1 kind: Pod metadata: name: mylinux-livenessprobe spec: containers: - name: c1 image: nginx:1.20.1-alpine #声明启动探针startupProbe startupProbe: tcpSocket: port: 80 failureThreshold: 3 initialDelaySeconds: 15 periodSeconds: 1 successThreshold: 1 timeoutSeconds: 1 #声明启动探针livenessProbe livenessProbe: tcpSocket: port: 80 failureThreshold: 3 initialDelaySeconds: 15 periodSeconds: 1 successThreshold: 1 timeoutSeconds: 1 #声明启动探针readinessProbe readinessProbe: tcpSocket: port: 80 failureThreshold: 3 initialDelaySeconds: 15 periodSeconds: 1 successThreshold: 1 timeoutSeconds: 1