作爲當前最流行的容器調度管理平臺,kubernetes社區是非常活躍的,幾乎每季度都會發佈一個release。但是線上集羣業務可用性要求較高,場景複雜,任何微小的變更都需要非常小心,此時跟隨社區版本進行升級略顯吃力。但是爲了能夠使用到最新的一些功能以及安全性我們又必須不定期進行一些升級操作。那麼在這個時候完全託管 Azure Kubernetes 服務 (AKS)就顯示出了其優勢所在。
Azure Kubernetes 服務提供多個 Kubernetes 版本。 新版本在 AKS 中可用以後,即可使用 Azure 門戶或 Azure CLI 升級羣集。 在升級過程中,節點會被仔細封鎖和排除以儘量減少對正在運行的應用程序造成中斷。
在AKS羣集升級時,有如下兩點需要注意:
- 升級 AKS 羣集時,不能跳過 Kubernetes 次要版本。 例如,允許從 1.12.x 升級到 1.13.x ,或者從 1.13.x 升級到 1.14.x ,但不允許從 1.12.x 升級到 1.14.x 。
- 若要從 1.12.x 升級到 1.14.x ,請先從 1.12.x 升級到 1.13.x ,然後再從 1.13.x 升級到 1.14.x 。
說了這麼多下面我們來看下如何快速升級AKS羣集到指定版本
首先需要使用如下命令列出目前 resource group 的 AKS羣集信息, 其中 kubernetesVersion爲羣集版本:az aks list
使用如下命令列出Azure在東南亞數據中心中可用的 kubernetes 版本, 其中 -l 是 location 參數, 以本例是 southeastasia:az aks get-versions -l southeastasia
使用如下命令將AKS羣集從 1.14.8 升級到1.15.5:az aks upgrade -g devopslab -n labaks -k “1.15.5”
升級時可以在Azure Portal檢查狀態:
升級完成後,我們可以看到羣集以及升級到指定版本: