徐亮偉kubernetes合集 Kubernetes/K8S基于Jenkins實現(xiàn)SpringCloud微服務(wù)CI與CD實踐
k8s概念及架構(gòu)
3.1:概念
3.1.1:Cluster
Cluster是計算、存儲和網(wǎng)絡(luò)資源的集合,Kubernetes利用這些資源運行各種基于容器的應(yīng)用
3.1.2:master
Master是Cluster的大腦,它的主要職責是調(diào)度,即決定將應(yīng)用放在哪里運行。Master運行Linux操作系統(tǒng),可以是物理機或者虛擬機。為了實現(xiàn)高可用,可以運行多個Master
3.1.3:node
Node的職責是運行容器應(yīng)用。Node由Master管理,Node負責監(jiān)控并匯報容器的狀態(tài),同時根據(jù)Master的要求管理容器的生命周期。Node運行在Linux操作系統(tǒng)上,可以是物理機或者是虛擬機。
在官網(wǎng)的交互式教程中,我們創(chuàng)建的Cluster只有一個主機,它既是Master也是Node。
3.1.4:pod
Pod是Kubernetes的最小工作單元。每個Pod包含一個或多個容器。Pod中的容器會作為一個整體被Master調(diào)度到一個Node上運行。同一個pod管理的多個容器之間可以通信和資源共享。
3.1.5:Controller
Kubernetes通常不會直接創(chuàng)建Pod,而是通過Controller來管理Pod的。Controller中定義了Pod的部署特性,比如有幾個副本、在什么樣的Node上運行等。為了滿足不同的業(yè)務(wù)場景,Kubernetes提供了多種Controller,包括Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job等
3.1.6:Service
Kubernetes Service定義了外界訪問一組特定Pod的方式。Service有自己的IP和端口,Service為Pod提供了負載均衡。
Kubernetes運行容器(Pod)與訪問容器(Pod)這兩項任務(wù)分別由Controller和Service執(zhí)行。
3.1.7:Namespace
Namespace可以將一個物理的Cluster邏輯上劃分成多個虛擬Cluster,每個Cluster就是一個Namespace。不同Namespace里的資源是完全隔離的