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

云計算時代的自動化運維走向

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

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


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