Kubernetes》》K8S》》Pod的健康檢查

K8s概念總結
》》》Pod的生命周期階段
Pod的生命周期可以簡單描述:首先Pod被創建,緊接著Pod被調度到Node節點進行部署。
Pod是非常忠誠的,一旦被分配到Node節點后,就不會離開這個Node節點,直到它被刪除,刪除可能是人為刪除或者被RC(Replication Controller 舊版本)、RS(ReplicaSet新版本)刪除,也可能是當Pod進行Succeeded或Failed階段過期,被K8s 清理掉。總之Pod被刪除后,生命周期結束。即使被RS、RC 進行重建,也是新的Pod。
Pod的生命周期被定義為以下幾個階段

Pending:Pod已經被創建,但是一個或者多個容器還未創建,這包括Pod調度階段,以及容器鏡像下載階段
Running: Pod已經被調度到Node節點上,所有容器已經創建,并且至少一個容器在運行或者正在重啟
Succeeded:Pod中所有容器正常退出 就是Exit Code 為0
Failed: Pod中所有容器退出,至少有一個容器是非正常退出(Exit Code 非0 )

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

Pod被創建成功后,首先會進入Pending階段,然后被調度到Node后運行,進入Running階段。如果Pod中的容器停止(正常或者異常退出),那么Pod根據重啟策略的不同會進入不同的階段。

》》回調函數
在這里插入圖片描述

在這里插入圖片描述

# Pod活著才可能提供處理能力(提供服務),Pod死了,一定就不能提高處理能力,Pod活著不一樣就能提供處理能力
# liveness 存活性檢測   檢測Pod是否活著
# readiness 就緒性檢測  檢測Pod是否準備就緒提供處理能力

開始回調鉤子(postStart)里面有如下三種方式:
exec : 執行命令,執行的結果如果返回值不為0即為失敗(注:exec下面執行的命令,必須為當前容器內支持的命令)
tcpsocket :探測端口,探測的端口如果探測失敗即為失敗
httpget : 訪問鏈接 ,如果訪問鏈接狀態碼不為200即為失敗
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

。。。。。
#  exec 方式
spec: containers: - image: nginx:1.17.1name: nginx-containerports: - name: "port-name"containerPort: 8080protocol: TCPlifecycle:postStart:  # 主容器啟動后鉤子exec:command: - "/bin/sh"- "-c"- "touch /opt/lifecycle.txt"preStop:  # 主容器終止前鉤子exec:command: - "/bin/sh"- "-c"- "cat /opt/lifecycle.txt"

以下列子是在主容器啟動后會去訪問鏈接http://192.x.1.x:8080/login,在主容器終止前去訪問鏈接http://192.x.1.x:8080/logout;

#  httpget方式

#  httpget方式
spec: containers: - image: nginx:1.17.1name: nginx-containerports: - name: "port-name"containerPort: 8080protocol: TCPlifecycle:postStart:  # 主容器啟動后鉤子httpGet: path: /login             # Url地址port: 8080          # 端口host: 192.x.1.x # 默認pod的PodIPschema: HTTP # 支持的協議,http或httpspreStop:  # 主容器終止前鉤子httpGet: path: /logout            # Url地址port: 8080          # 端口host: 192.x.1.x # 主機地址schema: HTTP # 支持的協議,http或https  默認 http

以下列子是在主容器啟動后嘗試去連接8080端口,在主容器終止前去連接8081端口

# tcpsocket 方式
spec: containers: - image: nginx:1.17.1name: nginx-containerports: - name: "port-name"containerPort: 8080protocol: TCPlifecycle:postStart:  # 主容器啟動后鉤子tcpSocket: port: 8080preStop:  # 主容器終止前鉤子tcpSocket: port: 8081

Pod健康檢測

apiVersion: v1
kind: Pod
metadata:name: liveness-exec-podlabels:test: liveness
spec:containers:- name: livenessimage: nginx:latest# 定義健康檢查探針livenessProbe:httpGet:  # 指定探針的檢測方法為httpGet。path: /index.html  # 指定訪問的文件路徑信息即可,無需指定IP地址,因為默認就是訪問本機,可以理解為127.0.0.1。port: 800  # 指定對容器的哪個端口發送GET請求。  因Nginx  默認是 80端口,如800也就是不成功,會重啟pod。如果80,則就正常initialDelaySeconds: 15# 指定每次周期的健康檢查的間隔時間。periodSeconds: 5timeoutSeconds: 1successThreshold: 1failureThreshold: 3

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

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

相關文章

bininote: 使用AI將視頻轉換了Markdown筆記

GitHub:https://github.com/JefferyHcool/BiliNote 更多AI開源軟件:發現分享好用的AI工具、AI開源軟件、AI模型、AI變現 - 小眾AI BiliNote 是一個開源的 AI 視頻筆記助手,支持通過嗶哩嗶哩、YouTube 等視頻鏈接,自動提取內容并生…

鴻蒙NEXT開發文件預覽工具類(ArkTs)

import { uniformTypeDescriptor } from kit.ArkData; import { filePreview } from kit.PreviewKit; import { FileUtil } from ./FileUtil; import { AppUtil } from ./AppUtil; import { WantUtil } from ./WantUtil;/*** 文件預覽工具類* 提供文件預覽、加載、判斷等功能。…

MySQL常用SQL語句的示例

概述 MySQL 常用 SQL 語句的示例,涵蓋數據定義、操作、查詢等常見場景 一、數據庫操作 創建數據庫 CREATE DATABASE mydb;選擇數據庫 USE mydb;刪除數據庫 DROP DATABASE mydb;二、表操作 創建表 CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT,name VAR…

智算啟新篇 安全筑新基 ——中國移動舉辦智算基礎設施及安全分論壇

4月10日,2025中國移動云智算大會智算基礎設施及安全分論壇在蘇州金雞湖國際會議中心揭幕。 在數字經濟浪潮奔涌向前的時代坐標下,中國移動錨定“創世界一流信息服務科技創新公司”定位,持續推進智算基礎設施建設,持續提升網信安全…

MySQL——游標(cursor)

一、什么是游標? 游標(Cursor) 是MySQL中用于逐行處理查詢結果集的數據庫對象。它類似于指針,允許開發者在結果集中逐行移動,并對每一行數據進行特定操作。游標將傳統的集合操作轉換為面向過程的記錄處理方式&#xf…

異步編程——微信小程序

1. 前言 引用來自:微信小程序開發中的多線程處理與異步編程_微信小程序 多線程-CSDN博客 微信小程序是基于JavaScript開發的,與瀏覽器JavaScript不同,小程序運行在WebView內部,沒有多線程的概念。小程序的 JavaScript 是單線程的…

HarmonyOS-ArkUI V2狀態-PersistenceV2:持久化存儲UI狀態

PersistenceV2類是一個與AppStorageV2類用法非常相似的類。因為它倆是子類和父類的關系。如果不了解AppStorageV2,可以先跳轉至了解一下這個類。 HarmonyOS-ArkUI V2工具類:AppStorageV2:應用全局UI狀態存儲-CSDN博客 PersistenceV2相比于其父類AppStorageV2而言,它存儲的…

《Mycat核心技術》第22章:搭建Mycat+Zookeeper+HAProxy+Keepalived+MySQL高可用架構

作者:冰河 星球:http://m6z.cn/6aeFbs 博客:https://binghe.gitcode.host 文章匯總:https://binghe.gitcode.host/md/all/all.html 星球項目地址:https://binghe.gitcode.host/md/zsxq/introduce.html 沉淀&#xff0c…

Aosp13 文件應用點擊apk無反應的處理

最近遇到一個問題,在A13上,打開文件管理應用時,點擊apk 無反應或者啟動安裝進程后安裝完成或取消安裝進程,再次點擊apk 無反應。在此記錄該問題。 做一下修改:root/package/ providers/DownloadProvider/下 jenkinsdel…

SQL刷題記錄貼

1.題目:現在運營想要對用戶的年齡分布開展分析,在分析時想要剔除沒有獲取到年齡的用戶,請你取出所有年齡值不為空的用戶的設備ID,性別,年齡,學校的信息。 錯誤:select device_id,gender,age,un…

【Windows本地部署n8n工作流自動平臺結合內網穿透遠程在線訪問】

💝💝💝歡迎來到我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內容和知識,也可以暢所欲言、分享您的想法和見解。 推薦:kwan 的首頁,持續學…

python爬蟲降低IP封禁,python爬蟲除了使用代理IP和降低請求頻率,還有哪些方法可以應對IP封禁?

文章目錄 前言1. 利用 CDN 節點2. 模擬真實用戶行為3. 使用 IP 池輪換策略4. 處理 Cookie 和會話信息5. 分布式爬蟲 前言 除了使用代理 IP 和降低請求頻率,以下這些方法也能應對 IP 封禁: Python 3.13.2安裝教程(附安裝包)Python…

光譜相機的成像方式

光譜相機的成像方式決定了其如何獲取物體的空間與光譜信息,核心在于分光技術與掃描模式的結合。以下是主要成像方式的分類解析: ?一、濾光片切換型? ?1. 濾光片輪(Filter Wheel)? ?原理?:通過旋轉裝有多個窄帶…

AI在市場營銷分析中的核心應用及價值,分場景詳細說明

以下是 AI在市場營銷分析中的核心應用及價值,分場景詳細說明: 1. 客戶行為分析與細分 AI技術應用: 機器學習:分析用戶點擊、購買、瀏覽等行為數據,識別消費模式(如高頻購買時段、偏好品類)。聚…

潯川AI翻譯v7.0更新預告

親愛的潯川AI翻譯用戶: 感謝您一直以來的支持!潯川AI翻譯自推出以來,已迭代6個版本,其中**v2.0和v4.0因技術問題(翻譯結果顯示異常、注冊失敗、密碼找回功能失效等)**被迫下架。我們深知這些問題影響了您…

LabVIEW中二維數組轉換為彩色圖

在 LabVIEW 編程環境下,有用戶想把二維數組轉化為彩色圖片。通過附件的程序示例,給出了具體實現方法,包括對數據的處理以及顏色映射的設置等內容,還涉及解決數據范圍與顏色映射不匹配等問題。公司官網有源碼 程序功能及細節 功能&…

【模型常見評價指標(分類)】

目錄 常見指標 其他的評估指標 3.1 BLEU 3.2 ROUGE 3.3 困惑度PPL(perplexity) 常見指標 其他的評估指標 3.1 BLEU BLEU(Bilingual Evaluation Understudy,雙語評估替補)分數是評估一種語言翻譯成另一種語言的文本質量的指標。它將“質…

期貨數據API對接實戰指南

一、期貨數據接口概述 StockTV提供全球主要期貨市場的實時行情與歷史數據接口,覆蓋以下品種: 商品期貨:原油、黃金、白銀、銅、天然氣、農產品等金融期貨:股指期貨、國債期貨特色品種:馬棕油、鐵礦石等區域特色期貨 …

TCP連接建立:為什么是三次握手?

接下來,以三個方面分析三次握手的原因: 1、三次握手才可以阻止重復歷史連接的初始化(主要原因) 2、三次握手才可以同步雙方的初始化序列號 3、三次握手才可以避免資源浪費 原因一:避免歷史連接 簡單來說&#xff0…

Table類型的表單

形如下面的圖片 1 label與prop屬性 const columns[{label: "文件名",prop: "fileName",scopedSlots: "fileName",},{ label: "刪除時間",prop: "recoveryTime",width: "200",},{ label: "大小",prop:…