女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

容器探針的三種類型介紹

馬哥Linux運維 ? 來源:cnblogs ? 2024-02-26 11:08 ? 次閱讀

簡介

容器探針(Container Probes)是一種機制,由 kubelet 對容器執行定期的探查,從而獲取容器的狀態。探針的類型有三種:

啟動探針(Startup Probe)

存活探針(Liveness Probe)

就緒探針(Readiness Probe)

探針功能

啟動探針

啟動探針(StartupProbe)主要用于檢測容器內的應用是否已經成功啟動并完成初始化任務。它的主要作用有以下幾點:

延緩其他探針生效:在容器啟動初期,啟動探針先于存活探針(LivenessProbe)和就緒探針(ReadinessProbe)生效。當啟動探針配置存在時,kubelet 不會執行存活和就緒探針,直到啟動探針成功為止。這對于某些啟動時間較長或者啟動過程中有復雜初始化序列的應用程序來說非常重要,可以避免在應用還未完全啟動時就被誤判為不健康或就緒,進而被錯誤地重啟或流量過早涌入。

防止頻繁重啟:若應用啟動期間,存活探針或就緒探針就開始工作,而此時應用可能還沒有完全啟動成功,這兩個探針可能會因為應用未能及時響應而觸發容器重啟,造成不必要的服務中斷和循環重啟。啟動探針的存在可以有效地防止此類情況的發生。

存活探針

存活探針(Liveness Probe)主要作用是檢測容器內主進程或服務是否仍然運行正常且響應健康檢查。具體來說:

自動恢復:當存活探針檢測失敗時,kubelet 將認為該容器內的主進程已經不再健康或者已停止提供預期的服務。此時,kubelet 會根據 Pod 的重啟策略來決定是否應該重新啟動這個容器。通過這種方式,存活探針可以幫助實現故障自愈,及時恢復服務的可用性。

就緒探針

就緒探針(Readiness Probe)主要作用是檢測容器是否已經準備好對外提供服務。具體來說:

流量路由控制:當就緒探針成功時,表示該容器內部的應用程序已處于可接受請求的狀態,此時 kubelet 會將該容器標記為“就緒”狀態,Service 將會將其 IP 地址添加到后端服務列表中,允許 Service 開始將網絡流量轉發至這個 Pod。

避免無效請求:如果就緒探針失敗,則意味著容器可能還在啟動過程中、正在重啟服務、或者由于某種原因暫時無法正常響應請求。在這種情況下,kubelet 會將容器從 Service 的后端池中移除,確保不會向其發送任何用戶請求,從而避免了因應用未準備完畢而引起的錯誤響應和用戶體驗下降。

平滑過渡:通過就緒探針,Kubernetes 可以實現滾動更新或部署過程中的平滑過渡,新版本的容器在通過就緒探針驗證前,不會承擔任何實際流量,直到它們完全啟動并做好處理請求的準備。

探針方式

探針實現方式有三種:

HTTP GET請求:Kubernetes 通過向容器內應用發送一個HTTP GET請求來檢查應用的狀態。如果收到的 HTTP 響應碼在 200-399 范圍內,則認為該探測成功。


livenessProbe:   #可指定其他兩種探針類型
  httpGet:     #指定探針方式
    path: /healthz   #http請求路徑
    port: 8080      #請求端口
    httpHeaders: # 可選,用于設置自定義HTTP頭部
    - name: Custom-Header
      value: huawei

TCP Socket檢查:Kubernetes 嘗試與容器上指定的端口建立 TCP 連接。如果能夠成功建立連接,則說明探測成功。


livenessProbe:
  tcpSocket:
    port: 8080

exec執行命令:在容器內部執行一個命令,并根據命令退出時返回的狀態碼判斷容器是否正常運行。通常情況下,如果命令返回 0,則表示成功。


livenessProbe:
  exec:
    command:
    - cat
    - /tmp/health

啟動探針、存活探針和就緒探針同時支持這三種方式。每種探針可以選擇不同探測方式

探針配置參數

Kubernetes中的探針都支持一些通用的參數來定義它們的行為。以下是這些探針通常使用的配置參數:

initialDelaySeconds:容器啟動后要等待多少秒后才啟動啟動、存活和就緒探針。如果定義了啟動探針,則存活探針和就緒探針的延遲將在啟動探針已成功之后才開始計算。如果 periodSeconds 的值大于 initialDelaySeconds,則 initialDelaySeconds 將被忽略。默認是 0 秒,最小值是 0。

periodSeconds:執行探測的時間間隔(單位是秒)。默認是 10 秒。最小值是 1。

timeoutSeconds:探測的超時后等待多少秒。默認值是 1 秒。最小值是 1。

successThreshold:探針在失敗后,被視為成功的最小連續成功數。默認值是 1。存活和啟動探針的這個值必須是 1。

failureThreshold:探針連續失敗了 failureThreshold 次之后, Kubernetes 認為總體上檢查已失敗:容器狀態未就緒、不健康、不活躍。對于啟動探針或存活探針而言,如果至少有 failureThreshold 個探針已失敗, Kubernetes 會將容器視為不健康并為這個特定的容器觸發重啟操作。kubelet 遵循該容器的terminationGracePeriodSeconds 設置。

terminationGracePeriodSeconds:k8s1.25以上版本新增,為 kubelet 配置從為失敗的容器觸發終止操作到強制容器運行時停止該容器之前等待的寬限時長。默認值是繼承 Pod 級別的 terminationGracePeriodSeconds 值(如果不設置則為 30 秒),最小值為 1。就緒探針不需要配置該參數

完整配置示例:


livenessProbe:
  #可以選擇 httpGet、tcpSocket 或 exec 中的一種
  httpGet:
    path: /health
    port: 8080
    httpHeaders:
    - name: Custom-Header
      value: huawei
  #通用參數:
  initialDelaySeconds: 30
  periodSeconds: 10
  timeoutSeconds: 1
  successThreshold: 1
  failureThreshold: 3
  terminationGracePeriodSeconds: 30


readinessProbe: # 就緒探針配置類似
startupProbe:   # 啟動探針配置也相似

配置建議

如果應用是慢啟動類型,建議配置啟動探針或者為存活探針配置initialDelaySeconds參數,避免存活探針過早介入導致容器頻繁重啟。如果應用啟動時間不固定建議使用啟動探針。

可以將啟動探針initialDelaySeconds、periodSeconds的值調低,讓啟動探針更快感知容器健康狀態;由于啟動探針探測成功后就會退出不會影響容器后續運行,可以將failureThreshold的值調大,避免應用還未啟動完成過早觸發重啟

由于存活探針探測失敗會導致容器重啟,因此將存活探針的failureThreshold設置比就緒探針大,這樣如果應用有問題應該先切斷流量

審核編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 探針
    +關注

    關注

    4

    文章

    219

    瀏覽量

    20868
  • 容器
    +關注

    關注

    0

    文章

    507

    瀏覽量

    22356

原文標題:一文帶你了解容器探針

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    protel *** 一個庫安裝了三種類型的,怎么回事?

    本帖最后由 pqwlkh 于 2012-11-28 10:15 編輯 protel *** 一個庫安裝了三種類型的,怎么回事?
    發表于 11-28 09:59

    三種類型的復位

    00. 目錄文章目錄00. 目錄01. 概述02. 系統復位03. 電源復位04. 備份域復位05. 預留06. 附錄07. 聲明01. 概述共有三種類型的復位,分別為系統復位、電源復位和備份域復位
    發表于 07-23 06:10

    三種類型的軸承數據

    參見相關說明,或者參見其他帖子。然后下載其中某一個類別的某一個故障數據文件后,文件類型是.mat格式,可以使用MATLAB打開,打開后發現里面又區分了三種類型的數據,如上圖,這里不太清楚為什么在已...
    發表于 09-08 06:32

    編譯的三種類型是什么?

    編譯的三種類型是什么?ARM_Linux制作嵌入式遠程調試工具
    發表于 12-24 06:42

    mimo技術的三種模式介紹,mimo技術作用,mimo技術種類

    本文以MIMO技術為中心,主要介紹了mimo技術的三種模式介紹,mimo技術作用,mimo技術種類以及mimo技術在生活當中的應用。
    發表于 12-12 15:58 ?6.7w次閱讀
    mimo技術的<b class='flag-5'>三種</b>模式<b class='flag-5'>介紹</b>,mimo技術作用,mimo技術<b class='flag-5'>種類</b>

    Keil C51的內存模型有哪些?三種類型的內存模型詳細說明

    Keil C51編譯器提供三種類型的內存模型:small,compact,large。內存模型決定了函數參數、自動變量以及未顯式聲明存儲類型情況下的默認存儲類型
    發表于 09-09 17:26 ?2次下載
    Keil C51的內存模型有哪些?<b class='flag-5'>三種類型</b>的內存模型詳細說明

    區塊鏈的三種類型及應用介紹

    因為,區塊鏈應用的領域不同,有的領域更需要安全,有的領域則更注重效率,于是就導致,市面上就出現了多種改良版本的區塊鏈,按照對節點的開放程度的不同,目前主要把區塊鏈分為三種類型,分別是公有鏈、私有鏈和聯盟鏈。
    發表于 10-25 10:41 ?1.2w次閱讀

    verilog中端口類型有哪三種_verilog語言入門教程

    本文主要闡述了verilog中端口的三種類型及verilog語言入門教程。
    發表于 08-27 09:29 ?1.1w次閱讀

    薄膜電容器按電介質的不同可分為三種類型

    薄膜電容的分類介紹 電介質分類 按電介質的不同可將薄膜電容器分為以下三種類型: T型:即PET –Polyethylene(聚乙烯對苯二酸鹽(或酯))P型:即PP-Polypropylene(聚丙烯
    發表于 05-25 00:18 ?2622次閱讀

    氣動氣缸的類型之氣缸的三種種類類型說明

    氣動氣缸的類型(氣缸的三種種類類型)-藤倉自動化 氣動氣缸最常用于工程和制造行業,通過加壓氣體的積聚來產生運動。當然,您需要的氣缸類型會因具體應用和行業而異。圓柱體也俗稱圓柱體;由于儀
    發表于 08-05 17:31 ?7646次閱讀

    容器三種用途分享

    容器大致用于以下三種用途。鉭電容器作為電容器的一,也被用于同樣的用途。
    發表于 01-03 11:54 ?2087次閱讀

    功率放大器的種類有哪三種類型

    功率放大器是一能將輸入信號轉換為更高功率輸出的電子設備。在電子工程和音頻領域中,功率放大器通常被分為三種類型:A類、B類和AB類。下面安泰電子將詳細介紹三種類型的功率放大器及其特點
    的頭像 發表于 08-02 17:45 ?1824次閱讀
    功率放大器的<b class='flag-5'>種類</b>有哪<b class='flag-5'>三種類型</b>

    耦合有哪幾種類型?電路的三種耦合方式 三種耦合電路及其特點

    耦合有哪幾種類型?電路的三種耦合方式 三種耦合電路及其特點 耦合是指電子元件或電路中不同部分之間的相互作用。在電路中,耦合可以分為很多種類型,其中最基本的有磁耦合和電容耦合兩
    的頭像 發表于 09-22 12:22 ?1.1w次閱讀

    常見的socket三種類型

    常見的socket三種類型? Socket是計算機網絡中常用的通信機制,在網絡編程中起到了非常重要的作用。Socket可以分為三種類型:流套接字(Stream Socket)、數據報套接字
    的頭像 發表于 12-08 11:18 ?2889次閱讀

    雷達的種類有哪三種類型

    雷達是一利用電磁波進行目標探測和跟蹤的設備。它在軍事、航空、海洋、天文和氣象等領域具有廣泛的應用。雷達的種類可以按照不同的分類方式進行劃分。在本文中,我們將按照雷達的工作方式,將雷達分為三種類型
    的頭像 發表于 12-21 11:38 ?6977次閱讀