天天看點

阿裡雲容器服務-高可用Kubernetes部署指南

kubernetes是非常流行的容器管控技術,為了讓kubernetes可以更深度內建阿裡雲的計算、存儲和網絡服務,以提供更佳的性能和網絡特性支援,阿裡雲容器服務團隊為kubernetes提供了基于阿裡雲服務的cloudprovider插件。

同時,基于阿裡雲資源編排服務ros的應用部署能力,阿裡雲使用者可以非常友善的快速部署kubernetes叢集。本文接下來會詳細介紹部署過程。

本次部署所建立的資源均為按量付費,根據阿裡雲計費要求,現金賬戶餘額不能少于100元

阿裡雲容器服務-高可用Kubernetes部署指南

根據使用場景不同,我們提供開發測試和高可用兩種kubernetes叢集部署方案。

開發測試叢集

高可用叢集

單master節點

可配置worker節點數

支援按需擴容、縮容

支援按需啟動和銷毀叢集

3個master節點提供高可用性

<a href="https://ros.console.aliyun.com/createstack?spm=5176.100239.blogcont73699.12.bgn9rg&amp;stackname=k8s_dev&amp;templateurl=http://ros-template.cn-hangzhou.oss.aliyun-inc.com/k8s_for_dev_chinese.json">部署到阿裡雲</a>

<a href="https://ros.console.aliyun.com/createstack?spm=5176.100239.blogcont73699.12.bgn9rg&amp;stackname=k8s_ha&amp;templateurl=http://ros-template.cn-hangzhou.oss.aliyun-inc.com/kubernetes_ha_chinese.json">部署到阿裡雲</a>

阿裡雲容器服務-高可用Kubernetes部署指南

根據您的實際需要,選擇将kubernetes叢集部署到阿裡雲的那個區域。 确認後點選"下一步"。

阿裡雲容器服務-高可用Kubernetes部署指南

棧名,所部署的kubernetes叢集屬于一個ros的棧,棧名稱在同一個地域不能重複

建立逾時時間,整個部署過程的逾時時間,預設60分鐘,無需修改

失敗復原,點選失敗復原,如果部署過程中發生不可自動修複性錯誤,将删除所有已建立資源,反之,已建立資源将被保留,以便問題排查

master節點ecs執行個體規格,指定master節點所運作的ecs執行個體的規格,預設ecs.n1.medium,根據實際需要可以選擇更高配置的執行個體類型,配置不能低于預設規格

worker節點ecs執行個體規格,指定worker節點所運作的ecs執行個體的規格,預設ecs.n1.medium,根據實際需要可以選擇更高配置的執行個體類型,配置不能低于預設規格

worker節點數,指定worker節點數,預設2,支援後期擴容

ecs登陸密碼,所建立的ecs執行個體可通過此密碼登陸,請務必牢記密碼

這裡我們選擇建立5個worker節點,确認以上參數後,點選"建立"按鈕,啟動部署。

阿裡雲容器服務-高可用Kubernetes部署指南

至此,部署請求已送出到資源編排服務,可以通過點選"進入事件清單"進入ros控制台,通過ros控制台實時監控部署過程。

注: 一個包含多節點的kubernetes叢集的建立時間會在十幾分鐘左右。

通過ros事件清單實時監控部署過程:

阿裡雲容器服務-高可用Kubernetes部署指南

通過ros資源清單檢視部署過程所建立的所有資源:

阿裡雲容器服務-高可用Kubernetes部署指南

等待部署完成,部署完成後在事件清單中會出現棧建立完成的事件記錄:

阿裡雲容器服務-高可用Kubernetes部署指南

通過棧概況可以檢視部署完成後的輸出結果:

阿裡雲容器服務-高可用Kubernetes部署指南

通過輸出結果中傳回的資訊,便可以對kubernetes叢集進行使用了,資訊包括:

admingateway: 可以直接通過ssh登入到master節點,以便對叢集進行日常維護

apiserver_intranet: kubernetes的api server對叢集内部提供服務的位址和端口,在高可用版本中,此ip為slb位址,後端有3台master提供服務

apiserver_internet: kubernetes的api server對公網提供服務的位址和端口,可以通過此服務在使用者終端使用kubectl等工具管理叢集

例如: 通過ssh登入admingateway檢視叢集節點資訊:

阿裡雲容器服務-高可用Kubernetes部署指南

可以發現,一共有8個節點,包括3個master節點和我們在參數設定步驟填寫的5個worker節點。

基于ros的堆棧更新能力,我們可以根據實際業務需要,對kubernetes叢集的worker節點進行擴容或者縮容。進入ros棧清單找到我們所部署的kubernetes叢集,點選"更多",選擇"更新堆棧":

阿裡雲容器服務-高可用Kubernetes部署指南
阿裡雲容器服務-高可用Kubernetes部署指南

點選“更新堆棧”後,會顯示部署kubernetes所使用的編排模闆,通過修改模闆可以完成非常複雜的叢集更新,如果隻是進行擴容或者縮容,可以直接點“下一步”跳過。

接下來,會進入參數配置頁面,通過修改"worker節點數"來完成叢集擴容或縮容:

阿裡雲容器服務-高可用Kubernetes部署指南

點選“更新”按鈕後,資源編排服務開始對叢集進行相應的擴容或縮容處理。像最開始的部署過程一樣,我們可以通過事件清單來實時監控更新過程。

注:

由于更新過程依賴登陸ecs來拷貝配置資訊,是以擴容、縮容時填的密碼必須和最開始部署叢集時填的密碼一緻

資源編排服務顯示棧更新完成後,通過kubectl get node或者dashboard并不能馬上看到新增的節點,需要幾分鐘時間等待節點注冊

更多kubernetes使用幫助請參考:

<a href="https://help.aliyun.com/document_detail/53755.html?spm=5176.doc53764.2.1.n4wxtk">通過 kubectl 連接配接 kubernetes 叢集</a>

<a href="https://help.aliyun.com/document_detail/53756.html?spm=5176.doc53755.6.683.tbvfey">通路 kubernetes web ui</a>

<a href="https://help.aliyun.com/document_detail/53764.html?spm=5176.8720406.754495.3.l3rekv">通過 kubernetes web ui 管理應用</a>

繼續閱讀