首页 >资讯 > 正文

【全球新要闻】kubernetes就绪探针使用

2023-04-29 22:39:55

假设我们有一个应用程序,它需要一段时间来初始化并准备好接收流量。我们可以使用就绪探针来确保容器已准备好接收流量后才将其暴露给外部服务。

我们首先创建一个Deployment对象来运行应用程序。Deployment对象将自动创建一个副本集(ReplicaSet),并在其中运行指定数量的Pod。我们将使用nginx镜像作为应用程序的示例。

apiVersion: apps/v1kind: Deploymentmetadata:  name: nginx-deploymentspec:  replicas: 3  selector:    matchLabels:      app: nginx  template:    metadata:      labels:        app: nginx    spec:      containers:      - name: nginx-container        image: nginx        ports:        - containerPort: 80        readinessProbe:          httpGet:            path: /            port: 80

在上面的示例中,我们创建了一个名为nginx-deployment的Deployment对象,并指定了需要运行3个Pod副本。每个Pod都运行一个名为nginx-container的容器,该容器使用nginx镜像,并在80端口上监听流量。我们还将就绪探针配置为使用httpGet方法,向容器的/路径发送HTTP GET请求来检查容器是否已准备好接收流量。


(资料图片)

我们可以通过kubectl命令检查Deployment的状态:

kubectl get deployment nginx-deployment

输出应该类似于:

NAME               READY   UP-TO-DATE   AVAILABLE   AGEnginx-deployment   3/3     3            3           10s

上面的输出显示了Deployment中有3个Pod副本,所有的副本都已准备好,可以接收流量。

接下来,我们可以创建一个Service对象来暴露Deployment中的Pod给外部服务。Service对象将使用负载均衡器将流量分配给Deployment中的Pod。

apiVersion: v1kind: Servicemetadata:  name: nginx-servicespec:  selector:    app: nginx  ports:  - protocol: TCP    port: 80    targetPort: 80  type: LoadBalancer

在上面的示例中,我们创建了一个名为nginx-service的Service对象,它将负责将流量分配给Deployment中的Pod。我们将type属性设置为LoadBalancer,这将自动为Service对象创建一个外部负载均衡器。

我们可以通过kubectl命令检查Service对象的状态:

kubectl get service nginx-service

输出应该类似于:

NAME           TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)        AGEnginx-service  LoadBalancer   10.0.111.157  203.0.113.10  80:30549/TCP   10s

上面的输出显示了Service对象的一些基本信息,包括CLUSTER-IP、EXTERNAL-IP和端口信息。

现在,我们可以使用EXTERNAL-IP和端口信息来访问我们的应用程序。但在我们开始访问应用程序之前,我们需要确保它已准备好接收流量。我们可以使用kubectl describe命令来检查Pod的状态:

kubectl describe pod 

输出应该类似于:

Name:           nginx-deployment-7d6ff77df6-f7m6kNamespace:      defaultPriority:       0Node:           minikube/192.168.99.107Start Time:     Mon, 31 May 2021 16:10:53 +0300Labels:         app=nginx                pod-template-hash=7d6ff77df6Annotations:    Status:         RunningIP:             172.17.0.4IPs:            Controlled By:  ReplicaSet/nginx-deployment-7d6ff77df6Containers:  nginx-container:    Container ID:   docker://3d7df1c0d93fc7e97467a35c2e82d26134b6bfbca6f9cb6d82e57e65dcb61990    Image:          nginx    Image ID:       docker-pullable://nginx@sha256:95202e0d007bbd2edcad2b8eae1d2e6966efadfca6b7c6f9e57d71d06ef42b6f    Port:           80/TCP    Host Port:      0/TCP    State:          Running      Started:      Mon, 31 May 2021 16:11:05 +0300    Ready:          False    Restart Count:  0    Readiness:      http-get http://:80/ delay=0s timeout=1s period=10s #success=1 #failure=3    Environment:        Mounts:      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-vh2lm (ro)Conditions:  Type           Status  Initialized    True   Ready          False   ContainersReady  False   PodScheduled   True Volumes:  kube-api-access-vh2lm:    Type:                    Projected (a volume that contains injected data from multiple sources)    TokenExpirationSeconds:  3607    ConfigMapName:           kube-root-ca.crt    ConfigMapOptional:           DownwardAPI:             trueQoS Class:                   BestEffortNode-Selectors:              Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300sEvents:  Type    Reason     Age   From               Message  ----    ------     ----  ----               -------  Normal  Scheduled  47s   default-scheduler  Successfully assigned default/nginx-deployment-7d6ff77df6-f7m6k to minikube  Normal  Pulled     45s   kubelet            Container image "nginx" already present on machine  Normal  Created    45s   kubelet            Created container nginx-container  Normal  Started    45s   kubelet            Started container nginx-container

输出显示了Pod中的nginx容器的状态。我们可以看到,容器的Readiness状态为False,这意味着它还没有准备好接收流量。我们还可以看到,容器的Readiness状态为False,这意味着它还没有准备好接收流量。我们还可以看到Readiness探针的详细信息,它会定期调用容器的/healthz端点以检查容器是否已准备好接收流量。

在这种情况下,我们的Readiness探针定义了一个HTTP GET请求,它将在容器的80端口上调用/healthz端点。如果该请求成功,则容器被认为是“就绪”的。

现在我们需要添加一个就绪探针来确保容器已准备好接收流量。在Kubernetes中,我们可以使用以下方式定义就绪探针:

HTTP GET探针:向容器发送一个HTTP GET请求,以检查容器是否已准备好接收流量。TCP Socket探针:尝试连接到容器的指定端口,以检查容器是否已准备好接收流量。Exec探针:在容器中执行指定的命令,并检查命令的退出状态以确定容器是否已准备好接收流量。

在本例中,我们将使用HTTP GET探针。下面是一个包含就绪探针的更新后的Pod定义:

apiVersion: v1kind: Podmetadata:  name: nginx  labels:    app: nginxspec:  containers:  - name: nginx    image: nginx    ports:    - containerPort: 80    readinessProbe:      httpGet:        path: /healthz        port: 80      initialDelaySeconds: 5      periodSeconds: 10

在这个更新的Pod定义中,我们添加了一个名为readinessProbe的字段,并在其中定义了HTTP GET探针。探针将在容器的80端口上调用/healthz端点,并在初始延迟5秒后每10秒执行一次。

现在,我们使用kubectl apply命令将更新的Pod定义应用于Kubernetes集群:

kubectl apply -f pod.yaml

如果我们再次运行kubectl describe pod命令,我们应该看到容器的Readiness状态已更改为True:

Name:           nginxNamespace:      defaultPriority:       0Node:           minikube/192.168.99.107Start Time:     Mon, 31 May 2021 16:10:53 +0300Labels:         app=nginxAnnotations:    Status:         RunningIP:             172.17.0.4IPs:            Controlled By:  Containers:  nginx:    Container ID:   docker://d96f8e1536c5feca2d79bfb13aebc5e47e5a6c5dd5d5b68a904a8110e32fbaec    Image:          nginx    Image ID:       docker-pullable://nginx@sha256:95202e0d007bbd2edcad2b8eae1d2e6966efadfca6bf772bd0eeb695c2d17c5b    Port:           80/TCP    Host Port:      0/TCP    State:          Running      Started:      Mon, 31 May 2021 16:11:04 +0300    Ready:          True    Restart Count:  0    Readiness:      http-get http://:80/healthz delay=5s timeout=1s period=10s #success=1 #failure=3    Environment:        Mounts:      /var/run/secrets/kubernetes.io/serviceaccount from default-token-x4rrz (ro)Conditions:  Type              Status  Initialized       True   Ready             True   ContainersReady   True   PodScheduled      True Volumes:  default-token-x4rrz:    Type:        Secret (a volume populated by a Secret)    SecretName:  default-token-x4rrz    Optional:    falseQoS Class:       BestEffortNode-Selectors:  Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300sEvents:          

现在我们可以确认容器已经准备好接收流量,Readiness探针定期调用/healthz端点以确保容器仍然是就绪的。

上一篇:田浩洋:4.29黄金操作策略点评,五一行情趋势解析 下一篇:最后一页
x
推荐阅读

【全球新要闻】kubernetes就绪探针使用

2023-04-29

田浩洋:4.29黄金操作策略点评,五一行情趋势解析

2023-04-29

广西贵港市深入推进科教振兴

2023-04-29

右下角今日热点怎么删除_今日热点怎么删除|焦点观察

2023-04-29

好消息!洛阳旅游年票新增两家4A级景区_环球速讯

2023-04-29

全球热讯:西甲巴塞罗那vs皇家贝蒂斯比分预测:巴萨进攻低迷

2023-04-29

分众传媒:广告市场开始显现复苏迹象

2023-04-29

海底两万里好词好句好段积累_海底两万里好词好句好段摘抄大全_天天时讯

2023-04-29

郴州市公安局北湖机场分局举办“开卷有益,清廉入心”读书思廉诵读会-当前播报

2023-04-29

稳健房企中骏开启“超燃五一”,严选高品质好房回馈市场

2023-04-29

今日精选:天士力(600535)深度报告:创新中药龙头迎来业绩拐点 核心产品放量可期

2023-04-29

【环球新要闻】喜报!南宁公安5个集体和3名个人获全国和区市表彰

2023-04-29

粤港澳大湾区高技能人才教育培训基地项目一期工程封顶|天天视点

2023-04-29

enc降噪技术_enc降噪原理

2023-04-29

故宫多次闹鬼的人_故宫多次闹鬼

2023-04-29

《艾尔登法环》DLSS3 Mod已能完美运行 即将发布

2023-04-29

环球速讯:执行力三要素是什么意思(执行力三要素)

2023-04-29

“五一”假期今天开启,各地精心准备迎接“五一”假期_天天观点

2023-04-29

天天微资讯!被女作家起诉性侵,被老搭档“捅刀”……又一波麻烦事向特朗普袭来

2023-04-29

深康佳A(000016):4月28日北向资金增持122.51万股|天天快资讯

2023-04-29

山东莱钢绿建发展股份有限公司_山东莱钢|天天快资讯

2023-04-29

祖国祖国我爱你_歌词 祖国祖国我爱你歌词是什么_当前热议

2023-04-29

逐浪“数字蓝海”构筑竞争新优势 当前信息

2023-04-29

宋亚洲和合证券靠谱吗?保持健康的投资心态!

2023-04-28

全球资讯:什么品牌的发泡胶比较好_哪个品牌的发泡胶最好 在哪里能买到

2023-04-28

鲁滨逊漂流记目录14章名字(鲁滨逊漂流记目录14章)|全球快消息

2023-04-28

环球观速讯丨孚能科技:一季度净利亏损3.52亿元

2023-04-28

第25届CUBAL东北赛区小组赛-丁庚淼12分 东北大学险胜吉大

2023-04-28

每日焦点!电讯报:阿森纳今夏至少引进一名高水准中场,赖斯是头号目标

2023-04-28

易容马格斯训练_易容马格斯

2023-04-28

微信我的红包在哪里看_微信我的红包 今日关注

2023-04-28

仲量联行首席睿见 2023年4月28日中共中央政治局会议快评

2023-04-28

花店买的郁金香怎么养 花店买回来的郁金香花怎么养 世界关注

2023-04-28

当前资讯!郑州公租房申请官网_郑州公租房申请网站

2023-04-28

账户被冻结,资金被划走,俄大使:将采取对等措施

2023-04-28

Android 开发人员选项解释:您可以使用这些设置执行的所有操作 视点

2023-04-28

山东出台2023年数字经济“全面提升”行动方案 将开展“工赋山东”专项行动

2023-04-28

南通星球石墨股份有限公司拟对内蒙古新材料增资1亿元|环球速递

2023-04-28

2023年八年级下学期英语期中试卷附答案

2023-04-28

世界讯息:AIGC时代,用这款AI绘画软件设计logo,跟“设计师”说拜拜

2023-04-28

KOL大洗牌:千万粉博主入不敷出、B站up主迁徙小红书水土不服 世界新要闻

2023-04-28

环球快报:打卡AWE云米展馆 我知道未来家长什么样了

2023-04-28

当前报道:抱怨电动升降桌太贵是智商税?看看它,乐歌MX1升降台,百元平替

2023-04-28

双眼皮没割好修复要钱吗

2023-04-28

4月28日贵金属观点:经济数据扑朔迷离,短期预计延续震荡 环球时讯

2023-04-28

从专用到共享,公交专用道优化改革即将开始

2023-04-28

当日快讯:日本新设目标:到2033年使来日海外留学生达到40万人

2023-04-28

省委法律顾问聘任仪式暨座谈会举行

2023-04-28

6英寸多大_6英寸是多大

2023-04-28

捧起人生第一本书,从上海少年儿童图书馆开启第一课

2023-04-28

5月2日至3日 河南全省大部将有阵雨、雷阵雨-世界聚焦

2023-04-28

有纠纷的房子要拆迁如何办? 环球今头条

2023-04-28

钢铁银河共和国:征途级战列舰(重制版)

2023-04-28

当前最新:流量时代,“亭好滁州”如何圈粉青年

2023-04-28

安踏体育(02020.HK)根据配售及认购协议发行及配发1.19亿股

2023-04-28

环球新动态:安卓成功跑上iOS模拟器! APP完美运行

2023-04-28

怎样将照片文字转换成word-怎么把照片文字转换成word文档

2023-04-28

2023南京体育消费节正式启动

2023-04-28

杭州亚运村已具备入住条件,所有场馆已完成功能验收

2023-04-27

洛克王国火神火焰玻璃怎么刷(洛克王国火焰玻璃怎么刷不出来)

2023-04-27

不送绿牌之后,上海发生了什么?_世界聚焦

2023-04-27

全球快讯:中国动物园协会发布旅美大熊猫乐乐死因报告:支持尸检初判的心脏病变

2023-04-27

给单位带来 247 万元损失应全额赔偿?法院这样判

2023-04-27

南方传媒:一季度净利同比增37.03%|全球热讯

2023-04-27

对话佛山机器人!“数智湾区2023”共话千亿产业生态构建 焦点滚动

2023-04-27

维果茨基全集 第一卷_关于维果茨基全集 第一卷介绍_时讯

2023-04-27

永艺股份一季度净利润5172.7万元,同比增9.46%

2023-04-27

全系标配4气囊+快充,比亚迪海鸥正式上市,7.38万元起售

2023-04-27

正式任命,足协启用郑智,新职务曝光,赴任亮相,高洪波送祝福 每日热文

2023-04-27

全球讯息:中国航天日|致敬航天精神,洋河股份助力培养航天后备军

2023-04-27

网商银行成“金融网络安全实验室”首批成员,安全技术参展国际金融展

2023-04-27

天天视点!消防验收第三方检测费用由谁出_消防验收需要第三方检测的项目有些什么

2023-04-27

天天观天下!螃蟹熟的能不能冷冻_煮熟了的螃蟹可以放冰箱冷冻吗

2023-04-27

“秦山有约”核科普大赛|全球能源总消耗量是太阳辐射到地球能量的多少 今日精选

2023-04-27

延迟交房违约金国家规定最新_延迟交房违约金国家规定

2023-04-27

NBA最新赛况国王116-123勇士 库里砍下31分汤普森得到25分福克斯空砍24分

2023-04-27

江苏无锡集中销毁一批非法出版物_讯息

2023-04-27

要闻速递:2023三亚蜈支洲岛五一营业时间

2023-04-27

天天速讯:五一出行经济舒适全都要,三款热门中型混动SUV推荐

2023-04-27

魔兽争霸rpg秘籍_单机魔兽争霸秘籍大全

2023-04-27

五一假期后期,河南大部有阵雨、雷阵雨_天天热讯

2023-04-27

腰间盘突出压迫神经导致腿麻怎么办_腰间盘突出压迫神经

2023-04-27

全球热点!阿拉善高新区党群服务中心举办“民营企业服务月”招聘活动

2023-04-27

兴庆区700余名职工相聚海宝公园共庆“五一”国际劳动节 天天观速讯

2023-04-27

金融热点解读——中国与巴西直接以本币进行贸易结算|世界看热讯

2023-04-27

人民币大消息!美科技股涨嗨 微软一夜暴增超万亿!又崩了 第一共和银行再暴跌30%

2023-04-27

河南启动数据要素市场培育城市试点建设

2023-04-27

2021年3月房贷(21年3月房贷利率)

2023-04-27

百事通!4月27日盘前重要产业新闻

2023-04-27

生猪价格将温和上涨-天天微头条

2023-04-27

诏安一男子酒后驾车致人死亡

2023-04-27

眼镜的种类_详细呀 |当前消息

2023-04-27

茶园采茶忙 天天观速讯

2023-04-27

热头条丨灵丘吧贴吧公安局_灵丘吧

2023-04-27

环球动态:关于冬至广播稿400字左右

2023-04-26

同安一省重点项目制造基地竣工-每日快播

2023-04-26

坎帕尼亚德比之前:马焦雷回归,乔姆博与皮罗拉可以出战-环球实时

2023-04-26

国务院办公厅发布关于优化调整稳就业政策措施全力促发展惠民生的通知-世界热议

2023-04-26

山西省晋城一中教育发展基金会 前沿资讯

2023-04-26

全球视讯!广西又将迎来新一轮强降雨,“五一”可能“泡汤”?

2023-04-26