Kubernetes 這個(gè)單詞來自于希臘語,含義是舵手或領(lǐng)航員。Kubernetes簡稱k8s,因?yàn)閗到s有8個(gè)字母。Kubernetes是谷歌貢獻(xiàn)給開源社區(qū)的,是谷歌根據(jù)自己內(nèi)部容器borg(布谷鳥),在去除自己業(yè)務(wù)屬性后開源的一個(gè)產(chǎn)品。
K8s的標(biāo)準(zhǔn)架構(gòu)中是以集群為整體的,一個(gè)集群就是一套完整的k8s產(chǎn)品,大多數(shù)企業(yè)會在其上封裝管理面進(jìn)行集群級別的管理;
集群中會有一個(gè)主控節(jié)點(diǎn)master,負(fù)責(zé)管理整個(gè)容器集群,一般由于其中使用的etcd,高可用場景下master的數(shù)量至少是3個(gè);
集群中會有很多的業(yè)務(wù)節(jié)點(diǎn)node,負(fù)責(zé)運(yùn)行容器應(yīng)用。Master會在每個(gè)node上安裝kubelet作為其管理node的agent;
用戶使用k8s時(shí)通過master上的apiserver,調(diào)用聲明式的接口里定義所需要的應(yīng)用、服務(wù)等各類資源對象,master的控制器和調(diào)度器會根據(jù)用戶的定義,在node中進(jìn)行創(chuàng)建,并且時(shí)刻監(jiān)控其狀態(tài),保證一直符合用戶的定義;
在node上容器應(yīng)用,通過kubeproxy提供統(tǒng)一訪問能力。