云计算

本篇文章为大家展示了如何实现Pod就绪性探测,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

   当Pod容器启动成功后还没有加载配置和数据,以及其它第三方脚本服务,在这过程中如有客户端发送请求会等待太久,响应较慢,这会大大影响客户的体验。因此,为了避免当pod启动成功后立即处理客户端请求,而是等待容器所有初使化工作完成后进入“就绪”状态。就绪性探测失败时不会杀死或重启容器,而是确保不会有客户端请求进入Pod对像。就绪性探测支持三种方式:exec,httpGet和tcpSocket。

1.使用exec探测文件存在

[root@k8s01 yaml]# kubectl explain pods.spec.containers.readinessProbe

[root@k8s01 yaml]# vim execreadiness.yaml

apiVersion: v1
kind: Pod
metadata:
  labels:
    test: exec-readinessprobe
  name: readinessprobe
spec:
  containers:
  – name: exec-readinessprobe
    image: busybox:latest
    args: [“/bin/sh”,”-c”,”touch /tmp/test.txt”]
    readinessProbe:
      exec:
        command: [“test”,”-e”,”/tmp/test.txt”]    –探测文件是否存在,如果存在立即进入就绪性
      initialDelaySeconds: 5     –Pod初使化完成后使用command命令进行探测(5秒)
      periodSeconds: 5    –探测周期5秒

[root@k8s01 yaml ]# kubectl apply -f execreadiness.yaml

pod/readinessprobe created

[root@k8s01 yaml ]#

上述内容就是如何实现Pod就绪性探测,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。