Kubernetes详解(十八)——Pod就绪性探针实战

简介: Kubernetes详解(十八)——Pod就绪性探针实战

今天继续给大家介绍Linux运维相关知识,本文主要内容是Pod就绪性探针实战。

一、Pod就绪性探针概述
再某些应用场景中,Pod对象在运行成功后,还需要进行一些初始化过程,执行一些指令,才能够正常提供服务。例如加载数据或配置,或者说程序的运行需要某些类的预热等等。但是,Kubernetes本身无法感知到Pod对象的初始化阶段,如果在这个节点Kubernetes集群给该Pod对象引入了服务请求,那么该Pod对象就无法正常提供服务。
为了解决这个问题,Kubernetes集群引入了就绪性探针的配置。与存活性探针类似,就绪性探针也会对Pod容器中的指定内容进行周期性探测,当探测成功时,就表示容器已经就绪。但是与存活性探针不同的是,就绪性探针当探测到失败后,不会杀死或重启容器,而是使得该容器处于“不可用”状态,并触发依赖于其就绪状态的操作,以确保不会有请求接入该Pod。

二、Pod就绪性探针HTTP实战
Pod的就绪性探针也有Exec、HTTP和TCP三种类型,下面,我们就来进行Pod就绪性探针的实战,在本实战中,我们使用的是HTTP类型的探针,其他类型的探针与之类似,因此在这里就不过多赘述了。
我们创建一个Pod的资源配置清单ready-probe.yaml,并向其中写入如下内容:

apiVersion: v1
kind: Pod
metadata:
name: ready-pod
namespace: default
labels:
probe: ready
spec:
containers:

  • name: ready-probe
    image: nginx:1.14
    ports:
    • name: http
      containerPort: 80
      readinessProbe:
      httpGet:
      path: /index.html
      port: http
      scheme: HTTP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
在该配置文件中,我们引入了HTTP类型的就绪性探针,该探针会探测web服务器下index.html文件的存在性,如果该文件不存在,就说明该容器存在异常。
完成上述配置后,我们运行该清单,创建Pod,执行结果如下:

可以看到,我们的Pod运行正常。接下来,我们来检验就绪性探针的效果。进入该Pod容器,删除我们web服务根目录下的index.html文件,然后观察Pod容器的状态,结果如下所示:

从上图中可以看出,当我们删除该文件后,探针会探测到异常,该容器仍然处于运行状态,但是已经设置为不可用。我们的Pod就绪性探针配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/124286758

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
25天前
|
运维 Kubernetes 监控
Kubernetes详解(十九)——Kubernetes Pod控制器
Kubernetes详解(十九)——Kubernetes Pod控制器
39 3
|
18天前
|
容器 Perl Kubernetes
深入 Kubernetes 网络:实战K8s网络故障排查与诊断策略
本文介绍了Kubernetes网络的基础知识和故障排查经验,重点讨论了私有化环境中Kubernetes网络的挑战。首先,文章阐述了Kubernetes网络模型的三大核心要素:Pod网络、Service网络和CNI,并强调了其在容器通信和服务发现中的作用。接着,通过三个具体的故障案例,展示了网络冲突、主节点DNS配置更改导致的服务中断以及容器网络抖动问题的解决过程,强调了网络规划、配置管理和人员培训的重要性。最后,提到了KubeSkoop exporter工具在监控和定位网络抖动问题中的应用。通过这些案例,读者可以深入了解Kubernetes网络的复杂性,并学习到实用的故障排查方法。
146219 18
|
25天前
|
运维 Kubernetes Linux
Kubernetes详解(二十一)——ReplicaSet控制器实战应用
Kubernetes详解(二十一)——ReplicaSet控制器实战应用
56 2
|
2天前
|
Kubernetes API 调度
Pod无法调度到可用的节点上(K8s)
完成k8s单节点部署后,创建了一个pod进行测试,后续该pod出现以下报错: Warning FailedScheduling 3h7m (x3 over 3h18m) default-scheduler 0/1 nodes are available: 1 node(s) had untolerated taint {node-role.kubernetes.io/control-plane: }. preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling..
22 0
|
30天前
|
运维 Kubernetes 网络协议
Kubernetes详解(十八)——Pod就绪性探针实战
Kubernetes详解(十八)——Pod就绪性探针实战
59 5
|
20天前
|
Kubernetes 算法 调度
k8s群集调度之 pod亲和 node亲和 标签指定
k8s群集调度之 pod亲和 node亲和 标签指定
|
20天前
|
Kubernetes 应用服务中间件 数据安全/隐私保护
yaml文件格式详解 及 k8s实战演示
yaml文件格式详解 及 k8s实战演示
|
应用服务中间件 调度 nginx
Kubernetes-项目中pod调度使用法则
前言kubernetes中部署的pod默认根据资源使用情况自动调度到某个节点。可在实际项目的使用场景中都会有更细粒度的调度需求,比如:某些pod调度到指定主机、某几个相关的服务的pod最好调度到一个节点上、Master节点不允许某些pod调度等。
2029 0
|
Kubernetes 应用服务中间件 调度
Kubernetes之Pod调度
Kubernetes调度器根据特定的算法与策略将pod调度到工作节点上。在默认情况下,Kubernetes调度器可以满足绝大多数需求,例如调度pod到资源充足的节点上运行,或调度pod分散到不同节点使集群节点资源均衡等。
1427 0
|
Kubernetes 应用服务中间件 调度
Kubernetes之Pod调度
本文讲的是Kubernetes之Pod调度【编者的话】Kubernetes调度器根据特定的算法与策略将pod调度到工作节点上。在默认情况下,Kubernetes调度器可以满足绝大多数需求,例如调度pod到资源充足的节点上运行,或调度pod分散到不同节点使集群节点资源均衡等。
2751 0