新聞中心
Azure容器中建立Kubernetes群集
作者:Mike Pfeiffer 2017-06-13 16:40:42
云計(jì)算 像Kubernetes這樣的容器編排工具,對于容器化應(yīng)用的管理至關(guān)重要。本文將分步講解在微軟Azure上建立Kubernetes集群。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括城步網(wǎng)站建設(shè)、城步網(wǎng)站制作、城步網(wǎng)頁制作以及城步網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,城步網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到城步省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
像Kubernetes這樣的容器編排工具,對于容器化應(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)也要對單個(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還相對較新。因此,在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)密鑰對和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 --name kubecluster \
- --dns-prefix k8scluster2017 \
- --resource-group ACSRG \
- --orchestrator-type kubernetes \
- --generate-ssh-keys \
你可以看到我使用“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 使用 kubectl瀏覽節(jié)點(diǎn)
在圖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ù)后,你可以啟用它的公開訪問。為此,請使用以下命令通過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)。
圖2 Kubernetes網(wǎng)絡(luò)控制臺(tái)
左側(cè),在“工作負(fù)載”下,單擊“部署”。 你會(huì)看到一個(gè)類似圖3的屏幕。
圖3 Kubernetes部署
注意,圖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?!皉eplicas”屬性當(dāng)前應(yīng)設(shè)置為1.您可以將此字段編輯為2或3來手動(dòng)擴(kuò)展服務(wù)。完成后單擊“更新”(圖4)。
圖4.擴(kuò)展Kubernetes
此時(shí),你可以導(dǎo)航回“部署”,以查看多個(gè)現(xiàn)在支持nginx服務(wù)的pod(圖5)。
圖5 擴(kuò)展后Kubernetes的部署
Kubernetes已經(jīng)獲得了最成熟的,也是最復(fù)雜的容器編排引擎之一的聲譽(yù)。雖然管理員必須采取若干個(gè)步驟在Azure容器服務(wù)上設(shè)置Kubernetes集群,但它比從頭開始構(gòu)建一個(gè)更容易。
新聞名稱:Azure容器中建立Kubernetes群集
轉(zhuǎn)載源于:http://m.fisionsoft.com.cn/article/coghphi.html


咨詢
建站咨詢
