Kubernetes產生背景、核心概念


Kubernetes是什么

• Kubernetes是Google在2014年開源的一個容器集群管理系統,Kubernetes簡稱K8S。
• Kubernetes用於容器化應用程序的部署,擴展和管理,目標是讓部署容器化應用簡單高效。
官方網站:http://www.kubernetes.io

Kubernetes集群架構與組件

 

Master組件

kube-apiserver
Kubernetes API,集群的統一入口,各組件協調者,以RESTful
API提供接口服務,所有對象資源的增刪改查和監聽操作都交給
APIServer處理后再提交給Etcd存儲。
 
kube-controller-manager
處理集群中常規后台任務,一個資源對應一個控制器,而
ControllerManager就是負責管理這些控制器的。
 
kube-scheduler
根據調度算法為新創建的Pod選擇一個Node節點,可以任意部署,
可以部署在同一個節點上,也可以部署在不同的節點上。
 
etcd
分布式鍵值存儲系統。用於保存集群狀態數據,比如Pod、Service
等對象信息。

Node組件

kubelet
kubelet是Master在Node節點上的Agent,管理本機運行容器的生命周
期,比如創建容器、Pod掛載數據卷、下載secret、獲取容器和節點狀態
等工作。kubelet將每個Pod轉換成一組容器。
 
 kube-proxy
在Node節點上實現Pod網絡代理,維護網絡規則和四層負載均衡工作。
 
docker或rocket
容器引擎,運行容器。
 
Pod
• 最小部署單元
• 一組容器的集合
• 一個Pod中的容器共享網絡命名空間
• Pod是短暫的
 
Controllers
• Deployment : 無狀態應用部署
• StatefulSet : 有狀態應用部署
• DaemonSet : 確保所有Node運行同一個Pod
• Job : 一次性任務
• Cronjob : 定時任務
更高級層次對象,部署和管理Pod
 
Service
• 防止Pod失聯
• 定義一組Pod的訪問策略
 
Label : 標簽,附加到某個資源上,用於關聯對象、查詢和篩選
Namespaces : 命名空間,將對象邏輯上隔離


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM