您的位置:首頁 >  新聞中心 > 行業(yè)動(dòng)態(tài)
  行業(yè)動(dòng)態(tài)
 

云計(jì)算時(shí)代的自動(dòng)化運(yùn)維走向

來源:原創(chuàng)    時(shí)間:2017-07-03    瀏覽:0 次

像Kubernetes這樣的容器編排工具,對(duì)于容器化應(yīng)用的管理至關(guān)重要。本文將分步講解在微軟Azure上建立Kubernetes集群。
 
盡管容器讓開發(fā)人員建立和部署新應(yīng)用變得更加容易,但是在開發(fā)和生產(chǎn)中運(yùn)行容器卻截然不同?,F(xiàn)代,生產(chǎn)級(jí)別的應(yīng)用程序都需要擴(kuò)展以滿足不斷膨脹的需求,而且其支撐的基礎(chǔ)架構(gòu)也要對(duì)單個(gè)組件故障具有恢復(fù)性。這樣,大多數(shù)公有云提供商提供了可以容納生產(chǎn)環(huán)境的容器服務(wù),例如Microsoft的Azure Container Service。
 
通過Azure Container Service,可以構(gòu)建使用Docker容器支持預(yù)配置的VM群集。使用這一集群,你可以選擇開源容器編排工具——Docker Swarm、DC/OS或Kubernetes來管理并擴(kuò)展容器化應(yīng)用。這些編排工具確保了容器所提供的服可以在集群中的多個(gè)節(jié)點(diǎn)之間進(jìn)行負(fù)載平衡,并且可以水平擴(kuò)展以滿足需求峰值。
 
2014年,谷歌開發(fā)并開源的Kubernetes已經(jīng)變得越來越流行。該平臺(tái)已經(jīng)成為生產(chǎn)環(huán)境中管理容器化應(yīng)用的標(biāo)準(zhǔn)
 
為什么Kubernetes引領(lǐng)容器編排包
 
Kubernetes有一個(gè)蓬勃發(fā)展的開源貢獻(xiàn)者社區(qū)。該項(xiàng)目是GitHub最活躍的項(xiàng)目之一,擁有超過12,000個(gè)貢獻(xiàn)者,近50,000個(gè)貢獻(xiàn)者和23,000個(gè)明星產(chǎn)品。Kubernetes社區(qū)在Stack Overflow和Slack上也非?;钴S,新用戶可以提出問題并利用社區(qū)的專業(yè)知識(shí)。
 
除了大量的支持者之外,Kubernetes可以在任何地方運(yùn)行。因?yàn)樗且粋€(gè)開放源項(xiàng)目,組織可以在自己的私有云或公有云的虛擬機(jī)上運(yùn)行它。而現(xiàn)在,通過谷歌和微軟的容器服務(wù),Kubernetes集群作為服務(wù)已經(jīng)可用,企業(yè)不必再擔(dān)心供應(yīng)商鎖定問題。一旦公司決定使用Kubernetes,它可以將生產(chǎn)應(yīng)用移動(dòng)到任何私有云或公有云。
 
Azure Container Service構(gòu)建Kubernetes逐步講解
 
Azure Container Service和它所支持的Kubernetes還相對(duì)較新。因此,在Azure Container Service上構(gòu)建Kubernetes集群需要幾步。先讓我們看看當(dāng)前的流程,然而探討如何部署、擴(kuò)展Docker容器便能的服務(wù)。
 
步驟1:安裝Azure CLI 2.0
 
你可以使用Azure門戶作為一個(gè)圖形接口,來構(gòu)建Azure Container Service集群。在門戶中單擊“新建(New)”,搜索Azure Container Service,然而創(chuàng)建一個(gè)新資源。這讓你可以下載Azure Resource Manager模板,來構(gòu)建新的Azure Container Service集群。但是,為此,要首先創(chuàng)建一個(gè)Secure Socket Shell(SSH)密鑰對(duì)和Azure Active Directory(AD)服務(wù)主體。微軟已經(jīng)很好地記錄了這個(gè)過程,但它仍然涉及到一系列的步驟。
 
另外,使用Azure命令行界面(CLI)更容易創(chuàng)建集群。使用單個(gè)命令,可以創(chuàng)建集群,以及生成SSH密鑰和所需的Azure AD服務(wù)主體。 Azure CLI可以跨平臺(tái),用戶可以 在Windows、Mac 和Linux上使用它。
 
驟2:創(chuàng)建 Azure Container Service集群
 
安裝Azure CLI后,你只可以創(chuàng)建 這一集群。在下面,你將看到我自己構(gòu)建的命令。注意,這是個(gè)單個(gè)命令,以 區(qū)分每一行:
 
你可以看到我使用“az acs create”命令創(chuàng)建了Azure Container Service集群。你需要提供唯一的DNS前綴和資源組名稱。首先,創(chuàng)建一個(gè)空資源組,使用--resource-group參數(shù)作為新組的名稱。
 
5到10分鐘后,你將得到帶有一個(gè)Kubernetes主虛擬機(jī)和三個(gè)代理節(jié)點(diǎn)虛擬機(jī)的集群。這一代理是那些為運(yùn)行在集群上的服務(wù)托管容器的虛擬機(jī)。
 
步驟3:在 Azure Container Service集群加載服務(wù)
 
為了管理集群,使用“z acs kubernetes install-cli”命令安裝Kubernetes CLI。
 
然后,你可以使用“kubectl”命令管理Kubernetes集群,這之中包括多個(gè)選項(xiàng),如瀏覽當(dāng)前節(jié)點(diǎn)和部署第一個(gè)服務(wù)。首先,使用“kubectl get nodes”命令瀏覽集群中的節(jié)點(diǎn)。(如圖1)
 
在圖1中,我們有3個(gè)托管服務(wù)的代理節(jié)點(diǎn),還有一個(gè)控制集群的主節(jié)點(diǎn)。
 
為了在集群中加載一個(gè)新服務(wù),你可以從大量的容器鏡像進(jìn)行選擇,當(dāng)然,你還可以使用“kubectl run nginx --image nginx ”命令創(chuàng)建 nginix服務(wù)。這將加載一個(gè)新的容器,帶有即將運(yùn)行在一個(gè)代理節(jié)點(diǎn)上的nginx鏡像。
 
創(chuàng)建了這一服務(wù)后,你就可以以公共方式訪問它。這樣,通過Azure Load Balance顯示這一服務(wù),
 
創(chuàng)建該服務(wù)后,你可以啟用它的公開訪問。為此,請(qǐng)使用以下命令通過Azure Load Balancer公開服務(wù),該負(fù)載平衡器將作為Azure Container Service部署的一部分來創(chuàng)建:
 
kubectl expose deployments nginx --port=80 --type=LoadBalancer
 
步驟4:通過網(wǎng)絡(luò)UI擴(kuò)展服務(wù)
 
除了命令行工具外,你可以訪問Kubernetes網(wǎng)絡(luò)UI管理和擴(kuò)展服務(wù)。使用“kubectl proxy”命令創(chuàng)建 為Kubernetes主節(jié)點(diǎn)創(chuàng)建一個(gè)代理。
 
現(xiàn)在,你可以在本地打開一個(gè)網(wǎng)絡(luò)瀏覽器,并查看網(wǎng)頁 http://localhost:8001/u。你應(yīng)該看如圖2這樣的網(wǎng)絡(luò)控制臺(tái)。
 
左側(cè),在“工作負(fù)載”下,單擊“部署”。 你會(huì)看到一個(gè)類似圖3的屏幕。
 
注意,圖3中的部署在單個(gè)pod上運(yùn)行了我們的nginx服務(wù)。Kubernetes中的pod是在Azure中作為虛擬機(jī)運(yùn)行的代理節(jié)點(diǎn)。
 
為了手動(dòng)擴(kuò)展該服務(wù)并添加額外的節(jié)點(diǎn),單擊服務(wù)名稱右側(cè)的下拉列表,然后單擊查看/編輯YAML。“replicas”屬性當(dāng)前應(yīng)設(shè)置為1.您可以將此字段編輯為2或3來手動(dòng)擴(kuò)展服務(wù)。完成后單擊“更新”(圖4)。
 
此時(shí),你可以導(dǎo)航回“部署”,以查看多個(gè)現(xiàn)在支持nginx服務(wù)的pod(圖5)。
 
Kubernetes已經(jīng)獲得了最成熟的,也是最復(fù)雜的容器編排引擎之一的聲譽(yù)。雖然管理員必須采取若干個(gè)步驟在Azure容器服務(wù)上設(shè)置Kubernetes集群,但它比從頭開始構(gòu)建一個(gè)更容易。


免费视频观无码一区,国内精品一区二区无码,99精品无码视频在线播放,ā片国产在线播放