【K8s】專題六(2):Kubernetes 穩定性之健康檢查

以下內容均來自個人筆記并重新梳理,如有錯誤歡迎指正!如果對您有幫助,煩請點贊、關注、轉發!歡迎掃碼關注個人公眾號!

公眾號二維碼


目錄

一、基本介紹

二、工作原理

三、探針類型

1、存活探針(LivenessProbe)

2、就緒探針(ReadinessProbe)

3、啟動探針(StartupProbe)

四、探測方式

1、EXEC 命令探測(ExecAction)

2、TCP 連接探測(TCPSocketAction)

3、HTTP 請求探測(HTTPGetAction)

五、資源清單(示例)


一、基本介紹

在 Kubernetes 中,健康檢查是集群通過探針(Probe)定期檢查容器是否健康運行,并自動維持容器健康運行的一種機制。

健康檢查可以保障容器內應用程序的穩定性和可用性,并控制應用程序何時可以提供對外訪問。


二、工作原理
  • 定義探針:用戶在 Pod 中定義探針配置,包括探針類型、探測方式、探測間隔和閾值
  • 觸發探針:Kubernetes 會根據定義的探針配置,定期觸發健康檢查
  • 執行探針:Kubernetes 會根據定義的探針配置,在容器中執行 EXEC 命令、建立 TCP 連接或發送 HTTP Get 請求
  • 結果處理:探針執行成功則等待下一次探測,探針執行失敗則根據既定規則對容器進行處理


三、探針類型
1、存活探針(LivenessProbe)

LivenessProbe 用于判斷容器是否存活,即是否處于 Running 狀態。如果 LivenessProbe 檢測到容器不健康,Kubernetes 會認為容器內應用程序已經崩潰或掛起,會通過 Kubelet 對該容器進行 Kill 和重啟處理。

2、就緒探針(ReadinessProbe)

ReadinessProbe 用于判斷容器是否可用,即是否處于 Ready 狀態。如果 Pod 中的全部容器都達到 Ready 狀態,Pod 才可以接收和處理請求,否則 Kubernetes 會認為容器內應用程序啟動異常,會通過 Kubelet 對該容器進行 Kill 和重啟處理。

3、啟動探針(StartupProbe)

某些應用程序啟動非常慢,如果只配置 LivenessProbe 或 ReadinessProbe,很可能出現應用程序還沒有完成啟動,對應的容器就被 Kill 掉無限重啟的情況。

配置有 StartupProbe 的 Pod,在應用程序沒有成功啟動之前,LivenessProbe 和?ReadinessProbe 均不生效,不會重啟容器。


四、探測方式
1、EXEC 命令探測(ExecAction)

嘗試在容器內執行一個 EXEC 命令,返回碼為 0 表明容器健康。

2、TCP 連接探測(TCPSocketAction)

嘗試與容器的指定端口建立?TCP 連接,如果能夠建立表明容器健康。

3、HTTP 請求探測(HTTPGetAction)

嘗試對容器的指定接口發送 HTTP Get?請求,如果響應碼大于等于 200 且小于 400 表明容器健康。


五、資源清單(示例)
apiVersion: apps/v1
kind: Deployment
metadata:nanme: demo-deployment
spec:
...spec:containers:- name: demo-container
...startupProbe / livenessProbe / readinessProbe:exec:                              # EXEC 命令探測方式command: ["cat", "/health.txt"]或tcpSocket:                         # TCP 連接探測方式port: 80或httpGet:                           # HTTP 請求探測方式path: /healthport: 80initialDelaySeconds: 5             # 首次探測前等待時間periodSeconds: 10                  # 探測間隔時間timeoutSeconds: 1                  # 探測超時時間successThreshold: 1                # 探測成功閾值failureThreshold: 3                # 探測失敗閾值

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/35849.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/35849.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/35849.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

docker入門配置

1、創建配置鏡像 由于國內docker連接外網速度慢,采用代理 vi /etc/docker/daemon.json添加以下內容 {"registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com","https://dockerproxy.com","https://hub-mirror.c.163.co…

SOA和ESB介紹

SOA(面向服務的架構) 面向服務的架構(Service-Oriented Architecture,SOA)是一種設計理念,用于構建松耦合的、可互操作的、模塊化的服務。在SOA架構中,應用程序被劃分為一系列的服務&#xff0c…

電腦屏幕花屏怎么辦?5個方法解決問題!

“我剛剛打開電腦就發現我的電腦屏幕出現了花屏的情況。這讓我很困惑,我應該怎么解決這個問題呢?求幫助。” 在這個數字時代的浪潮中,電腦早已成為我們生活中不可或缺的一部分。然而,當你正沉浸在緊張的游戲對戰中,或是…

從零到一學FFmpeg:AVCodecContext 結構體詳析與實戰

文章目錄 前言一、函數原型二、功能描述三、使用場景四、使用實例 前言 avio_open是FFmpeg庫中的一個函數,用于打開一個I/O(輸入/輸出)上下文,以便于讀寫文件、網絡流或其他類型的媒體數據源。這個函數是FFmpeg進行文件操作的基礎…

谷歌上搞下來的,無需付費,可以收藏!

在數字化時代,我們越來越依賴于智能設備來獲取信息和知識。中國智謀App正是這樣一款應用,它將中國古代的智慧與謀略書籍帶入了我們的移動設備,讓我們能夠隨時隨地學習和領悟。而且提供文言文的原文和譯文。 軟件下載方式:谷歌上搞…

39.右鍵彈出菜單管理游戲列表

上一個內容:38.控制功能實現 以 ??????? 38.控制功能實現 它的代碼為基礎進行修改 效果圖: 點擊設置之后的樣子 點擊刪除 點擊刪除之后的樣子 實現步驟: 首先添加一個菜單資源,右擊項目資源選擇下圖紅框 然后選擇Menu 然…

【C語言】字符/字符串+內存函數

目錄 Ⅰ、字符函數和字符串函數 1 .strlen 2.strcpy 3.strcat 4.strcmp 5.strncpy 6.strncat 7.strncmp 8.strstr 9.strtok 10.strerror 11.字符函數 12. 字符轉換函數 Ⅱ、內存函數 1 .memcpy 2.memmove 3.memcmp Ⅰ、字符函數和字符串函數 1 .strlen 函數原型:…

《計算機英語》 Unit 6 Internet 互聯網

Section A Internet 互聯網 The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite (TCP/IP) to link several billion devices worldwide. 互聯網是一個全球性的互連計算機網絡系統,使用標準的互聯…

python多線程加速web服務

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、代碼實現?1.引入庫2.讀入數據 總結 前言 提示:這里可以添加本文要記錄的大概內容: 1 提示:以下是本篇文章…

15、Spring~容器啟動過程

15、Spring~容器啟動過程 容器啟動過程AnnotationConfigApplicationContext類的四個構造器:啟動過程詳解無參構造方法refresh()方法prepareRefresh()方法prepareBeanFactory()方法invokeBeanFactoryPostProcessors()方法registerBeanPostProcessors()方法finishBean…

蘋果CMS-V10 搭建教程踩坑,跳過部分驗證

我突發奇想,想要安裝一個CMS 蘋果CMS搭建教程-CSDN博客 然后就有了下面的問題 結論是zip相關依賴未安裝, 通過 apt install php-zip, 重新打開安裝頁面,同樣如此 最后依據某個網站提示,修改 "\\192.168.1.200\root\var\www\html\maccms\application\install\control…

JSR 303全解析:如何在Java項目中實施高效數據校驗

1. JSR 303是什么? JSR 303(Java Specification Request 303),也稱為Bean Validation,是Java中的一個規范,用于定義Java對象的校驗規則。 1.1 JSR 303的主要功能 注解驅動:通過注解直接在Jav…

多家國產大模型提供OpenAI API服務替代方案,谷歌將推出明星網紅AI聊天機器人

ChatGPT狂飆160天,世界已經不是之前的樣子。 更多資源歡迎關注 1、OpenAI終止對中國提供服務 6月25日凌晨,多個用戶收到OpenAI的推送郵件,信中稱,自今年7月9日起,將開始阻止來自非支持國家和地區的API(應…

3.任務的創建與刪除

1.什么是任務? 任務可以理解為進程/線程,創建一個任務,就會在內存開辟一個空間。 任務通常都含有while(1)死循環 2.任務創建與刪除相關的函數 3.CUBEMAX相關配置 編輯一個led1閃爍的任務

小程序使用echarts和echarts配置項總結(全網最簡單詳細)

文章目錄 概要小程序中使用echarts1. ec-canvas2. 下載項目3. 去echarts官網定制:4.點擊下載5.引入使用 echarts的option配置知識點歸納整理(還在更新):小結 概要 小程序中使用echarts(簡單詳細) 小程序中…

解密城市酷選為何異軍突起!打造消費新潮流的排隊免單模式

一、城市酷選平臺簡介 在數字化浪潮席卷全球的今天,城市酷選作為一個前沿的消費平臺,憑借其獨特的排隊免單模式,成功吸引了眾多消費者和商家的目光。該平臺不僅整合了線上線下的資源,更通過數字化手段,為消費者提供了…

云計算 | 期末梳理(中)

1. 經典虛擬機的特點 多態(Polymorphism):支持多種類型的OS。重用(Manifolding):虛擬機的鏡像可以被反復復制和使用。復用(Multiplexing):虛擬機能夠對物理資源時分復用。2. 系統接口 最基本的接口是微處理器指令集架構(ISA)。應用程序二進制接口(ABI)給程序提供使用硬件資源…

C3P0數據庫連接池

目錄 一:連接池介紹 1.1連接池解決的問題 2.常用的數據庫連接池 二:c3p0介紹 2.1C3P0介紹: 2.2C3P0快速入門 1.常用參數說明 2.API介紹 3.使用步驟 1.導入jar包c3p0-0.9.1.2.jar 2.編寫c3p0-config.xml配置文件,配置對…

Python 中字符串修飾符

1. 原始字符串 (Raw String) - r 或 R 使用 r 或 R 前綴,可以告訴 Python 字符串中的所有反斜杠都是普通字符,而不是轉義字符。這在處理文件路徑、正則表達式等情況下非常有用。 path rC:\new_folder\test.txt # 原始字符串2. 格式化字符串 (Formatt…

第十九條:要么為繼承而設計并提供文檔說明,要么就禁止繼承

在前面一條中,我們已經知道了David寫了A類被Tom拿去繼承了,導致了A類的封裝性遭到了破壞,那么有沒有可能做點事情避免此事發生呢?第十九條孕育而生!David在創建A類的時候寫上文檔說明,說Al類不允許任何類來…