【环球时快讯】kubernetes就绪探针使用

发布时间:2023-04-30 22:28:14     来源:腾讯云

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


(资料图)

我们首先创建一个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端点以确保容器仍然是就绪的。

标签:

精彩推送

乘用车市场信息联席会发布数据 10月乘用车市场零售为184万辆

11月8日,乘用车市场信息联席会发布数据显示,今年前10个月乘用车市场零售达1671 6万辆,同比增长3%,...

2022-11-09

至正股份发布公告 拟1.19亿元收购苏州桔云51%股权

11月8日晚间,至正股份(603991)发布公告称,公司与SUCCESS FACTORS LIMITED签署了《购买资产协议》,...

2022-11-09

旅游合同暗藏猫腻 中消协点评这些属于不公平条款

11月8日,中国消费者协会官网发布《不公平格式条款点评系列九:旅游领域不公平格式条款点评》,其中针对...

2022-11-09

天键股份IPO排队近11个月 天键股份冲A胜算几何

在同行业企业迪芬尼、豪恩声学IPO告败后,电声产品制造商天键电声股份有限公司(以下简称天键股份)也向A...

2022-11-09

MSCI入摩“三步走” 三年MSCI主题基金不断涌现

自2019年11月8日,美国明晟公司(又称摩根士丹利资本国际公司,MorganStanleyCapitalInternational,以下...

2022-11-09

【环球时快讯】kubernetes就绪探针使用

假设我们有一个应用程序,它需要一段时间来初始化并准备好接收流量。我们可以使用就绪探针来确保容器已准备

环球观点:2022A股研发投入排行榜 这些上市公司进前十

截至4月29日,除少数公司有所延迟外,A股上市公司2022年年报的披露工作基本结束。通过分析这五千余份年报,

银行内部人员透漏:每年这4个月存钱,利息最高,有存款的有福了|速看料

银行内部人员透漏:每年这4个月存钱,利息最高,有存款的有福了,存款,现金,坏账率,不良贷款,收入证明

观点:数读一季度能源形势:增产扩进口 供应安全与低碳转型并重

今年以来,国内能源供应保障能力不断增强。巩固传统能源供应“压舱石”的同时,绿色低碳转型跑出加速度,可

行业观察|6家休闲零食齐交答卷:“稳定营收”、“恢复盈利”成今年关键-全球聚焦

行业观察|6家休闲零食齐交答卷:“稳定营收”、“恢复盈利”成今年关键,徐福记,休闲零食,三只松鼠

天天即时:楼市热度消退,四月百强房企销售环比转降

楼市热度消退,四月百强房企销售环比转降,楼市,克而瑞

官宣!金华双溪西路片区补偿安置方案曝光→涉及高畈、后姜、汪家店......|天天资讯

官宣!金华双溪西路片区补偿安置方案曝光→涉及高畈、后姜、汪家店 ,高畈,南街,双溪西,安置房,金华市

每日速看!2023年五一档总票房破7亿

据灯塔专业版实时数据,截至4月30日21时25分,2023年五一档(4月29日-5月3日)档期总票房突破7亿元。

世界即时:电视剧《青春之城》圆满收官,落地表达贴近生活

这部央视年度大戏自开播以来,凭借接地气、正能量的现实表达屡次掀起热议,直击现实的台词金句频频出圈,多

音符乐谱五线谱图行推理 音符乐谱五线谱

今天来聊聊关于音符乐谱五线谱图行推理,音符乐谱五线谱的文章,现在就为大家来简单介绍下音符乐谱五线谱图

世界热门:2018-2022城市实际利用外资金额排行,一线城市稳涨,第五城难寻

2018-2022城市实际利用外资金额排行,一线城市稳涨,第五城难寻,武汉,广州,服务业,利用外资,一线城市,外资金额

估值超270亿美元!OpenAI又找到了新金主

今年前两个季度全球风投市场的最大消息都出自OpenAI。根据美国科技媒体TechCrunch报道,OpenAI近期找到了微

滨州市自然资源规划局召开不动产“带押过户”政策推介工作座谈会_全球短讯

滨州市自然资源规划局召开不动产“带押过户”政策推介工作座谈会,带押过户,政策推介,不动产登记,自然资源规

制造业PMI连续3个月扩张后再现回落,经济恢复仍需政策支持

制造业PMI连续3个月扩张后再现回落,经济恢复仍需政策支持,外需,内需,制造业,pmi,服务业

涉9个地块!丰台供地计划出炉,这里的新地预计涨2万——|天天快资讯

涉9个地块!丰台供地计划出炉,这里的新地预计涨2万——,棚改,北京,供地,丰台区,郭公庄,住宅用地

快消息!比亚迪新宋Pro接受预订!5月6日上市 预计13万起售

智电出行从比亚迪销商处获悉,新比亚迪宋ProDm-i已经接受预订,将于5月6日正式上市。新车采用更加大气的前

今日套马杆的孩子(套马杆的歌词)

套马杆的孩子,套马杆的歌词很多人还不知道,现在让我们一起来看看吧!1、乌兰托娅­套马杆[0:05]词:刘新

全球视讯!170套方案出炉!海淀首个危旧楼房改建项目开工建设!

170套方案出炉!海淀首个危旧楼房改建项目开工建设!,楼房,交大,住宅楼,海淀区,改建项目,工程项目

环球热议:台湾省的前途在哪里?一季度GDP下滑3%,背后的原因值得深思

台湾省的前途在哪里?一季度GDP下滑3%,背后的原因值得深思,韩国,大陆,新加坡,台湾地区,台湾省(中华人民共和国)

【当前独家】得新能源者得天下!七大中国车企去年营收超1.7万亿,比亚迪最赚钱

得新能源者得天下!七大中国车企去年营收超1 7万亿,比亚迪最赚钱,比亚迪,电动车,长城汽车,上汽集团,长安汽

读懂年轻人 小熊电器展示精致生活解决方案-短讯

30日,中国家电及消费电子博览会(AWE)在上海正式闭幕。期间,小熊电器以其厨房、母婴、户外等六大场景,

微资讯!苹果卡贴机有什么缺点 苹果卡贴机

今天来聊聊关于苹果卡贴机有什么缺点,苹果卡贴机的文章,现在就为大家来简单介绍下苹果卡贴机有什么缺点,

李佳琦的崛起可以算是“天时地利”的综合要素

李佳琦的崛起可以算是天时地利的综合要素。在李佳琦主播的早期阶段,他有一些明确的标签,比如柜哥(亲和力专业)、口红一哥(识别度高)、OMG

最高补贴8000元/辆!常州出新政鼓励市民购买新能源乘用车

每经AI快讯,今年5月1日起,购买新能源乘用车,每辆补贴2000元起,最高8000元!日前,江苏常州出台《新能源

观点:4月制造业采购经理指数回落 经济持续回升过程中的换档期信号?

4月制造业采购经理指数回落经济持续回升过程中的换档期信号?,pmi,经济数据,制造业采购经理指数

第133届广交会第三期5月1日开展 参展企业超过1万家-世界百事通

【第133届广交会第三期5月1日开展参展企业超过1万家】第133届中国进出口商品交易会第三期5月1日在广州开展

荣盛石化千亿扩产水逆:存货水位快速增长,囤油减值致一季度续亏

荣盛石化千亿扩产水逆:存货水位快速增长,囤油减值致一季度续亏,炼化,荣盛石化,恒逸石化,桐昆股份,母净利

金一文化:2023年一季报净利润发生亏损

金一文化:2023年一季报净利润发生亏损

广州市创新开展“一手房带押过户”_环球关注

广州市创新开展“一手房带押过户”,现房,网签,商品房,广州市,一手房带押过户

关于《连云港市海州区房屋征收房票安置实施细则(试行)》征求意见的公告

关于《连云港市海州区房屋征收房票安置实施细则(试行)》征求意见的公告,购房,商品房,连云港市海州区房屋征

4月PMI再次进入收缩区间 企业生产稳定但需求明显收缩-环球微资讯

4月PMI再次进入收缩区间企业生产稳定但需求明显收缩,制造业,张立群,pmi,国家统计局

环球快看点丨竞逐经济“第四城” 广州重庆都在面对这个问题

围绕全国城市GDP第四名的位置,广州和重庆的竞争再度出现反转。4月28日,广州市统计局发布2023年一季度经济

越城这9个地方拆不拆?官方最新回复

越城这9个地方拆不拆?官方最新回复,拆迁,鉴湖,绍兴,鲁迅,征收,越城区

国铁集团:30日预计发送旅客1800万人次 严控列车超员

国铁集团:30日预计发送旅客1800万人次严控列车超员

4月制造业PMI出现短暂回落 经济恢复动力需巩固 非制造业PMI延续高景气 全球即时看

4月制造业PMI出现短暂回落经济恢复动力需巩固非制造业PMI延续高景气,制造业,高景气,pmi,服务业,景气度

热点聚焦:2023年1-4月青岛房地产企业销售业绩TOP20

2023年1-4月青岛房地产企业销售业绩TOP20,商品房,青岛市,商品住宅,土地市场,房地产企业

今日播报!【光明网评】透过五一消费,感受经济回暖趋势

【光明网评】透过五一消费,感受经济回暖趋势,旅游,消费券,光明网评,五一消费,五一小长假

网综《当燃青春》将开播:聚焦新锐青年职业选择 当前关注

5月4日青年节当天,呈现各行各业新锐青年群像的网络综艺节目《当燃青春》将开播。据了解,《当燃青春》每期

2023年濮阳市惠民房产展示交易会即将盛大开幕

2023年濮阳市惠民房产展示交易会即将盛大开幕,杨忠林,房地产,濮阳市,房产展示交易会

去年是最赚钱风电整机商,明阳智能今年一季度却陷入亏损

去年是最赚钱风电整机商,明阳智能今年一季度却陷入亏损,风机,光伏,电机组,明阳智能,风电整机商,新能源项目

怎么压缩图片大小电脑_怎么压缩图片大小 热讯

1、简单的方法就是利用微信来反复压缩。2、电脑和手机同步登录微信,来回互传文件,不下载原图直接转发,微

世界关注:中缅边境贸易人民币使用量增长

中缅边境贸易人民币使用量增长,巴西,货币,卢布,交易,俄罗斯,人民币,中缅边境贸易

百亿私募千亿持仓曝光!知名私募加仓AI板块_世界观热点

【百亿私募千亿持仓曝光!知名私募加仓AI板块】截至4月28日,40家百亿级私募的上千亿元持仓曝光,从持仓的

@驾乘人员 目前巴南收费站车流量大-当前热议

今天是“五一”假期第二天,4月30日上午,来自重庆高速集团的消息,因路段车流量大,车流倒灌至收费站,G75

天天新消息丨剑悬王健林头顶!

剑悬王健林头顶!,张霖,王健林,孙宏斌,房地产,万达地产

邮储银行岳阳市分行:持续支持居民购车信贷需求|全球视点

邮储银行岳阳市分行:持续支持居民购车信贷需求,贷款,金融,邮储银行,信贷需求,收入证明,岳阳市分行

物流上市公司十强:2023年4月28日上市公司市值排行榜

物流上市公司十强:2023年4月28日上市公司市值排行榜,《南方财富网趋势选股系统》股票工具数据整理,截至20

(经济)4月份中国制造业PMI为49.2%-今日播报

(经济)4月份中国制造业PMI为49 2%,pmi,服务业,临界点,中国制造业,国家统计局

国铁集团:严格控制列车超员 努力提升旅客出行体验_环球速读

【国铁集团:严格控制列车超员努力提升旅客出行体验】4月29日,铁路迎来五一假期出行最高峰,全国铁路发送

焦点速递!中国男篮是菲律宾的B计划? 日本看似死亡之组实则暗藏玄机

作为第二东道主的日本男篮所在的E组绝对可以称得上是“死亡之组”,想要击败两支球队从小组中脱颖而出的可

精彩推荐