Kubernetes基本概念
阿新 • • 發佈:2018-10-18
inf uid 概念 調整 abi set replica 功能 標記
Kubernete模型中的核心概念。這些核心概念反映了Kubernetes設計過程中對應用容器集群的認知模型。
集群組件,從架構上看,Kubernetes集群(Cluster)也采用了典型的“主-從”架構。一個集群主要由管理組件(Master)和工作節點(Node)組件構成。
Kubernetes集群的主要任務始終圍繞著應用的生命周期。通過將不同資源進行不同層次的抽象,Kubernetes提供了靈活可靠的生命周期管理。
資源的核心抽象主要包括:
- 容器組(Pod):由位於同一節點上若幹容器組成,彼此共享網絡命名空間和存儲卷(Volume)。Pod是Kubernetes中進行管理的最小資源單位,是最為基礎的概念。跟容器類似,Pod是短暫的,隨時可變的;
- 服務(Service):若幹(往往是同類型的)Pod形成的對外提供某個功能的抽象,不隨Pod改變而變化,帶有唯一固定的訪問路徑,如IP地址或者域名。
- 復制控制器(Replication Controller):負責啟動Pod,並維護其健康運行的狀態。是用戶管理Pod的句柄。
- 部署(Deployment):創建Pod,並可根據參數自動創建管理Pod的復制控制器,並且支持升級。1.2.0版本引入提供比復制控制器更方便的操作;
- 橫向Pod擴展器(Horizontal Pod Autoscaler,HPA):類似雲裏面的自動擴展組,根據Pod的使用率(典型如CPU)自動調整一個部署裏面Pod的個數,保障服務可用性;
還有一些管理資源相關的輔助概念,主要包括:
- 註解(Annotation):鍵值對,可以存放大量任意數據,一般用來添加對資源對象的詳細說明,可供其他工具處理。
- 標簽(Label):鍵值對,可以標記到資源對象上,用來對資源進行分類和篩選;
- 名字(Name):用戶提供給資源的別名,同類資源不能重名;
- 命名空間(Namespace):這裏是指資源的空間,避免不同租戶的資源發生命名沖突,另外可以進行資源限額;
- 持久卷(PersistentVolume):類似於Docker中數據卷的概念,就是一個數據目錄,Pod對其有訪問權限。
- 秘密數據(Secret):存放敏感數據,例如用戶認證的口令等;
- 選擇器(Selector):基於標簽概念的一個正則表達式,可通過標簽來篩選出一組資源;
- Daemon集(DaemonSet):確保節點上肯定運行某個Pod,一般用來采集日誌和監控節點;
- 任務(Job):確保給定數目的Pod正常退出(完成了任務);
- 入口資源(Ingress Resource):用來提供七層代理服務;
- 資源限額(Resource Quotas):用來限制某個命名空間下對資源的使用,開始逐漸提供多租戶支持;
- 安全上下文(Security Context):應用到容器上的系統安全配置,包括uid、gid、capabilities、SELinux角色等;
- 服務賬號(Service Accounts):操作資源的用戶賬號。
Kubernetes基本概念