日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Kubernetes Liveness and Readiness Probes

發布時間:2023/12/4 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kubernetes Liveness and Readiness Probes 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在設計關鍵任務、高可用應用程序時,彈性是要考慮的最重要因素之一。

當應用程序可以快速從故障中恢復時,它便具有彈性。

云原生應用程序通常設計為使用微服務架構,其中每個組件都位于容器中。為了確保Kubernetes托管的應用程序高可用,在設計集群時需要遵循一些特定的模式,其中有“健康探測模式”。應用高可觀察性原則(HOP)可確保您的應用程序收到的每個請求都能及時找到響應。

The High Observability Principle (HOP)

高可觀察性原則是基于容器的應用程序設計原則之一。微服務體系要求每個服務不關心(也不應該關心)被調用方如何處理請求。
HOP原則要求每個服務必須公開幾個API端點,其意義在于揭示服務健康狀態,Kubernetes調用這些端點,決定下一步的路由和負載平衡。

設計良好的云原生程序應將日志事件記錄到STDERR和STDOUT,由logstash、Fluent等日志攝取服務將這些日志運送到集中式監控(例如Prometheus)和日志聚合系統(例如ELK)。下圖說明了云原生應用程序如何遵守健康狀況探測模式和高可觀察性原則。

How to Apply Health Probe Pattern in Kubernetes?

我之前寫過ASP.NetCore + Docker健康檢查的原創:[web程序暴露http健康檢查端點,平臺輪詢探測],Kubernetes針對不同場合細化了探針,更為強大的是給出對應決策。

Liveness Probes

使用[存活探針]判斷什么時候重啟容器。
使用存活探針檢查應用本身是否無響應、死鎖, 有時候重啟容器常常能解決此類問題。

我們以kubernetes官方demo為例:

apiVersion:?v1 kind:?Pod metadata:labels:test:?livenessname:?liveness-exec spec:containers:-?name:?livenessimage:?busyboxargs:-?/bin/sh-?-c-?touch?/tmp/healthy;?sleep?30;?rm?-rf?/tmp/healthy;?sleep?600livenessProbe:exec:command:-?cat-?/tmp/healthyinitialDelaySeconds:?5???#?指示kubectl等待5s才執行首次探測periodSeconds:?5?????????#?間隔5秒輪詢
  • 在第5秒kubectl開始首次liveness探測

  • 在30秒進行的每次探測均成功

  • 30s之后容器內文件被刪除,之后間隔5s的探測會失敗,根據liveness默認配置連續3次失敗就會放棄探測,放棄探測意味著重啟容器,故容器會在第45s重啟

  • 重啟之后又開始以上流程, 故可以看到此探針以重啟的決策嘗試修復應用問題。

這個探針會體現到kubectl get pod的RESTARTS列

Readiness Probes

使用[就緒探針]判斷容器是否就緒,是否可以接受流量。
Pod內所有容器ready,則該Pod被認為ready,當pod沒有ready,將會從服務負載均衡中移除。

有些時候,應用程序臨時不可用(加載大量數據或者依賴外部服務),這個時候,重啟這個Pod無濟于事,但你也不希望請求被發送到該Pod

下面的應用強依賴mongodb,我們針對這些依賴項設置了readiness探針

services.AddHealthChecks().AddCheck<MongoHealthCheck>(nameof(MongoHealthCheck),?tags:?new[]?{?"readyz"?}); //?---------------------- app.UseHealthChecks("/readyz",?new?HealthCheckOptions {Predicate?=?(check)?=>?check.Tags.Contains("readyz") });????????????????

以下代碼探測Mongodb的連通性

??sealed?class?MongoHealthCheck?:?IHealthCheck{private?readonly?IMongoDatabase?_defaultMongoDatabase;public?MongoHealthCheck(IDefaultMongoDatabaseProvider?defaultMongoDatabaseProvider){_defaultMongoDatabase?=?defaultMongoDatabaseProvider.GetDatabase();}public?async?Task<HealthCheckResult>?CheckHealthAsync(HealthCheckContext?context,?CancellationToken?cancellationToken?=?default){var?doc?=?await?_defaultMongoDatabase.RunCommandAsync(new?BsonDocumentCommand<BsonDocument>(new?BsonDocument()?{{?"ping",?"1"?}}),?cancellationToken:?cancellationToken);var?ok?=?doc["ok"].ToBoolean();if?(ok){return?HealthCheckResult.Healthy("OK");}return?HealthCheckResult.Unhealthy("NotOK");}}

對于依賴項的探測,探測周期和超時時間可以設置的稍長一點

readinessProbe:httpGet:path:?/readyzport:?80initialDelaySeconds:?5periodSeconds:?60?????#?60s探測一次timeoutSeconds:?30????#?每次探測30s超時,與應用建立與依賴項的連接超時時間一致failureThreshold:?3???#?連續3次探測失敗,該Pod會被標記為`Unready`

Startup Probes

使用[啟動探針]判斷容器應用是否已經啟動。如果配置了這個探針,則該探針成功之前將會禁用存活和就緒探針。

配置探針

  • initialDelaySeconds:容器啟動,探針延后工作,默認是0s

  • periodSeconds 探針探測周期,默認10s

  • timeoutSeconds:探針工作的超時時間,默認1s

  • successThreshold:連續幾次探測成功,該探針被認為是成功的,默認1次

  • failureThreshold:連續幾次探測失敗,該探針被認為最終失敗,對于livenes探針最終失敗意味著重啟,對于readiness探針意味著該pod Unready, 默認3次。

強烈建議根據應用結構合理設置探針參數,避免不切實際的認定失敗導致的頻繁重啟或 Unready。

結束語:

Kubernetes生態這么龐大,為啥單獨拎出k8s探針, 是因為k8s探針是與應用程序結構密切相關的機制。就使用方式看:

存活探針:用于快速判斷應用進程是否無響應,嘗試重啟修復;

就緒探針:判斷應用及依賴項是否就緒,是否可以分配流量,如果不能就標記Unready,從負載均衡器中移除該Pod。

Kubernetes存活、就緒探針可以極大地提高服務的健壯性和彈性,并提供出色的最終用戶體驗。

干貨周邊也很重要

  • ??硬核技能k8s初體驗

  • ?Docker-HealthCheck指令探測ASP.NET Core容器健康狀態

  • 如果本文對你有幫助,

    不妨來個分享、點贊、在看三連

    總結

    以上是生活随笔為你收集整理的Kubernetes Liveness and Readiness Probes的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 午夜精品久久久久久久99黑人 | 午夜激情在线观看 | aaaa级片| 国产日日日| 亚洲天堂网在线观看 | jizz教师 | 五月天激情在线 | 婷婷激情综合 | 成人av色 | 亚洲天堂一区 | h片在线免费观看 | 禁断介护av| 老女人黄色片 | 波多野结衣中文字幕一区二区 | 国产性xxxx高清| 中国老妇性视频 | 成人在线观看一区二区三区 | 在哪看毛片 | 免费视频一区 | 欧美激情欧美激情在线五月 | 色综合啪啪 | 自拍偷拍第一页 | 在线观看av免费 | 免费裸体视频网站 | 国产swag在线观看 | 红桃av在线| 插插宗合网 | 国产精品va无码一区二区 | 国产九九精品 | 在线观看免费日韩av | 日日夜夜免费精品 | ts人妖在线观看 | 无码人妻精品一区二区三区温州 | 亚洲一区二区三区免费观看 | 久久伊人精品 | 国产调教 | 超碰在线小说 | 性精品 | 无码国产精品一区二区色情男同 | 国产成人免费电影 | 黄片一区二区 | 日韩在线1 | 高h视频在线免费观看 | 性涩av| 乱亲女h秽乱长久久久 | 国产成人a v | 伊人色在线 | 亚洲春色在线观看 | 久久午夜无码鲁丝片 | 17c精品麻豆一区二区免费 | 中文字幕+乱码+中文字幕一区 | 国产一级在线免费观看 | 精品久久久久久亚洲综合网站 | 午夜精品成人毛片非洲 | 阿的白色内裤hd中文 | 少妇久久久久久被弄到高潮 | 国产精品久久一 | 中文字幕日韩精品在线 | 中文字幕日韩一级 | 欧洲午夜视频 | 欧美日韩精品一区二区三区四区 | 成人久久网 | 依人成人| 亚洲色图久久 | 欧美性猛交ⅹxx乱大交 | 色干网| 肉肉视频在线观看 | 国产高潮视频 | 尤物国产 | 日韩一区二区三区四区五区六区 | 四川少妇xxx奶大xxx | 特级西西www444人体聚色 | www日韩 | 二区欧美 | 亚洲人视频 | av免费久久 | 久久久久久久久久影视 | 久久视奸 | 欧美精品啪啪 | a级片在线观看视频 | 久久大香焦 | 欧美剧场 | 亚洲色图40p | 中文字幕第23页 | 性av网站 | 96日本xxxxxⅹxxx70 | 日韩欧美在线视频 | 亚洲一区二区三区激情 | 99国产视频在线 | 日产精品久久久一区二区 | 亚洲区免费 | 亚洲色图五月天 | 凹凸精品熟女在线观看 | 国产精品女教师 | 欧美又大粗又爽又黄大片视频 | 国产精品久久久久久妇女 | 97国产成人 | 亚洲一二三四五 | 高h捆绑拘束调教小说 |