偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Kubernetes核心技術(shù)Pod詳解、實例

云計算 云原生
Pod 是 Kubernetes 的最重要概念,每一個 Pod 都有一個特殊的被稱為”根容器“的 Pause 容器。Pause 容器對應(yīng)的鏡 像屬于 Kubernetes 平臺的一部分,除了 Pause 容器,每個 Pod 還包含一個或多個緊密相關(guān)的用戶業(yè)務(wù)容器。

1、概述

Pod 是 k8s 系統(tǒng)中可以創(chuàng)建和管理的最小單元,是資源對象模型中由用戶創(chuàng)建或部署的最 小資源對象模型,也是在 k8s 上運行容器化應(yīng)用的資源對象,其他的資源對象都是用來支 撐或者擴展 Pod 對象功能的,比如控制器對象是用來管控 Pod 對象的,Service 或者 Ingress 資源對象是用來暴露 Pod 引用對象的,PersistentVolume 資源對象是用來為 Pod 提供存儲等等,k8s 不會直接處理容器,而是 Pod,Pod 是由一個或多個 container 組成。

Pod 是 Kubernetes 的最重要概念,每一個 Pod 都有一個特殊的被稱為”根容器“的 Pause 容器。Pause 容器對應(yīng)的鏡 像屬于 Kubernetes 平臺的一部分,除了 Pause 容器,每個 Pod 還包含一個或多個緊密相關(guān)的用戶業(yè)務(wù)容器。

2、特性

(1)資源共享

一個 Pod 里的多個容器可以共享存儲和網(wǎng)絡(luò),可以看作一個邏輯的主機。共享的如 namespace,cgroups 或者其他的隔離資源。

多個容器共享同一 network namespace,由此在一個 Pod 里的多個容器共享 Pod 的 IP 和 端口 namespace,所以一個 Pod 內(nèi)的多個容器之間可以通過 localhost 來進行通信,所需要 注意的是不同容器要注意不要有端口沖突即可。不同的 Pod 有不同的 IP,不同 Pod 內(nèi)的多 個容器之前通信,不可以使用 IPC(如果沒有特殊指定的話)通信,通常情況下使用 Pod 的 IP 進行通信。

一個 Pod 里的多個容器可以共享存儲卷,這個存儲卷會被定義為 Pod 的一部分,并且可 以掛載到該 Pod 里的所有容器的文件系統(tǒng)上。

(2)生命周期短暫

Pod 屬于生命周期比較短暫的組件,比如,當(dāng) Pod 所在節(jié)點發(fā)生故障,那么該節(jié)點上的 Pod 會被調(diào)度到其他節(jié)點,但需要注意的是,被重新調(diào)度的 Pod 是一個全新的 Pod,跟之前的 Pod 沒有半毛錢關(guān)系。

(3)平坦的網(wǎng)絡(luò)

K8s 集群中的所有 Pod 都在同一個共享網(wǎng)絡(luò)地址空間中,也就是說每個 Pod 都可以通過其 他 Pod 的 IP 地址來實現(xiàn)訪問。

3、分類

(1)普通 Pod

普通 Pod 一旦被創(chuàng)建,就會被放入到 etcd 中存儲,隨后會被 Kubernetes Master 調(diào)度到某 個具體的 Node 上并進行綁定,隨后該 Pod 對應(yīng)的 Node 上的 kubelet 進程實例化成一組相 關(guān)的 Docker 容器并啟動起來。在默認(rèn)情 況下,當(dāng) Pod 里某個容器停止時,Kubernetes 會 自動檢測到這個問題并且重新啟動這個 Pod 里某所有容器, 如果 Pod 所在的 Node 宕機, 則會將這個 Node 上的所有 Pod 重新調(diào)度到其它節(jié)點上。

(2)靜態(tài) Pod

靜態(tài) Pod 是由 kubelet 進行管理的僅存在于特定 Node 上的 Pod,它們不能通過 API Server 進行管理,無法與 ReplicationController、Deployment 或 DaemonSet 進行關(guān)聯(lián),并且 kubelet 也無法對它們進行健康檢查。

4、Pod存在的意義

一個Pod可以存入多個容器,咱們就拿docker來說,docker是建議一個容器只是只是運行一個應(yīng)用程序,pod是以多進程設(shè)計的,可以將依賴度比較高的兩個容器放入同一個pod(例如一個微服務(wù)項目調(diào)用了mysql數(shù)據(jù)庫,微服務(wù)和mysql數(shù)據(jù)庫這兩個容器放入同一個pod),因為pod內(nèi)網(wǎng)絡(luò)共享,這樣微服務(wù)連接mysql就像連接本地數(shù)據(jù)一樣,減少網(wǎng)絡(luò)IO等提高調(diào)用效率。

5、生命周期和重啟策略

(1)Pod 的狀態(tài)

狀態(tài)

描述

Pending

Api-server已創(chuàng)建改pod,但是pod中一個或者多個容器的鏡像還未創(chuàng)建,包括鏡像下載過程

Running

pod內(nèi)所有容器已創(chuàng)建,且至少一個容器處于運行狀態(tài)、正在啟動或者重啟狀態(tài)

Completed

pod內(nèi)所有容器均成功執(zhí)行退出,且不會重啟

Failed

pod內(nèi)所有容器均已退出,但至少一個容器退出失敗

Unknown

由于某種原因無法獲取pod狀態(tài),例如網(wǎng)絡(luò)不通暢

(2)Pod 重啟策略

Pod 的重啟策略包括 Always、OnFailure 和 Never,默認(rèn)值是 Always

策略

描述

Always

當(dāng)容器失效時,由kubelet自動重啟該容器

OnFailure

當(dāng)容器終止運行且運行代碼不為0,,由kubelet自動重啟該容器

Never

不論容器運行狀態(tài)如何,kubelet都不會重啟該容器

(3)常見狀態(tài)轉(zhuǎn)換

Pod包含的容器數(shù)

Pod當(dāng)前狀態(tài)

發(fā)生事件

Pod結(jié)果狀態(tài)






RestartPolicy=Always

OnFailure

Never

1個容器

Running

容器成功退出

Running

Succeeded

Succeeded

1個容器

Running

容器失敗退出

Running

Running

Failure

2個容器

Running

1個容器失敗退出

Running

Running

Running

2個容器

Running

容器被OOM殺掉

Running

Running

Failure

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2016-12-12 09:01:47

Amazon Go核心技術(shù)

2022-05-07 14:31:46

物聯(lián)網(wǎng)

2017-03-24 17:17:35

限流節(jié)流系統(tǒng)

2016-11-15 14:33:05

Flink大數(shù)據(jù)

2009-06-26 16:01:39

EJB組織開發(fā)EJB容器EJB

2017-03-08 10:06:11

Java技術(shù)點注解

2009-06-15 17:54:50

Java核心技術(shù)

2022-05-09 08:21:29

Spring微服務(wù)Sentinel

2025-09-15 06:25:00

2011-11-23 15:53:54

Java核心技術(shù)框架

2019-05-15 08:26:44

工業(yè)物聯(lián)網(wǎng)MQTT物聯(lián)網(wǎng)

2016-11-22 17:05:54

Apache Flin大數(shù)據(jù)Flink

2019-03-05 14:57:21

大數(shù)據(jù)Hadoop框架

2019-05-15 08:40:34

工業(yè)物聯(lián)網(wǎng)MQTT物聯(lián)網(wǎng)

2022-10-11 08:37:43

Servlet配置版本

2018-05-16 11:05:49

ApacheFlink數(shù)據(jù)流

2022-05-16 08:22:11

網(wǎng)關(guān)過濾器路由

2021-07-28 07:53:20

C#.NET設(shè)計

2017-05-08 13:37:32

IaaS核心虛擬化

2011-06-15 14:45:26

上網(wǎng)行為管理技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號