Kubernetes 已經介紹了那麼久,到了今天才要正式介紹我們 K8s 的基本單位 -- Pod,雖然可能遲了一點,但我相信永遠不會太晚!且從原本看介紹Kubernetes 到今天的讀者可能對於 Pod 這個東西可能也不會太陌生,因為前幾天也都有大概提到,所以相信各位應該可以更好懂 Pod 是什麼東西。
那我們就不在贅述了,開始我們今天的主題吧!
相信看到今天的讀者們都大概知道 Pod 是在 k8s 最基本的組成單位,而他又有另一個名字叫做小豆莢,而為什麼會有這名字呢?這就牽扯到每個 Pod 的特性了,我們都知道 Docker 跟 Kubernetes 都是容器化的服務,但 一個 Pod 裡面又是以一到多個容器所組成,也是因為這樣所以才有小豆莢這名字,裡面的莢果指的是各個容器,而最外面的豆莢指的是 Pod 本身。
也因為 Pod 這運作的機制,因此每個 Pod 都有以下這些特性:
也就是說 Container 之間可以透過 Localhost + Port 互相聯絡
Pod 跟 Docker 的 Container 一樣也有相對的生命週期, Pod 遵循著一個預定義的生命週期,起始於 Pending 階段,如果其中至少有一個主要容器正常啟動的話,則會進入Running,之後的狀態取決於賦予 Pod 中 Container 的任務成功與否,進入 Succeeded 或者 Failed 階段。
Value | Describe |
---|---|
Pending(懸決) | Pod 已被 K8s 系統接受,但有容器尚未創建所以無法運行 |
Running運行中) | Pod 已經綁定到了某個節點,且所有的容器都已被創建。 |
Succeeded(成功) | Pod 中的所有容器都已成功終止,並且不會再重啟。 |
Failed(失敗) | 所有容器都已終止,且至少有一個容器是因為失敗終止。 |
Unknown(未知) | 因為某些原因無法取得Pod 的狀態。 |
那今天就大概跟各位介紹到這邊,明天會教大家一些實作 Pod 的方法!
大家明天見!