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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 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 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
10天前
|
Kubernetes 监控 安全
Kubernetes实战:集群管理与自动化技术详解
【6月更文挑战第27天】Kubernetes实战聚焦集群自动化管理,涵盖核心概念如主从架构、API Server及工作节点,强调自动扩缩容、RBAC安全控制与日志监控。通过IaC工具如Helm实现配置自动化,结合Prometheus等进行持续监控,强调安全策略与资源优化,展现K8s在现代应用管理中的威力。
|
1月前
|
容器 Perl Kubernetes
深入 Kubernetes 网络:实战K8s网络故障排查与诊断策略
本文介绍了Kubernetes网络的基础知识和故障排查经验,重点讨论了私有化环境中Kubernetes网络的挑战。首先,文章阐述了Kubernetes网络模型的三大核心要素:Pod网络、Service网络和CNI,并强调了其在容器通信和服务发现中的作用。接着,通过三个具体的故障案例,展示了网络冲突、主节点DNS配置更改导致的服务中断以及容器网络抖动问题的解决过程,强调了网络规划、配置管理和人员培训的重要性。最后,提到了KubeSkoop exporter工具在监控和定位网络抖动问题中的应用。通过这些案例,读者可以深入了解Kubernetes网络的复杂性,并学习到实用的故障排查方法。
146357 19
|
10天前
|
jenkins 持续交付 开发者
利用Docker容器化部署应用的实战指南
【6月更文挑战第27天】本文详述Docker应用部署,涵盖Docker基本概念、安装、镜像制作及运行。通过编写Dockerfile构建镜像,使用`docker build`、`run`、`push`及`stop`命令管理。集成CI/CD工具如Jenkins,实现自动化构建、测试和部署,提升开发效率与部署质量。Docker助力轻量级、可移植的微服务架构。
|
6天前
|
Kubernetes Java 应用服务中间件
Kubernetes 上搭建一个 Nginx 的 Pod,并确保传入的 API 请求被均匀地分发到两个 Java 业务 Pod 上
Kubernetes 上搭建一个 Nginx 的 Pod,并确保传入的 API 请求被均匀地分发到两个 Java 业务 Pod 上
7 0
|
10天前
|
Kubernetes Shell API
技术笔记:K8s中大量Pod是Evicted状态,这是咋回事?
技术笔记:K8s中大量Pod是Evicted状态,这是咋回事?
18 0
|
19天前
|
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..
68 0
|
2月前
|
Kubernetes 算法 调度
k8s群集调度之 pod亲和 node亲和 标签指定
k8s群集调度之 pod亲和 node亲和 标签指定
|
2月前
|
Kubernetes 应用服务中间件 数据安全/隐私保护
yaml文件格式详解 及 k8s实战演示
yaml文件格式详解 及 k8s实战演示
|
1月前
|
Kubernetes 微服务 容器
Aspire项目发布到远程k8s集群
Aspire项目发布到远程k8s集群
397 2
Aspire项目发布到远程k8s集群
|
24天前
|
Kubernetes Cloud Native 微服务
微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群
微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群
211 3