<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Kubernetes架構 Kubernetes最初源于谷歌內部的Borg,提供了面向應用的容器集群部署和管理系統。Kubernetes的目標旨在消除編排物理/虛擬計算,網絡和存儲基礎設施的負擔,并使應用程序運營商和開發人員完全將重點放在以容器為中心的原語上進行自助運營。Kubernetes 也提供穩定、兼容的基礎(平臺),用于構建定制化的workflows 和更高級的自動化任務。 Kubernetes 具備完善的集群管理能力,包括多層次的安全防護和準入機制、多租戶應用支撐能力、透明的服務注冊和服務發現機制、內建負載均衡器、故障發現和自我修復能力、服務滾動升級和在線擴容、可擴展的資源自動調度機制、多粒度的資源配額管理能力。 Kubernetes 還提供完善的管理工具,涵蓋開發、部署測試、運維監控等各個環節。 ## Borg簡介 Borg是谷歌內部的大規模集群管理系統,負責對谷歌內部很多核心服務的調度和管理。Borg的目的是讓用戶能夠不必操心資源管理的問題,讓他們專注于自己的核心業務,并且做到跨多個數據中心的資源利用率最大化。 Borg主要由BorgMaster、Borglet、borgcfg和Scheduler組成,如下圖所示 ![Borg架構](https://box.kancloud.cn/563dc4999c018991ed457c25feb34b16_572x549.png) * BorgMaster是整個集群的大腦,負責維護整個集群的狀態,并將數據持久化到Paxos存儲中; * Scheduer負責任務的調度,根據應用的特點將其調度到具體的機器上去; * Borglet負責真正運行任務(在容器中); * borgcfg是Borg的命令行工具,用于跟Borg系統交互,一般通過一個配置文件來提交任務。 ## Kubernetes架構 Kubernetes借鑒了Borg的設計理念,比如Pod、Service、Label和單Pod單IP等。Kubernetes的整體架構跟Borg非常像,如下圖所示。 ![Kubernetes架構](https://box.kancloud.cn/7786145ae8681304e3be7733ff8928e2_2409x1984.png) Kubernetes主要由以下幾個核心組件組成: - etcd保存了整個集群的狀態; - apiserver提供了資源操作的唯一入口,并提供認證、授權、訪問控制、API注冊和發現等機制; - controller manager負責維護集群的狀態,比如故障檢測、自動擴展、滾動更新等; - scheduler負責資源的調度,按照預定的調度策略將Pod調度到相應的機器上; - kubelet負責維護容器的生命周期,同時也負責Volume(CSI)和網絡(CNI)的管理; - Container runtime負責鏡像管理以及Pod和容器的真正運行(CRI); - kube-proxy負責為Service提供cluster內部的服務發現和負載均衡; 除了核心組件,還有一些推薦的插件,其中有的已經成為CNCF中的托管項目: - CoreDNS負責為整個集群提供DNS服務 - Ingress Controller為服務提供外網入口 - Prometheus提供資源監控 - Dashboard提供GUI - Federation提供跨可用區的集群 ## Kubernetes架構示意圖 ### 整體架構 下圖清晰表明了Kubernetes的架構設計以及組件之間的通信協議。 ![Kuberentes架構(圖片來自于網絡)](https://box.kancloud.cn/389a1d00d29b41567772fe46e646502a_1858x1126.jpg) 下面是更抽象的一個視圖: ![kubernetes整體架構示意圖](https://box.kancloud.cn/c3b41470da22d9976466520703da6729_1600x1067.png) ### Master架構 ![Kubernetes master架構示意圖](https://box.kancloud.cn/dda50cef366f90eeb2cd09d9ec6c2371_1600x1067.png) ### Node架構 ![kubernetes node架構示意圖](https://box.kancloud.cn/05f3ba08afd94c864c229039b3711248_1600x1067.png) ### 分層架構 Kubernetes設計理念和功能其實就是一個類似Linux的分層架構,如下圖所示。 ![Kubernetes分層架構示意圖](https://box.kancloud.cn/1434d37df80037bccd1e88c5627acb68_1898x1008.png) * 核心層:Kubernetes最核心的功能,對外提供API構建高層的應用,對內提供插件式應用執行環境 * 應用層:部署(無狀態應用、有狀態應用、批處理任務、集群應用等)和路由(服務發現、DNS解析等)、Service Mesh(部分位于應用層) * 管理層:系統度量(如基礎設施、容器和網絡的度量),自動化(如自動擴展、動態Provision等)以及策略管理(RBAC、Quota、PSP、NetworkPolicy等)、Service Mesh(部分位于管理層) * 接口層:kubectl命令行工具、客戶端SDK以及集群聯邦 * 生態系統:在接口層之上的龐大容器集群管理調度的生態系統,可以劃分為兩個范疇 * Kubernetes外部:日志、監控、配置管理、CI/CD、Workflow、FaaS、OTS應用、ChatOps、GitOps、SecOps等 * Kubernetes內部:[CRI](cri.md)、[CNI](cni.md)、[CSI](csi.md)、鏡像倉庫、Cloud Provider、集群自身的配置和管理等 > 關于分層架構,可以關注下Kubernetes社區正在推進的[Kubernetes architectual roadmap](https://docs.google.com/document/d/1XkjVm4bOeiVkj-Xt1LgoGiqWsBfNozJ51dyI-ljzt1o)和[slide](https://docs.google.com/presentation/d/1GpELyzXOGEPY0Y1ft26yMNV19ROKt8eMN67vDSSHglk/edit)。 ## 參考文檔 - [Borg, Omega, and Kubernetes - Lessons learned from three container-management systems over a decade](http://queue.acm.org/detail.cfm?id=2898444) - [Paper - Large-scale cluster management at Google with Borg](http://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/43438.pdf) - [KUBERNETES: AN OVERVIEW](http://thenewstack.io/kubernetes-an-overview) - [Kubernetes architectual roadmap](https://docs.google.com/document/d/1XkjVm4bOeiVkj-Xt1LgoGiqWsBfNozJ51dyI-ljzt1o)和[slide](https://docs.google.com/presentation/d/1GpELyzXOGEPY0Y1ft26yMNV19ROKt8eMN67vDSSHglk/edit)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看