最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

k8s中容器創(chuàng)建的全過程實(shí)踐

 更新時(shí)間:2025年07月04日 09:23:26   作者:愛吃芝麻湯圓  
這篇文章主要介紹了k8s中容器創(chuàng)建的全過程,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Kubernetes 中容器創(chuàng)建的全流程

1. 調(diào)度器選擇節(jié)點(diǎn)

  • 資源評估:Kubernetes 調(diào)度器評估所有候選節(jié)點(diǎn)的資源狀態(tài),包括 CPU、內(nèi)存、存儲(chǔ)空間等,確保節(jié)點(diǎn)有足夠的資源支持 Pod 的運(yùn)行。
  • 調(diào)度策略:根據(jù)預(yù)設(shè)的調(diào)度策略(如節(jié)點(diǎn)親和性、污點(diǎn)和容忍度、反親和性等),選擇一個(gè)最合適的節(jié)點(diǎn)。
  • 存儲(chǔ)考慮:確保所選節(jié)點(diǎn)能夠支持 Pod 的存儲(chǔ)需求,如是否有足夠的存儲(chǔ)空間或支持特定存儲(chǔ)類。

2. Kubelet 接收請求

  • 節(jié)點(diǎn) Kubelet:選定節(jié)點(diǎn)上的 Kubelet 接收創(chuàng)建 Pod 的請求。
  • 預(yù)檢和準(zhǔn)備:Kubelet 執(zhí)行一系列預(yù)檢,確保節(jié)點(diǎn)狀態(tài)正常,資源可用,并為創(chuàng)建 Pod 做準(zhǔn)備,包括獲取 Pod 的詳細(xì)配置和鏡像信息。

3. CRI 請求處理

  • CRI 接口調(diào)用:Kubelet 通過容器運(yùn)行時(shí)接口(CRI)向容器運(yùn)行時(shí)(如 containerd、Docker 等)發(fā)起創(chuàng)建 Pod 的請求。
  • CRI 適配層:CRI 適配層(CRI shim)將標(biāo)準(zhǔn)化的 CRI 請求轉(zhuǎn)換為具體容器運(yùn)行時(shí)能夠識(shí)別的指令,確保不同容器運(yùn)行時(shí)之間的兼容性。

4. CSI 插件介入

  • 插件發(fā)現(xiàn):Kubelet 發(fā)現(xiàn)已注冊的 CSI 插件,確定可用的存儲(chǔ)卷類型和操作。
  • 存儲(chǔ)卷創(chuàng)建:根據(jù) Pod 的存儲(chǔ)需求,CSI 插件動(dòng)態(tài)創(chuàng)建存儲(chǔ)卷。如果 Pod 使用了 PersistentVolumeClaims(PVC),CSI 插件會(huì)根據(jù)存儲(chǔ)類(StorageClass)創(chuàng)建相應(yīng)的 PersistentVolumes(PV)。
  • 卷綁定:CSI 插件將創(chuàng)建的存儲(chǔ)卷綁定到目標(biāo)節(jié)點(diǎn),確保 Pod 可以訪問該卷。
  • 卷掛載:CSI 插件將存儲(chǔ)卷掛載到 Pod 的文件系統(tǒng)中,確保存儲(chǔ)資源可供 Pod 內(nèi)的容器使用。
  • 生命周期管理:CSI 插件管理存儲(chǔ)卷的生命周期,包括創(chuàng)建、綁定、掛載、解綁和刪除,確保存儲(chǔ)資源的高效利用和安全回收。

5. Pod Sandbox 創(chuàng)建與網(wǎng)絡(luò)命名空間處理

  • 網(wǎng)絡(luò)命名空間創(chuàng)建:容器運(yùn)行時(shí)創(chuàng)建網(wǎng)絡(luò)命名空間,確保 Pod 的網(wǎng)絡(luò)隔離。每個(gè) Pod 擁有獨(dú)立的網(wǎng)絡(luò)命名空間,包括自己的網(wǎng)絡(luò)接口、路由表和防火墻規(guī)則。
  • Pod Sandbox 創(chuàng)建:容器運(yùn)行時(shí)根據(jù)指令創(chuàng)建 Pod Sandbox,為 Pod 內(nèi)的所有容器提供一個(gè)共享的運(yùn)行環(huán)境。在 Linux 環(huán)境下,這表現(xiàn)為一個(gè)命名空間;在 Hypervisor 環(huán)境下,則可能是一個(gè)虛擬機(jī)。Sandbox 的作用是隔離 Pod 的網(wǎng)絡(luò)和文件系統(tǒng),保證 Pod 內(nèi)容器之間的獨(dú)立運(yùn)行。

6. CNI 插件執(zhí)行網(wǎng)絡(luò)配置

  • 調(diào)用 CNI 插件:如果 Kubelet 配置了 CNI 插件,在 Pod Sandbox 的網(wǎng)絡(luò)命名空間創(chuàng)建完成后,Kubelet 會(huì)調(diào)用對應(yīng)的 CNI 插件進(jìn)行網(wǎng)絡(luò)配置。
  • 網(wǎng)絡(luò)設(shè)備配置:CNI 插件創(chuàng)建虛擬網(wǎng)卡(如 veth 對),并將這些虛擬網(wǎng)卡加入到相應(yīng)的網(wǎng)絡(luò)空間中。這包括設(shè)置網(wǎng)絡(luò)設(shè)備的參數(shù),如 MTU(最大傳輸單元)、MAC 地址等。
  • IP 地址分配:CNI 插件調(diào)用 IP 地址管理(IPAM)插件為 Pod 分配 IP 地址。IPAM 插件根據(jù)預(yù)設(shè)的規(guī)則(如靜態(tài)分配、DHCP 分配等)為 Pod 分配合適的 IP 地址,確保 Pod 能夠與其他服務(wù)和節(jié)點(diǎn)進(jìn)行通信。
  • 網(wǎng)絡(luò)連接:CNI 插件配置 Pod 的網(wǎng)絡(luò)連接,包括設(shè)置默認(rèn)網(wǎng)關(guān)、路由規(guī)則和防火墻策略,確保 Pod 能夠訪問集群內(nèi)部和外部的網(wǎng)絡(luò)資源。

7. Container Runtime 管理

  • 生命周期管理:容器運(yùn)行時(shí)負(fù)責(zé) Pod Sandbox 的整個(gè)生命周期管理,包括創(chuàng)建、啟動(dòng)和停止。容器運(yùn)行時(shí)確保 Pod Sandbox 在節(jié)點(diǎn)故障或維護(hù)時(shí)能夠正確停止和恢復(fù)。
  • 資源隔離與管理:容器運(yùn)行時(shí)提供資源隔離和進(jìn)程管理功能,限制 Pod 對系統(tǒng)資源(如 CPU、內(nèi)存、磁盤 I/O 等)的使用,確保各個(gè) Pod 之間不會(huì)相互干擾。例如,使用 Linux cgroup 進(jìn)行資源限制和隔離。
  • 日志和監(jiān)控:容器運(yùn)行時(shí)記錄 Pod 的運(yùn)行日志,提供實(shí)時(shí)監(jiān)控?cái)?shù)據(jù),幫助用戶了解 Pod 的運(yùn)行狀態(tài)和性能。

8. 啟動(dòng) Pod 內(nèi)其他容器

  • 啟動(dòng)業(yè)務(wù)容器:在完成網(wǎng)絡(luò)和存儲(chǔ)配置后,容器運(yùn)行時(shí)啟動(dòng) Pod 內(nèi)的業(yè)務(wù)容器。這些容器共享 Pause 容器創(chuàng)建的網(wǎng)絡(luò)命名空間,實(shí)現(xiàn) Pod 內(nèi)容器間的通信。
  • 存儲(chǔ)卷掛載:確保所有業(yè)務(wù)容器能夠訪問 CSI 插件掛載的存儲(chǔ)卷,確保存儲(chǔ)資源在 Pod 內(nèi)容器之間共享和隔離。
  • 容器健康檢查:容器運(yùn)行時(shí)執(zhí)行健康檢查,確保所有容器正常啟動(dòng)并運(yùn)行。健康檢查包括存活探針(Liveness Probe)和就緒探針(Readiness Probe),幫助 Kubernetes 確定容器是否健康并準(zhǔn)備好接受流量。

9. 結(jié)果反饋和狀態(tài)更新

  • 處理結(jié)果返回:容器運(yùn)行時(shí)將整個(gè)處理結(jié)果(包括 Pod Sandbox 創(chuàng)建狀態(tài)、網(wǎng)絡(luò)配置結(jié)果、存儲(chǔ)卷掛載狀態(tài)、容器啟動(dòng)狀態(tài)等)返回給 Kubelet。
  • 狀態(tài)更新:Kubelet 將 Pod 的創(chuàng)建狀態(tài)更新到 Kubernetes API Server,確保集群狀態(tài)的一致性。API Server 將狀態(tài)變化通知其他組件,如調(diào)度器和控制器管理器,以便進(jìn)行相應(yīng)的資源管理和負(fù)載均衡調(diào)整。
  • 錯(cuò)誤處理和重試:如果在創(chuàng)建過程中出現(xiàn)錯(cuò)誤(如存儲(chǔ)卷掛載失敗、網(wǎng)絡(luò)配置異常等),Kubelet 會(huì)記錄錯(cuò)誤信息,并根據(jù)配置的重試策略進(jìn)行重試或標(biāo)記 Pod 為失敗狀態(tài),觸發(fā)故障恢復(fù)機(jī)制。

10. 故障恢復(fù)和自愈

  • 錯(cuò)誤檢測:Kubernetes 監(jiān)控組件(如 kubelet、kube-controller-manager)持續(xù)監(jiān)控 Pod 的狀態(tài),檢測是否出現(xiàn)故障。
  • 自動(dòng)重啟和重調(diào)度:如果 Pod 運(yùn)行失敗或節(jié)點(diǎn)出現(xiàn)故障,Kubernetes 會(huì)自動(dòng)重啟 Pod 或?qū)⑵渲卣{(diào)度到其他健康的節(jié)點(diǎn),確保服務(wù)的高可用性。
  • 日志和監(jiān)控分析:通過集成的日志和監(jiān)控系統(tǒng)(如 ELK Stack、Prometheus、Grafana),用戶可以分析 Pod 創(chuàng)建和運(yùn)行過程中的日志和指標(biāo),快速定位和解決問題。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Rainbond云原生平臺(tái)簡化Kubernetes業(yè)務(wù)問題排查

    詳解Rainbond云原生平臺(tái)簡化Kubernetes業(yè)務(wù)問題排查

    這篇文章主要介紹了詳解Rainbond云原生平臺(tái)簡化Kubernetes業(yè)務(wù)問題排查,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • k8s的包管理工具h(yuǎn)elm使用簡介

    k8s的包管理工具h(yuǎn)elm使用簡介

    這篇文章主要為大家介紹了k8s的包管理工具h(yuǎn)elm使用簡介,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • k8s暴露服務(wù)之Ingress環(huán)境部署實(shí)踐

    k8s暴露服務(wù)之Ingress環(huán)境部署實(shí)踐

    文章介紹了如何部署ingress控制器ingress-nginx,包括下載部署文件、修改鏡像地址、上傳文件、應(yīng)用資源以及解決pod狀態(tài)異常的問題
    2026-01-01
  • Containerd容器運(yùn)行yum安裝與二進(jìn)制安裝

    Containerd容器運(yùn)行yum安裝與二進(jìn)制安裝

    這篇文章主要為大家介紹了Containerd容器運(yùn)行yum安裝與二進(jìn)制安裝,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • k8s強(qiáng)制刪除一個(gè)Pod的詳細(xì)步驟

    k8s強(qiáng)制刪除一個(gè)Pod的詳細(xì)步驟

    有時(shí)候遇到node宕機(jī)或者失聯(lián)太久導(dǎo)致pod一直處于Terminating狀態(tài),kubectl?delete又刪不掉,其實(shí)這個(gè)pod已經(jīng)確定已經(jīng)死了,需要強(qiáng)制把他摘掉,這篇文章主要給大家介紹了關(guān)于k8s強(qiáng)制刪除一個(gè)Pod的詳細(xì)步驟,需要的朋友可以參考下
    2024-11-11
  • 2022最新青龍面板部署完整版圖文教程

    2022最新青龍面板部署完整版圖文教程

    這篇文章主要介紹了2022最新青龍面板部署完整版圖文教程,下面以騰訊云服務(wù)器為例,先選地區(qū)、然后選擇官方鏡像、系統(tǒng)鏡像、Centos7.6版本,需要的朋友可以參考下
    2022-05-05
  • 使用k8tz解決pod內(nèi)的時(shí)區(qū)問題(坑的解決)

    使用k8tz解決pod內(nèi)的時(shí)區(qū)問題(坑的解決)

    時(shí)區(qū)的不一致,會(huì)帶來很多困擾。即使代碼與時(shí)區(qū)無關(guān),但容器日志與系統(tǒng)日志時(shí)間相關(guān)聯(lián)排查問題也會(huì)讓人頭疼,這篇文章主要介紹了使用k8tz優(yōu)雅的解決pod內(nèi)的時(shí)區(qū)問題,需要的朋友可以參考下
    2022-10-10
  • K8s如何拉取habor鏡像

    K8s如何拉取habor鏡像

    這篇文章主要介紹了K8s如何拉取habor鏡像,在daemon.json中添加倉庫地址,需要在創(chuàng)建資源對象所在的節(jié)點(diǎn)進(jìn)行添加,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • K8S?中?kubectl?命令詳解

    K8S?中?kubectl?命令詳解

    這篇文章主要介紹了K8S?中?kubectl?命令,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • Kubernetes中根據(jù)Pod IP查找Pod及關(guān)聯(lián)服務(wù)的實(shí)現(xiàn)方式

    Kubernetes中根據(jù)Pod IP查找Pod及關(guān)聯(lián)服務(wù)的實(shí)現(xiàn)方式

    文章介紹Kubernetes中通過Endpoints、Service選擇器、網(wǎng)絡(luò)策略及節(jié)點(diǎn)IPVS/iptables等方法快速定位Pod與關(guān)聯(lián)Service的技巧,推薦優(yōu)先使用Endpoints并結(jié)合標(biāo)簽匹配,適用于調(diào)試和運(yùn)維場景
    2025-10-10

最新評論

会宁县| 济宁市| 台中市| 淮南市| 莒南县| 曲水县| 梁平县| 鸡东县| 霍州市| 县级市| 枣强县| 灌云县| 天长市| 开封县| 新泰市| 安平县| 大竹县| 黄平县| 新津县| 河南省| 安溪县| 逊克县| 介休市| 台中市| 淮南市| 江津市| 咸丰县| 新巴尔虎右旗| 巴东县| 禹城市| 乐山市| 平舆县| 鄂尔多斯市| 望谟县| 潍坊市| 玉溪市| 湘乡市| 黔江区| 边坝县| 固镇县| 遵义县|