你最想了解的docker,k8s 這一篇就夠了

Docker是個(gè)偉大的項(xiàng)目,它徹底釋放了虛擬化的威力,讓應(yīng)用的分發(fā)、部署和管理都變得前所未有的高效和輕松!

如果你正在為以下問題困擾,就可以考慮使用Docker來對(duì)整個(gè)工程進(jìn)行重構(gòu)。

資源利用率問題不同業(yè)務(wù)場景對(duì)資源的需求是不-樣的,有CPU密集型、內(nèi)存密集型、網(wǎng)絡(luò)密集型,這就可能導(dǎo)致資源利用率不合理的問題。在大多數(shù)的企業(yè)中,我們經(jīng)常能夠看到服務(wù)器的資源閑置率非常高,而開發(fā)團(tuán)隊(duì)卻經(jīng)常面臨無機(jī)器可用的情況。

混合部署交叉影響對(duì)于線上服務(wù),一臺(tái)機(jī)器要混合部署多個(gè)服務(wù),那么服務(wù)之間可能存在相互影響的情況。比如端口的沖突,CPU及內(nèi)存的共同使用等問題,都有可能造成服務(wù)之間的沖突,從而導(dǎo)致莫名的問題。

擴(kuò)/縮容效率低當(dāng)業(yè)務(wù)節(jié)點(diǎn)需要進(jìn)行擴(kuò)/縮容時(shí),從機(jī)器下線到應(yīng)用部署、測試,周期較長。當(dāng)業(yè)務(wù)遇到突發(fā)流量高峰時(shí),增加設(shè)備并部署后,可能流量高峰已經(jīng)過去了。這些本身與設(shè)計(jì)無關(guān),即使接口應(yīng)用已經(jīng)設(shè)計(jì)成無狀態(tài)的,但是想要做擴(kuò)容也是-件非常麻煩的事。

多環(huán)境代碼不一致大部分公司都會(huì)有由于過去內(nèi)部開發(fā)流程的不規(guī)范而存在一些問題,業(yè)務(wù)提測的代碼在測試環(huán)境測試完畢后,在線上部署時(shí)可能會(huì)進(jìn)行修改、調(diào)整,然后打包上線。這就會(huì)導(dǎo)致測試的代碼和線上運(yùn)行的代碼是不一致的,增加了服務(wù)上線的風(fēng)險(xiǎn),也增加了線上服務(wù)故障排查的難度。

缺少穩(wěn)定的線下測試環(huán)境在測試過程中,會(huì)遇到一個(gè)問題,服務(wù)依賴的其他下游服務(wù)都沒有提供穩(wěn)定的測試環(huán)境,導(dǎo)致無法在測試環(huán)境模擬整個(gè)線上流程進(jìn)行測試。所以有時(shí)候會(huì)用線上服務(wù)進(jìn)行測試,這本身就存在著很高的潛在風(fēng)險(xiǎn)。一旦操作失誤,就有可能造成不可估量的損失。

而Docker的出現(xiàn)在很大程度上解決了這些問題,那么我們一起來認(rèn)識(shí)一下Docker 吧。

Docker簡介

Docker是一個(gè)開源的引擎,可以輕松地為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、 可移植的、自給自足的容器。開發(fā)者在筆記本電腦上編譯測試通過的容器可以批量地在生產(chǎn)環(huán)境中部署,包括VMs (虛擬機(jī))、bare metal、OpenStack 集群和其他基礎(chǔ)應(yīng)用平臺(tái)。

Docker的目標(biāo):

提供輕量簡單的建模方式;職責(zé)的邏輯分離;快速高效的開發(fā)生命周期;鼓勵(lì)使用面向服務(wù)的架構(gòu),即單個(gè)容器運(yùn)行單個(gè)應(yīng)用。Docker原理

Docker是一個(gè)客戶端一服務(wù)器(C/S)架構(gòu)的程序。Docker 客戶端只需向Docker服務(wù)器或守護(hù)進(jìn)程發(fā)出請(qǐng)求,服務(wù)器或守護(hù)進(jìn)程將完成所有工作并返回結(jié)果。Docker提供了一個(gè)命令行工具Docker及一整套R(shí)ESTful API,可以在同一臺(tái)宿主機(jī)上運(yùn)行Docker守護(hù)進(jìn)程和客戶端,也可以從本地的Docker客戶端連接到運(yùn)行在另一臺(tái)宿主機(jī)上的遠(yuǎn)程Docker守護(hù)進(jìn)程。

Docker依賴的Linux的內(nèi)核特性包括Namespaces命名空間和Control groups(c groups)控制組。

Namespaces命名空間:

PID (process ID),進(jìn)程ID隔離;NET (network),管理網(wǎng)絡(luò)端口;IPC ( InterProcess Communication),進(jìn)程間通信;管理跨進(jìn)程通信的訪問;MNT (Mount),管理掛載點(diǎn);UTS (UNIX Timesharing System),隔離內(nèi)核和版本標(biāo)識(shí);Control groups(c groups),控制組。Control groups(c groups)控制組:

資源限制;優(yōu)先級(jí)設(shè)定;資源度量;資源控制及資源分配;Docker容器的能力包括:

文件系統(tǒng)隔離——每個(gè)容器都有自己的root文件系統(tǒng),可以獨(dú)立掛載外部文件系統(tǒng)。進(jìn)程隔離——每個(gè)容器都運(yùn)行在自己的進(jìn)程環(huán)境中,相互之間互不干擾。網(wǎng)絡(luò)隔離——容器間的虛擬網(wǎng)絡(luò)接口和IP地址都是分開的。資源隔離和分組——使用cgroup將CPU和內(nèi)存等資源獨(dú)立分配給每個(gè)Docker容器。更輕量級(jí)的虛擬化

Docker項(xiàng)目的目標(biāo)是實(shí)現(xiàn)輕量級(jí)的操作系統(tǒng)虛擬化解決方案。我們先來看一下虛擬機(jī)與Docker的架構(gòu)對(duì)比,

從下到上理解上圖

基礎(chǔ)設(shè)施(Infrastructure):一般是服務(wù)器或者云主機(jī)。虛擬機(jī)管理系統(tǒng)(Hypervisor):利用Hypervisor, 可以在主操作系統(tǒng)之上運(yùn)行多個(gè)不同的從操作系統(tǒng),可以構(gòu)建在基礎(chǔ)設(shè)施上,也可以構(gòu)建在操作系統(tǒng)上。客戶機(jī)操作系統(tǒng)(Guest Operating System):假設(shè)運(yùn)行3個(gè)相互隔離的應(yīng)用,則需要使用Hypervisor啟動(dòng)3個(gè)客戶機(jī)操作系統(tǒng),也就是3個(gè)虛擬機(jī)。這些虛擬機(jī)都非常大,也許有900MB,這就意味著它們將占用2.7GB的磁盤空間。更糟糕的是,它們還會(huì)消耗很多CPU和內(nèi)存資源。各種依賴:每一個(gè)客戶機(jī)操作系統(tǒng)都需要安裝許多依賴。應(yīng)用:安裝依賴之后,就可以在各個(gè)客戶機(jī)操作系統(tǒng)分別運(yùn)行應(yīng)用了,這樣各個(gè)應(yīng)用就是相互隔離的。再來看一下Docker的架構(gòu),

虛擬機(jī)和Docker的對(duì)比:

Docker容器可以在秒級(jí)實(shí)現(xiàn),比虛擬機(jī)的方式不只快了一一倍,任何虛擬機(jī)都不太可能在秒級(jí)啟動(dòng)完成。Docker對(duì)系統(tǒng)資源的利用率很高,一.臺(tái)主機(jī)上可以同時(shí)運(yùn)行數(shù)千個(gè)Docker 容器。如果把服務(wù)器比作碼頭,則虛擬機(jī)就好比碼頭上的倉庫,不能隨便移動(dòng),而Docker就好比集裝箱,操作靈活,運(yùn)載方便。容器除了運(yùn)行其中應(yīng)用,基本不消耗額外的系統(tǒng)資源,所使用的資源完全是使用宿主機(jī)上的資源。傳統(tǒng)虛擬機(jī)方式運(yùn)行10個(gè)不同的應(yīng)用就要啟動(dòng)10個(gè)虛擬機(jī),而Docker只需要10個(gè)隔離的應(yīng)用即可。Docker容器可以跨平臺(tái)運(yùn)行,不需要額外的操作系統(tǒng)支持,按需裝載。小編之前整理過Docker實(shí)戰(zhàn)筆記——阿里P8大佬,耗時(shí)72小時(shí)整理的Docker實(shí)戰(zhàn)筆記,你值得擁有點(diǎn)擊即可參閱哦~~~

網(wǎng)絡(luò)模式

當(dāng)Docker 進(jìn)程啟動(dòng)時(shí),會(huì)在主機(jī)上創(chuàng)建一一個(gè) 名為docker0的虛擬網(wǎng)橋,此主機(jī)上啟動(dòng)的Docker容器會(huì)連接到這個(gè)虛擬網(wǎng)橋上。虛擬網(wǎng)橋的工作方式和物理交換機(jī)類似,這樣主機(jī)上的所有容器就通過交換機(jī)連在了一個(gè)二層網(wǎng)絡(luò)中。

Docker有以下四種網(wǎng)絡(luò)模式:

host模式,docker run時(shí)使用--net-host指定。container模式,docker run時(shí)使用--net=container:NAME or. ID指定。none模式,docker run時(shí)使用--net-none指定。bridge模式,docker run時(shí)使用--net-bridge指定,默認(rèn)設(shè)置。link

link是在兩個(gè)contain之間建立一種父子關(guān)系,父container中的Web可以得到子container db上的信息。

通過link的方式創(chuàng)建容器,我們可以使用被link容器的別名進(jìn)行訪問,而不是通過IP,解除了對(duì)IP的依賴。

不過,link 的方式只能解決單機(jī)容器間的互連,多機(jī)的情況下,需要通過別的方式進(jìn)行連接。

在運(yùn)行一個(gè)容器時(shí),使用-link-container_name or id:name選項(xiàng)可以在此容器的/etc/hosts文件中增加一個(gè)額外的name主機(jī)名,這個(gè)名字為container_name的容器的IP地址的別名。這使得新容器的內(nèi)部進(jìn)程可以訪問主機(jī)名為name的容器而不用知道它的IP。

內(nèi)網(wǎng)是走docker0的網(wǎng)橋,互相之間是Ping得通的,但是docker run建立容器時(shí),它的IP地址是不可控制的,所以Docker用link的方式使Web能夠訪問到db中的數(shù)據(jù)。

跨主機(jī)訪問

跨主機(jī)的容器訪問目前市面上主流的解決方法有flannel、 weave、 Pipework、 Open vSwitch等。下面就來分別認(rèn)識(shí)一下這幾種方案。

Open vSwitchOpen vSwitch是一個(gè)高質(zhì)量的、多層虛擬交換機(jī),使用開源Apache 2.0許可協(xié)議,由Nicia Networks開發(fā),主要實(shí)現(xiàn)代碼為可移植的C代碼。它的目的是讓大規(guī)模網(wǎng)絡(luò)自動(dòng)化可以通過編程擴(kuò)展,同時(shí)仍然支持標(biāo)準(zhǔn)的管理接口和協(xié)議(例如,NetFlow. SFlow. SPAN、RSPAN、CLI、LAAP、802.1ag)。

WeaveWeave是由Zettio公司開發(fā)的,它能夠創(chuàng)建一個(gè)虛擬網(wǎng)絡(luò),用于連接部署在多臺(tái)主機(jī)上的Docker容器,這樣容器就像被接入了同一個(gè)網(wǎng)絡(luò)交換機(jī)-樣,那些使用網(wǎng)絡(luò)的應(yīng)用程序不必去配置端口映射和鏈接等信息。外部設(shè)備能夠訪問Weave 網(wǎng)絡(luò)上的應(yīng)用程序容器所提供的服務(wù),同時(shí)已有的內(nèi)部系統(tǒng)也能夠暴露到應(yīng)用程序容器上。Weave能夠穿透防火墻并運(yùn)行在部分連接的網(wǎng)絡(luò)上。另外,Weave 的通信支持加密,所以用戶可以從一個(gè)不受信任的網(wǎng)絡(luò)連接到主機(jī)。

FlannelFlannel是CoreOS團(tuán)隊(duì)針對(duì)Kubernetes設(shè)計(jì)的一個(gè)網(wǎng)絡(luò)規(guī)劃服務(wù),簡單來說,它的功能是讓集群中的不同節(jié)點(diǎn)主機(jī)創(chuàng)建的Docker容器都具有全集群唯一的虛擬IP地址

Docker數(shù)據(jù)卷

容器中管理數(shù)據(jù)主要有兩種方式:

數(shù)據(jù)卷(Data Volumes);數(shù)據(jù)卷容器(Data Volumes Dontainers )。數(shù)據(jù)卷

數(shù)據(jù)卷是一個(gè)特殊的目錄,它將主機(jī)目錄直接映射進(jìn)容器,可供一個(gè)或多個(gè)容器使用,如下圖所示:

數(shù)據(jù)卷設(shè)計(jì)的目的就是為了數(shù)據(jù)的持久化,它完全獨(dú)立與容器的生命周期。因此,容器刪除時(shí),不會(huì)刪除其掛載的數(shù)據(jù)卷,也不會(huì)存在類似的垃圾機(jī)制對(duì)容器存在的數(shù)據(jù)卷進(jìn)行處理。

數(shù)據(jù)卷的特性:

數(shù)據(jù)卷在容器啟動(dòng)時(shí)初始化,如果容器使用的鏡像在掛載點(diǎn)包含了數(shù)據(jù),這些數(shù)據(jù)會(huì)復(fù)制到新初始化的數(shù)據(jù)卷中。數(shù)據(jù)卷可以在容器之間共享和重用。可以對(duì)數(shù)據(jù)卷里的內(nèi)容直接修改,修改會(huì)馬上生效,無論是容器內(nèi)操作還是本地操作。對(duì)數(shù)據(jù)卷的更新不會(huì)影響鏡像的更新。數(shù)據(jù)卷會(huì)一直存在,即使掛載數(shù)據(jù)卷的容器已經(jīng)被刪除。數(shù)據(jù)卷容器

一個(gè)目錄或者一個(gè)容器通過掛載數(shù)據(jù)卷就可以實(shí)現(xiàn)容器與外部系統(tǒng)的交互了,但是如果多個(gè)容器想實(shí)現(xiàn)數(shù)據(jù)的共享又該怎么辦呢?

Docker提供了一種掛載數(shù)據(jù)卷的容器,叫作數(shù)據(jù)卷容器,其他容器能夠通過掛載這個(gè)容器實(shí)現(xiàn)數(shù)據(jù)共享,如下圖所示


Kubernetes

Swarm為Docker自行開發(fā)的容器調(diào)度工具,2017 年成為Docker平臺(tái)的內(nèi)建工具。不過,有鑒于Kubernetes已成為最受歡迎的容器調(diào)度工具,再加上Docker用戶也希望能夠更方便地使用Kubernetes,讓Docker終于宣布支援Kubernetes。

容器調(diào)度工具的競爭局面中,Kubermnetes 可以說是站穩(wěn)龍頭,不只各家廠商搶著支援,連Docker都開始支援Kubernetes,包含企業(yè)版Docker、支持Windows與Mac的Docker社群版,以及Moby專案,用戶可自行選擇通過Kubernetes或Swarm來調(diào)度及管理容器任務(wù)。

那么Kubernetes到底是什么?為什么連Docker官方都宣布開始支持?我們一起來一探究竟。

Kubernetes (k8s) 是自動(dòng)化容器操作的開源平臺(tái),這些操作包括部署、調(diào)度和節(jié)點(diǎn)集群間擴(kuò)展。如果你曾經(jīng)用過Docker容器技術(shù)部署容器,那么可以將Docker看作Kubernetes內(nèi)部使用的低級(jí)別組件。Kubernetes 不僅僅支持Docker,還支持Rocket,這是另一種容器技術(shù)。

使用Kubernetes可以:

自動(dòng)化容器的部署和復(fù)制;隨時(shí)擴(kuò)展或收縮容器規(guī)模;將容器組織成組,并且提供容器間的負(fù)載均衡;很容易地升級(jí)應(yīng)用程序容器的新版本;提供容器彈性,如果容器失效就替換它,等等。K8s集群組件如下:

etcd:一個(gè)高可用的K/V鍵值對(duì)存儲(chǔ)和服務(wù)發(fā)現(xiàn)系統(tǒng)。flannel:實(shí)現(xiàn)跨主機(jī)的容器網(wǎng)絡(luò)的通信。kube- apiserver:提供Kubernetes集群的API調(diào)用。kube- controller-manager:確保集群服務(wù)。kube- scheduler:調(diào)度容器,分配到Node。kubelet:在Node節(jié)點(diǎn)上按照配置文件中定義的容器規(guī)格啟動(dòng)容器。kube-proxy:提供網(wǎng)絡(luò)代理服務(wù)。Kubernetes的主要概念如下。

PodsPod是Kubernetes的基本操作單元,把相關(guān)的一個(gè)或多個(gè)容器構(gòu)成一個(gè)Pod,通常Pod里的容器運(yùn)行相同的應(yīng)用。Pod包含的容器運(yùn)行在同一個(gè)Minion (Host) 上,看作一個(gè)統(tǒng)一管理單元,共享相同的volumes、network namespace/IP和Port空間。

ServicesServices也是Kubernetes 的基本操作單元,是真實(shí)應(yīng)用服務(wù)的抽象,每一 一個(gè)服 務(wù)后面都有很多對(duì)應(yīng)的容器來支持,通過Proxy的port和selector服務(wù)決定服務(wù)請(qǐng)求傳遞給后端提供服務(wù)的容器,對(duì)外表現(xiàn)為一個(gè)單一訪問接口,外部不需要了解后端如何運(yùn)行,這給擴(kuò)展或維護(hù)后端帶來很大的好處。

Replication ControllersReplication Controller確保任何時(shí)候Kubernetes集群中有指定數(shù)量的Pod副本(replicas) 在運(yùn)行,如果少于指定數(shù)量的Pod副本(replicas ),Replication Controller會(huì)啟動(dòng)新的Container,反之會(huì)“殺死”多余的以保證數(shù)量不變。Replication Controller使用預(yù)先定義的Pod模板創(chuàng)建pods,一旦創(chuàng)建成功,Pod模板和創(chuàng)建的pods沒有任何關(guān)聯(lián),可以修改Pod模板而不會(huì)對(duì)已創(chuàng)建pods有任何影響,也可以直接更新通過Replication Controller創(chuàng)建的pods。

LabelsLabels是用于區(qū)分Pod、Service、 Replication Controller的key/value鍵值對(duì),Pod、 Service、Replication Controller 可以有多個(gè)Label,但是每個(gè)Label的key只能對(duì)應(yīng)一個(gè)value。Labels 是Service和Replication Controller運(yùn)行的基礎(chǔ),為了將訪問Service的請(qǐng)求轉(zhuǎn)發(fā)給后端提供服務(wù)的多個(gè)容器,正是通過標(biāo)識(shí)容器的Labels 來選擇正確的容器。同樣,Replication Controller也使用Labels來管理通過Pod模板創(chuàng)建的一組容器,這樣Replication Controller可以更加容易、方便地管理多個(gè)容器,無論有多少容器。

Kubernetes集群包括兩種類型資源:

Master節(jié)點(diǎn)一 協(xié)調(diào)控制整個(gè)集群。Nodes節(jié)點(diǎn)一運(yùn) 行應(yīng)用的工作節(jié)點(diǎn)。Master負(fù)貴集群的管理,協(xié)調(diào)集群中的所有行為/活動(dòng)。例如,應(yīng)用的運(yùn)行、修改、更新等。節(jié)點(diǎn)(Node)作為Kubernetes集群中的工作節(jié)點(diǎn),可以是VM虛擬機(jī)、物理機(jī)。每個(gè)Node上都有一個(gè)Kubelet,用于管理Node節(jié)點(diǎn)與Kubernetes Master 通信。每個(gè)Node節(jié)點(diǎn)上至少還要運(yùn)行container runtime (比如Docker或者rkt)。

在Kubernetes上部署應(yīng)用程序時(shí),會(huì)先通知master啟動(dòng)容器中的應(yīng)用程序,master 調(diào)度容器在集群的節(jié)點(diǎn)上運(yùn)行,Node節(jié)點(diǎn)使用master公開的Kubernetes API與主節(jié)點(diǎn)進(jìn)行通信。最終用戶還可以直接使用Kubernetes API與集群進(jìn)行交互。

在傳統(tǒng)的概念當(dāng)中,Docker 是簡單易用的,Kubernetes 是復(fù)雜強(qiáng)大的,如果部署起來需要花費(fèi)很長的時(shí)間,但是事實(shí)不是這樣的。如果是前期測試或者嘗鮮,可以使用單機(jī)搭建Kubernetes來了解整體的運(yùn)行情況,這個(gè)工具就是Minikube。

Minikube的特點(diǎn):

Minikube是-種方便在本地運(yùn)行Kubernetes 的工具。Minikube是可以在VM中運(yùn)行單節(jié)點(diǎn)的Kubernetes集群。Minikube是為了開發(fā)或測試在本地啟動(dòng)一個(gè)節(jié)點(diǎn)的kubernetes集群。可以工作在Windows、Linux、 MacOS下。小編整理的K8s系統(tǒng)學(xué)習(xí)筆記——學(xué)不會(huì)K8s的程序員有福了!阿里P8實(shí)戰(zhàn)筆記,進(jìn)大廠靠他就夠了!

私有云整體架構(gòu)

不管是大公司還是小公司,都希望有一套自己的私有云平臺(tái),能夠最大化利用資源,而基于Docker,使得構(gòu)建這樣的私有云平臺(tái)變得更加容易。

接下來看一下私有云平臺(tái)的架構(gòu),如下圖所示。

基礎(chǔ)設(shè)施顧名思義,就是指現(xiàn)有的服務(wù)器,以及由服務(wù)器構(gòu)建的宿主機(jī)、存儲(chǔ)和網(wǎng)絡(luò)等資源。一般由硬件設(shè)備組成,處于所有應(yīng)用的最底層。

容器層基礎(chǔ)設(shè)施之上提供了整個(gè)容器初始化層,容器初始化層包含Kubernetes、 Agent、 IP地址管理:之前已經(jīng)重點(diǎn)介紹了Kubernetes。Agent部署在宿主機(jī)上,用于系統(tǒng)資源和底層基礎(chǔ)設(shè)施的管理,包含監(jiān)控采集、日志采集、容器限速等。IP地址管理用于管理整個(gè)網(wǎng)絡(luò)系統(tǒng)的IP資源。

資源管理容器層之上是資源管理層,包含容器管理、擴(kuò)容管理、版本控制、上線發(fā)布、 權(quán)限控制和資源池管理等模塊。能夠根據(jù)資源的使用情況進(jìn)行動(dòng)態(tài)的分配,以滿足更高并發(fā)的需求。

應(yīng)用層運(yùn)行用戶提交的業(yè)務(wù)實(shí)例,可以是任意編程語言。現(xiàn)在比較流行的是Java、Python、NET Core和PHP等語言。平臺(tái)能夠?yàn)楦鞣N語言提供可運(yùn)行的環(huán)境,并且支持一鍵部署。

基礎(chǔ)組件云平臺(tái)為容器運(yùn)行環(huán)境提供必備的基礎(chǔ)組件,包含服務(wù)發(fā)現(xiàn)、鏡像中心、日志中心、監(jiān)控中心。服務(wù)發(fā)現(xiàn)用于將指定的請(qǐng)求路由到特定的服務(wù)上,鏡像中心用于管理所有業(yè)務(wù)鏡像,日志中心用于收集、分析業(yè)務(wù)中產(chǎn)生的日志數(shù)據(jù),監(jiān)控中心用于監(jiān)控所有應(yīng)用的運(yùn)行狀態(tài),發(fā)現(xiàn)問題時(shí)及時(shí)告警處理。

統(tǒng)一門戶可視化的UI門戶頁面,規(guī)范化整個(gè)業(yè)務(wù)流程,簡潔的用戶流程,可動(dòng)態(tài)管理整個(gè)云環(huán)境的所有資源。

后記

Docker作為微服務(wù)中非常重要的一環(huán),能夠?qū)崿F(xiàn)線上線下保持一致的環(huán)境, 避免對(duì)特定云供應(yīng)商的依賴。能夠有效地降低運(yùn)維團(tuán)隊(duì)的負(fù)擔(dān),當(dāng)訪問量增大時(shí),能夠通過橫向擴(kuò)展集群的規(guī)模,做到彈性伸縮。

對(duì)于小型團(tuán)隊(duì)來說,借鑒別的團(tuán)隊(duì)成功的經(jīng)驗(yàn)非常重要,使用Docker,可以快速地應(yīng)用其他團(tuán)隊(duì)的經(jīng)驗(yàn),也可以將自己團(tuán)隊(duì)的經(jīng)驗(yàn)共享給其他團(tuán)隊(duì)。

Kubernetes具備完善的集群管理能力,包括多層次的安全防護(hù)和準(zhǔn)入機(jī)制,多租戶應(yīng)用支撐能力,透明的服務(wù)注冊(cè)和服務(wù)發(fā)現(xiàn)機(jī)制,內(nèi)建負(fù)載均衡器,故障發(fā)現(xiàn)和自我修復(fù)能力,服務(wù)滾動(dòng)升級(jí)和在線擴(kuò)容,可擴(kuò)展的資源自動(dòng)調(diào)度機(jī)制,多粒度的資源配額管理能力。

Kubernetes還提供完善的管理工具,涵蓋開發(fā)、部署測試、運(yùn)維監(jiān)控等各個(gè)環(huán)節(jié)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容