K8S 是什么?你知道嗎?
什么是 k8s(Kubernetes)?
k8s 是一個容器編排系統(tǒng)。它用于容器部署和管理。它的設(shè)計受谷歌內(nèi)部系統(tǒng) Borg 的影響。
k8s 集群由一組運行容器化應(yīng)用程序的工作機(jī)(稱為節(jié)點)組成。每個集群至少有一個工作節(jié)點。
工作節(jié)點承載著作為應(yīng)用工作負(fù)載組件的 Pod。控制平面管理集群中的工作節(jié)點和 Pod。在生產(chǎn)環(huán)境中,控制平面通常在多臺計算機(jī)上運行,一個群集通常運行多個節(jié)點,以提供容錯性和高可用性。
圖片
1.控制平面組件
API 服務(wù)器
API 服務(wù)器與 k8s 集群中的所有組件對話。Pod 上的所有操作都是通過與 API 服務(wù)器對話來執(zhí)行的。
調(diào)度程序
調(diào)度器負(fù)責(zé)監(jiān)控 pod 上的工作負(fù)載,并為新創(chuàng)建的 pod 分配負(fù)載。
控制器管理器
控制器管理器運行控制器,包括 Node Controller、Job Controller、EndpointSlice Controller 和 ServiceAccount Controller。
etcd
etcd 是一個鍵值存儲,用作 Kubernetes 所有集群數(shù)據(jù)的后備存儲。
2.節(jié)點
pod
Pod 是一組容器,是 k8s 管理的最小單位。Pod 中的每個容器都有一個 IP 地址。
Kubelet
在集群中每個節(jié)點上運行的代理。它能確保容器在 Pod 中運行。
Kube 代理
Kube-proxy 是一個網(wǎng)絡(luò)代理,在集群中的每個節(jié)點上運行。它可以路由從服務(wù)進(jìn)入節(jié)點的流量。它將工作請求轉(zhuǎn)發(fā)給正確的容器。
你知道 Kubernetes 為什么被稱為 “k8s ”嗎?
“Kubernetes” 這個單詞較長,因此社區(qū)采用了一種縮寫方式:
- 取首字母“K”和末尾的字母“s”。
- 中間有 8 個字母(ubernete),因此用 8 代替。
- 這種縮寫方式在技術(shù)領(lǐng)域也很常見,如 i18n(internationalization,國際化) 和 l10n(localization,本地化)。