您好,登錄后才能下訂單哦!
本篇內容主要講解“Kubernetes架構的詳細介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Kubernetes架構的詳細介紹”吧!
Borg 是谷歌內部的大規模集群管理系統,負責對谷歌內部很多核心服務的調度和管理。Borg 的目的是讓用戶能夠不必操心資源管理的問題,讓他們專注于自己的核心業務,并且做到跨多個數據中心的資源利用率最大化。
Borg 主要由 BorgMaster、Borglet、borgcfg 和 Scheduler 組成,如下圖所示:
BorgMaster 是整個集群的大腦,負責維護整個集群的狀態,并將數據持久化到 Paxos 存儲中;
Scheduer 負責任務的調度,根據應用的特點將其調度到具體的機器上去;
Borglet 負責真正運行任務(在容器中);
borgcfg 是 Borg 的命令行工具,用于跟 Borg 系統交互,一般通過一個配置文件來提交任務。
Kubernetes 借鑒了 Borg 的設計理念,比如 Pod、Service、Labels 和單 Pod 單 IP 等。Kubernetes 的整體架構跟 Borg 非常像,如下圖所示
Kubernetes 主要由以下幾個核心組件組成:
etcd 保存了整個集群的狀態;
kube-apiserver 提供了資源操作的唯一入口,并提供認證、授權、訪問控制、API 注冊和發現等機制;
kube-controller-manager 負責維護集群的狀態,比如故障檢測、自動擴展、滾動更新等;
kube-scheduler 負責資源的調度,按照預定的調度策略將 Pod 調度到相應的機器上;
kubelet 負責維持容器的生命周期,同時也負責 Volume(CVI)和網絡(CNI)的管理;
Container runtime 負責鏡像管理以及 Pod 和容器的真正運行(CRI),默認的容器運行時為 Docker;
kube-proxy 負責為 Service 提供 cluster 內部的服務發現和負載均衡;
除了核心組件,還有一些推薦的 Add-ons:
kube-dns 負責為整個集群提供 DNS 服務
Ingress Controller 為服務提供外網入口
Heapster 提供資源監控
Dashboard 提供 GUI
Federation 提供跨可用區的集群
Fluentd-elasticsearch 提供集群日志采集、存儲與查詢
Kubernetes 設計理念和功能其實就是一個類似 Linux 的分層架構,如下圖所示
核心層:Kubernetes 最核心的功能,對外提供 API 構建高層的應用,對內提供插件式應用執行環境
應用層:部署(無狀態應用、有狀態應用、批處理任務、集群應用等)和路由(服務發現、DNS 解析等)
管理層:系統度量(如基礎設施、容器和網絡的度量),自動化(如自動擴展、動態 Provision 等)以及策略管理(RBAC、Quota、PSP、NetworkPolicy 等)
接口層:kubectl 命令行工具、客戶端 SDK 以及集群聯邦
生態系統:在接口層之上的龐大容器集群管理調度的生態系統,可以劃分為兩個范疇
Kubernetes 外部:日志、監控、配置管理、CI、CD、Workflow、FaaS、OTS 應用、ChatOps 等。
Kubernetes 內部:CRI、CNI、CVI、鏡像倉庫、Cloud Provider、集群自身的配置和管理等。
到此,相信大家對“Kubernetes架構的詳細介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。