Kubernetes是什么?
Kubernetes,簡稱K8s,是用8代替8個字符“ubernete”而成的縮寫。Kubernetes是Google開源的一個容器編排引擎,同時也是一個開源的容器集群管理系統(tǒng),可以實現(xiàn)容器應(yīng)用的自動化部署、自動擴縮容、監(jiān)控和維護等功能。

Kubernetes最初源于谷歌內(nèi)部的Borg,提供了面向應(yīng)用的容器集群部署和管理系統(tǒng)。Kubernetes的目標(biāo)旨在消除編排物理/虛擬計算、網(wǎng)絡(luò)和存儲基礎(chǔ)設(shè)施的負擔(dān),并使應(yīng)用程序運營商和開發(fā)人員完全將重點放在以容器為中心的原理上進行自助運營。
Kubernetes具備完善的集群管理能力,包括多層次的安全防護和準(zhǔn)入機制、多租戶應(yīng)用支撐能力、透明的服務(wù)注冊和服務(wù)發(fā)現(xiàn)機制、內(nèi)建負載均衡器、故障發(fā)現(xiàn)和自我修復(fù)能力、服務(wù)滾動升級和在線擴容、可擴展的資源自動調(diào)度機制、多粒度的資源配額管理能力。
Borg是谷歌內(nèi)部的大規(guī)模集群管理系統(tǒng),負責(zé)對谷歌內(nèi)部很多核心服務(wù)的調(diào)度和管理。Borg的目的是讓用戶能夠不必操心資源管理的問題,從而更專注于自己的核心業(yè)務(wù)。Borg甚至能做到跨多個數(shù)據(jù)中心的資源利用率大化。
Kubernetes屬于主從分布式架構(gòu),主要由Master和Node組成,以及包括客戶端命令行工具kubectl和其它附加項。
Master:作為控制節(jié)點,對集群進行調(diào)度管理;由kube-apiserver、kube-scheduler、kube-controller-manager和etcd組成。
Node:作為工作節(jié)點,運行業(yè)務(wù)應(yīng)用的容器;由kubelet、kube-proxy和docker(或者rocket)組成。Master指的是集群控制節(jié)點,每個Kubernetes集群里需要有至少一個Master來負責(zé)集群的管理和控制。Master可以是一臺物理機,也可以是一臺虛擬機,Master節(jié)點上運行著以下組件:
kube-apiserver:提供了HTTP Rest接口的關(guān)鍵服務(wù)進程,是集群里所有資源的增、刪、改、查等操作的唯一入口,也是集群的控制入口。
kube-controller-manager:運行管理控制器,是集群中處理常規(guī)任務(wù)的后臺進程,每個Controller都負責(zé)一種具體的控制流程,而Controller Manager就是這些Controller的核心管理者。
kube-scheduler:負責(zé)資源調(diào)度(Pod調(diào)度)的進程,為新創(chuàng)建的Pod選擇一個Node節(jié)點。
etcd:是kubernetes默認的存儲系統(tǒng),集群里所有資源對象的數(shù)據(jù)全部保存在etcd中。
Node指的是集群的工作節(jié)點,和Master一樣,可以是一臺物理主機,也可以是一臺虛擬機。每個Node都會被Master分配一些工作負載(Docker容器),當(dāng)某個Node宕機時,其上的工作負載會被Master自動轉(zhuǎn)移到其他節(jié)點上去。Node上運行的組件如下:
kubelet:負責(zé)Pod對應(yīng)的容器的創(chuàng)建、啟停等任務(wù),同時與Master節(jié)點密切協(xié)作,實現(xiàn)集群管理的基本功能。
kube-proxy:實現(xiàn)Kubernetes Service的通信與負載均衡機制的重要組件。
docker:容器引擎,負責(zé)本機的容器創(chuàng)建和管理工作。
Deployment的典型使用場景有以下幾個:
創(chuàng)建一個Deployment對象來生成對應(yīng)的ReplicaSet,并完成Pod副本的創(chuàng)建過程。
檢查Deployment的狀態(tài)來查看部署工作是否完成(Pod副本的數(shù)量是否達到預(yù)期的值)。
更新Deployment以創(chuàng)建新的Pod(比如鏡像升級)。
如果當(dāng)前Deployment不穩(wěn)定,則回滾到一個早先的Deployment版本。
掛起或者恢復(fù)一個Deployment。StatefulSet的使用場景如下:
穩(wěn)定性,唯一的網(wǎng)絡(luò)標(biāo)識。
穩(wěn)定性,持久化存儲。
有序的部署和擴展。
有序的刪除和終止。
有序的自動滾動更新。上述這些組件都是Kubernetes系統(tǒng)的核心組件,它們共同構(gòu)成了Kubernetes系統(tǒng)的框架和計算模型。通過對它們進行靈活組合,用戶就可以快速、方便地對容器集群進行配置、創(chuàng)建和管理。除了本文所介紹的核心組件,Kubernetes中還有許多輔助配置的資源對象,例如LimitRange、ResourceQuota等。另外,還有一些系統(tǒng)內(nèi)部使用的對象,例如Binding、Event等可參考官方API文檔。
說在最后
本人也是剛接觸Kubernetes(K8s),本文內(nèi)容是摘自相關(guān)書籍和網(wǎng)上的相關(guān)資料,并結(jié)合自己的理解所寫的,如有理解錯誤的地方還請大家不吝指出,共同進步。
由于國內(nèi)關(guān)于Kubernetes的學(xué)習(xí)資料很少,51cto上倒是有相關(guān)的訂閱專欄,但都是要錢的,對于這個我不做評論。這里向跟我一樣的初學(xué)者推薦一本書《Kubernetes權(quán)威指南(第2版)》,網(wǎng)上可以下載到PDF版本,雖然這本書講的Kubernetes的版本是1.3的,版本比較老,但對于初學(xué)者可以學(xué)習(xí)它的理論知識,并結(jié)合網(wǎng)上新版本的相關(guān)資料自行理解,也是一種非常不錯的學(xué)習(xí)方法。
對Kubernetes(K8s)有興趣的朋友,可以關(guān)注我的博客,后面我會繼續(xù)發(fā)表學(xué)習(xí)Kubernetes的博文,歡迎各位朋友和我一起踏上Kubernetes(K8s)的旅程。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站題目:初識Kubernetes(K8s):理論基礎(chǔ)-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://chinadenli.net/article46/eopeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、ChatGPT、App開發(fā)、網(wǎng)站建設(shè)、網(wǎng)站改版、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容