国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【云原生K8S】Kubernetes之探針

這篇具有很好參考價值的文章主要介紹了【云原生K8S】Kubernetes之探針。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、探針是什么

二、探針類型?

Ⅰ、livenessProbe

容器重啟策略?

Ⅱ、readinessProbe

Ⅲ、startupProbe

執(zhí)行順序:

字段詳情

三、探測機制

Ⅰ、HTTP GET探針

Ⅱ、TCP套接字探針

Ⅲ、Exec探針


一、探針是什么

探針:是由 kubelet 對容器執(zhí)行的定期診斷

要執(zhí)行診斷,則需kubelet 調用由容器實現(xiàn)的 Handler。探針有三種類型的處理程序:

ExecAction:在容器內執(zhí)行指定命令。如果命令退出時返回碼為 0 則認為診斷成功。
TCPSocketAction:對指定端口上的容器的 IP 地址進行 TCP 檢查。如果端口打開,則診斷被認為是成功的。
HTTPGetAction:對指定的端口和路徑上的容器的 IP 地址執(zhí)行 HTTP Get 請求。如果響應的狀態(tài)碼大于等于200 且小于 400,則診斷被認為是成功的。
和微服務的心跳檢測類似,每隔一段時間,檢測這個容器是否還正常工作,檢測狀態(tài)分為三種,每次檢測,都會得到其中一種

成功:容器通過了診斷。
失敗:容器未通過診斷。
未知:診斷失敗,因此不會采取任何行動。
k8s會根據(jù)檢測到的不同狀態(tài),對容器進行不同的處理

二、探針類型?

探針主要有以下三種類型:

livenessProbe?
readinessProbe
startupProbe

Ⅰ、livenessProbe

livenessProbe:存活性探針

指檢測容器是否正在運行。

如果存活探測失敗,則 kubelet 會殺死容器(需要注意:殺死的是container不是pod),并且容器將受到其重啟策略(Always,OnFailure,Never)的影響。
如果容器不提供存活探針,則默認狀態(tài)為 Success。

容器重啟策略?

PodSpec 中有一個 restartPolicy 字段,其值可以設置為

Always? ? ? ? ? (默認為 Always)
OnFailure
Never

Always:表示一旦不管以何種方式終止運行,kubelet都將重啟

OnFailure:表示只有Pod以非0退出碼退出才重啟

Nerver:表示不再重啟該Pod

restartPolicy 適用于 Pod 中的所有容器。

restartPolicy 僅指通過同一節(jié)點上的 kubelet 重新啟動容器。

失敗的容器由 kubelet 以五分鐘為上限的指數(shù)退避延遲(10秒,20秒,40秒…)重新啟動,并在成功執(zhí)行十分鐘后重置。

如 Pod 官方文檔中所說,一旦pod綁定到一個節(jié)點,Pod 將永遠不會重新綁定到另一個節(jié)點。
?

Ⅱ、readinessProbe

readinessProbe:就緒性探針

指示容器是否準備好服務請求【對外接受請求訪問】。

如果就緒探測失敗,端點控制器將從與 Pod 匹配的所有 Service 的端點中刪除該 Pod 的 IP 地址IP:Port。
初始延遲之前的就緒狀態(tài)默認為 Failure。
如果容器不提供就緒探針,則默認狀態(tài)為 Success。 ?
用于判斷容器內的程序是否存活,如果不滿足健康條件,那么會自動從Service的 EndPoint 列表中去除該pod的 IP:Port

Ⅲ、startupProbe

startupProbe:啟動探針,k8s1.16新增加的一種類型

指檢測容器中的應用是否已經啟動。

如果提供了啟動探測(startup probe),則禁用所有其他探測,直到它成功為止。
如果啟動探測失敗,kubelet 將殺死容器,容器服從其重啟策略進行重啟。
如果容器沒有提供啟動探測,則默認狀態(tài)為成功Success。
主要解決在慢啟動程序或復雜程序中readinessProbe、livenessProbe探針無法較好的判斷程序是否啟動、是否存活。

引入startupProbe探針是為readinessProbe、livenessProbe探針服務。

執(zhí)行順序:

如果三個探針同時存在,則先執(zhí)行startupProbe探針,其他兩個探針將會被暫時禁用,直到startupProbe一次探測成功,其他2個探針才啟動;如果startupProbe探測失敗,kubelet 將殺死容器,并根據(jù)restartPolicy重啟策略來判斷容器是否要進行重啟操作。

就緒探針與存活探針之間的重要區(qū)別:如果容器未通過準備檢查,則不會被終止或重新啟動。
存活探針:通過殺死異常的容器,并用新的正常容器替代他們來保持Pod正常工作
就緒探針:確保只有準備好處理請求的Pod才可以接收探針請求

探針示例

探針資源 yml 中的常用的配置,如下。可根據(jù)具體的需求去設置

spec:
?? ?containers:
?? ??? ?# 就緒探針
?? ??? ?readinessProbe:
?? ??? ??? ?# 檢測方式
?? ??? ??? ?httpGet:?
?? ??? ??? ?# 超時時間
?? ??? ??? ?timeoutSeconds:?
?? ??? ??? ?# 延遲時間
?? ??? ??? ?initialDelaySeconds:
?? ??? ??? ?# 失敗次數(shù)限制
?? ??? ??? ?failureThreshold:
?? ??? ??? ?# 每多少秒檢測一次
?? ??? ??? ?periodSeconds:
?? ??? ?# 存活探針
?? ??? ?livenessProbe:
? ? ? ? ? ? # 檢測方式
?? ??? ??? ?httpGet:?
?? ??? ??? ?# 超時時間
?? ??? ??? ?timeoutSeconds:?
?? ??? ??? ?# 延遲時間
?? ??? ??? ?initialDelaySeconds:
?? ??? ??? ?# 失敗次數(shù)限制
?? ??? ??? ?failureThreshold:
?? ??? ??? ?# 每多少秒檢測一次
?? ??? ??? ?periodSeconds:

字段詳情

這些字段可以精確的控制存活和就緒檢測

initialDelaySeconds:容器啟動后要等待多少秒后存活和就緒探測器才被初始化

默認是 0 秒,最小值是 0

?periodSeconds:執(zhí)行探測的時間間隔(單位是秒)

默認是 10 秒。最小值是 1。

timeoutSeconds:探測的超時時間

默認值是 1 秒。最小值是 1。?

successThreshold:探測器在失敗后,被視為成功的最小連續(xù)成功數(shù)。

默認值是 1。存活探測的這個值必須是 1。最小值是 1。?

failureThreshold:當探測失敗時,Kubernetes 的重試次數(shù)。存活探測情況下的放棄就意味著重新啟動容器。就緒探測情況下的放棄 Pod 會被打上未就緒的標簽。

默認值是 3。最小值是 1。?

?在 httpGet 上配置額外的字段:?

host:連接使用的主機名,默認是 Pod 的 IP。也可以在 HTTP 頭中設置 “Host” 來代替。

?scheme :用于設置連接主機的方式(HTTP 還是 HTTPS)。

默認是 HTTP。

path:訪問 HTTP 服務的路徑。?

httpHeaders:請求中自定義的 HTTP 頭。HTTP 頭字段允許重復。?

port:訪問容器的端口號或者端口名。如果數(shù)字必須在 1 ~ 65535 之間。?

三、探測機制

探測機制有三種:

HTTP GET探針
TCP套接字探針
Exec探針

就緒探針/存活探針,都有這三種探測機制。

Ⅰ、HTTP GET探針

該探針,是針對容器的IP地址(或者是指定的端口和地址)執(zhí)行HTTP GET請求,狀態(tài)碼:

如果返回狀態(tài)碼是2xx或者3xx,則探測成功。
如果服務器返回錯誤的狀態(tài)碼或者根本沒有反應,那么認定探測失敗,容器會被重新啟動。

Ⅱ、TCP套接字探針

TCP套接字探針:嘗試與容器指定的端口建立連接,

如果連接成功,則探測成功,
如果連接失敗,則認定為探測失敗,容器將被重新啟動

Ⅲ、Exec探針

Exec探針:在容器內執(zhí)行任意命令,并檢查命令的退出狀態(tài)碼,

如果返回的狀態(tài)碼為0,則探測成功,
如果返回狀態(tài)碼不為0,則探測失敗,容器將被重新啟動。

?文章來源地址http://www.zghlxwxcb.cn/news/detail-486748.html

到了這里,關于【云原生K8S】Kubernetes之探針的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 云原生Kubernetes:K8S概述

    云原生Kubernetes:K8S概述

    目錄 一、理論 1.云原生 2.K8S 3.k8s集群架構與組件 4.K8S網絡 二、總結 (1)概念 云原生是一種基于容器、微服務和自動化運維的軟件開發(fā)和部署方法。它可以使應用程序更加高效、可靠和可擴展,適用于各種不同的云平臺。 如果要更直接通俗的來解釋下上面的概念,云原生更

    2024年02月10日
    瀏覽(30)
  • 【云原生 ? Kubernetes】認識 k8s、k8s 架構、核心概念點介紹

    【云原生 ? Kubernetes】認識 k8s、k8s 架構、核心概念點介紹

    目錄 一、Kubernetes 簡介 二、Kubernetes 架構 三、Kunbernetes 有哪些核心概念? 1. 集群 Cluster 2. 容器 Container 3. POD 4. 副本集 ReplicaSet 5. 服務 service 6. 發(fā)布 Deployment 7. ConfigMap/Secret 8. DaemonSet 9. 核心概念總結 Kubernetes 簡稱 k8s,是支持云原生部署的一個平臺,起源于谷歌。谷歌早在十幾

    2024年02月03日
    瀏覽(834)
  • 【云原生 ? Kubernetes】認識 k8s 網絡、外部網絡訪問 k8s 內部服務

    【云原生 ? Kubernetes】認識 k8s 網絡、外部網絡訪問 k8s 內部服務

    目錄 一、認識 Kubernetes 網絡 二、外部網絡如何訪問 k8s 內部服務 1. NodePort 2. Load Balancer 3. Ingress Kubernetes 最底層的網絡為節(jié)點網絡,用來保證 k8s 集群的節(jié)點(master 和 worker、worker 節(jié)點之間)能夠做正常的 IP 尋址和通訊。 Kubernetes 第二層網絡就是 Pod 網絡,構建于節(jié)點網絡之上

    2024年01月16日
    瀏覽(102)
  • 云原生Kubernetes:K8S存儲卷

    云原生Kubernetes:K8S存儲卷

    目錄 一、理論 1.存儲卷 2.emptyDir 存儲卷 3.hostPath卷 4.NFS共享存儲 5.PVC 和 PV 6.靜態(tài)創(chuàng)建PV 7.動態(tài)創(chuàng)建PV 二、實驗 ?1.emptyDir 存儲卷 2.hostPath卷 3.NFS共享存儲 4.靜態(tài)創(chuàng)建PV 5.動態(tài)創(chuàng)建PV 三、問題 1.生成pod一直pending 2.shoumount -e未顯示共享目錄 3.靜態(tài)創(chuàng)建pv 報錯 4.使用 Deployment 來創(chuàng)建

    2024年02月07日
    瀏覽(33)
  • 云原生_kubernetes(k8s)介紹

    云原生_kubernetes(k8s)介紹

    目錄 一、應用部署方式演變 二、k8s介紹 三、k8s的組件 四、k8s中的概念 五、k8s資源管理方式 1、命令式對象管理 2、命令式對象配置 3、聲明式對象配置 在部署應用程序的方式上,主要經歷了三個時代: 1 、物理機部署: 互聯(lián)網早期,會直接將應用程序部署在物理機上 優(yōu)點

    2023年04月13日
    瀏覽(101)
  • 云原生Kubernetes:K8S安全機制

    云原生Kubernetes:K8S安全機制

    目錄 一、理論 1.K8S安全機制 2.Authentication認證 3.Authorization授權 4.Admission Control準入控制 5.User訪問案例 6.ServiceAccount訪問案例 二、實驗 1.Admission Control準入控制 2.User訪問案例 3.ServiceAccount訪問案例 三、問題 1.生成資源報錯 2.鏡像拉取失敗 四、總結 (1)概念 Kubernetes 作為一個分

    2024年02月07日
    瀏覽(26)
  • 云原生Kubernetes:K8S常用服務端口

    目錄 一、理論 1.K8S常用服務端口號 (1)K8S集群 表1?K8S集群端口 協(xié)議 端口號 K8S集群 TCP 22 使用主機驅動通過SSH進行節(jié)點配置 TCP 53 集群DNS服務 UDP 53 集群DNS服務 TCP 2376 主機驅動與Docker守護進程通信的TLS端口 TCP 2379 etcd客戶端請求 TCP 2380 etcd節(jié)點通信 UDP 8472 Canal/Flannel VXLAN ove

    2024年02月10日
    瀏覽(30)
  • 云原生Kubernetes:K8S配置資源管理

    云原生Kubernetes:K8S配置資源管理

    目錄 一、理論 1.Secret 2.Secret創(chuàng)建 3.Secret使用 4.Configmap 5.Configmap創(chuàng)建 6.Configmap使用 二、實驗 1.Secret創(chuàng)建 2.Secret使用 3.Configmap創(chuàng)建 4.Configmap使用 三、問題 1.變量引用生成資源報錯 2.查看pod日志失敗 3.創(chuàng)建configmap報錯 4.YAML創(chuàng)建configmap報錯 5. 生成資源報錯 6.文件掛載pod報錯Error 四

    2024年02月07日
    瀏覽(23)
  • 【云原生K8s】初識Kubernetes的理論基礎

    【云原生K8s】初識Kubernetes的理論基礎

    ? K8S由google的Borg系統(tǒng)(博格系統(tǒng),google內部使用的大規(guī)模容器編排工具)作為原型,后經GO語言延用Borg的思路重寫并捐獻給CNCF基金會開源。 云原生基金會(CNCF)于2015年12月成立,隸屬于Linux基金會。CNCF孵化的第一個項目就是Kubernetes, 隨著容器的廣泛使用,Kubernetes已經成為容

    2024年02月14日
    瀏覽(21)
  • 【 云原生 kubernetes 】- 使用Filebeat采集k8s日志

    【 云原生 kubernetes 】- 使用Filebeat采集k8s日志

    ??: 日志采集器Logstash其功能雖然強大,但是它依賴java、在數(shù)據(jù)量大的時候,Logstash進程會消耗過多的系統(tǒng)資源,這將嚴重影響業(yè)務系統(tǒng)的性能,而filebeat就是一個完美的替代者,它基于Go語言沒有任何依賴,配置文件簡單,格式明了, ? 用于轉發(fā)和集中日志數(shù)據(jù)的輕量級托

    2024年02月12日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包