K8S 是個(gè)雜技高手,最擅長的就是“搬箱子”,盤各種容器玩。
K8S 的大致架構(gòu),就像上面。Master 節(jié)點(diǎn),用來放“腦子”,“腿腳”搭在工作節(jié)點(diǎn)上“搬磚”,工作節(jié)點(diǎn)就是實(shí)際業(yè)務(wù)容器的存放地。
單個(gè)容器或多個(gè)關(guān)系密切的容器,被編成一組,稱為 pod。K8S 就是以 pod 為單位進(jìn)行編排操作。
同時(shí),K8S 還要和其它相關(guān)軟件配合,來完成聯(lián)網(wǎng)、存儲、安全等功能。
Node是Kubernetes中的工作節(jié)點(diǎn),最開始被稱為minion。一個(gè)Node可以是VM或物理機(jī)。每個(gè)Node(節(jié)點(diǎn))具有運(yùn)行pod的一些必要服務(wù),并由Master組件進(jìn)行管理,Node節(jié)點(diǎn)上的服務(wù)包括Docker、kubelet和kube-proxy。

Pods中運(yùn)行多個(gè)需要一起工作的容器。Pod可以封裝緊密耦合的應(yīng)用,它們需要由多個(gè)容器組成,它們之間能夠共享資源,這些容器可以形成一個(gè)單一的內(nèi)部service單位?
Pod將這些容器的存儲資源作為一個(gè)實(shí)體來管理
誕生六年來,K8S 一路高歌,成為容器編排和調(diào)度領(lǐng)域的 No.1。但需要注意的是,K8S 和 Docker 們不是替代關(guān)系,而是配合關(guān)系。
K8S 仍然會使用 Docker 之類的容器引擎(Docker、Containerd、RKT、CRI-O 等),來對容器進(jìn)行生命周期管理。
Pods提供兩種共享資源:網(wǎng)絡(luò)和存儲。
網(wǎng)絡(luò)
每個(gè)Pod被分配一個(gè)獨(dú)立的IP地址,Pod中的每個(gè)容器共享網(wǎng)絡(luò)命名空間,包括IP地址和網(wǎng)絡(luò)端口。Pod內(nèi)的容器可以使用localhost相互通信。當(dāng)Pod中的容器與Pod?外部通信時(shí),他們必須協(xié)調(diào)如何使用共享網(wǎng)絡(luò)資源(如端口)。
存儲
Pod可以指定一組共享存儲volumes。Pod中的所有容器都可以訪問共享volumes,允許這些容器共享數(shù)據(jù)。volumes?還用于Pod中的數(shù)據(jù)持久化,以防其中一個(gè)容器需要重新啟動而丟失數(shù)據(jù)。
kubectl get po?
//查看所有的pods
kubectl get nodes //查看所有的nodes
?kubectl get pods -o wide //查看所有的pods更詳細(xì)些
?kubectl get nodes -o wide
?kubectl get po --all-namespaces //查看所有的namespace
kubectl get po -o json