教學課程:部署 Azure Kubernetes Service (AKS) 叢集
Kubernetes 會提供容器化應用程式的分散式平台。 透過 AKS,您可以快速地建立生產環境就緒的 Kubernetes 叢集。 在本教學課程中,您會在 AKS 中部署 Kubernetes 叢集的第三部分。 您會了解如何:
- 部署 Kubernetes AKS 叢集,以向Azure Container Registry (ACR) 進行驗證。
- 安裝 Kubernetes CLI,
kubectl
。- 設定
kubectl
以連線到您的 AKS 叢集。
在稍後的教學課程中,您將將 Azure Vote 應用程式部署至 AKS 叢集,並調整和更新您的應用程式。
開始之前
在先前的教學課程中,您已建立容器映射,並將其上傳至 ACR 實例。 如果您尚未執行這些步驟,而且想要跟著做,請從 教學課程 1:準備 AKS 的應用程式開始。
- 如果您使用 Azure CLI,本教學課程會要求您執行 Azure CLI 2.0.53 版或更新版本。 執行
az --version
以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI。 - 如果您使用 Azure PowerShell,此教學課程會要求您執行 Azure PowerShell 5.9.0 版或更新版本。 執行
Get-InstalledModule -Name Az
以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure PowerShell。
建立 Kubernetes 叢集
AKS 叢集可以使用 Kubernetes 角色型存取控制 (Kubernetes RBAC) ,可讓您根據指派給使用者的角色定義資源的存取權。 如果使用者獲指派多個角色,則會合並許可權。 許可權可以限定為單一命名空間或整個叢集。
若要深入瞭解 AKS 和 Kubernetes RBAC,請參閱 使用 AKS 中的 Kubernetes RBAC 和 Azure Active Directory 身分識別來控制叢集資源的存取。
使用 az aks create
建立 AKS 叢集。 下列範例會在名為 myResourceGroup 的資源群組中建立名為 myAKSCluster 的叢集。 在先前的教學課程中,我們已在 eastus 區域建立此資源群組。 AKS 叢集也會在 eastus 區域中建立。
如需 AKS 資源限制和區域可用性的詳細資訊,請參閱 AKS 中的配額、虛擬機器大小限制和區域可用性。
若要允許 AKS 叢集與其他 Azure 資源互動,系統會自動建立叢集身分識別。 在此範例中,叢集身分識別有權從您在上一個教學課程中建立的 ACR 實例 提取映射 。 若要成功執行命令,您必須擁有 Azure 訂用帳戶中的 擁有者 或 Azure 帳戶管理員 角色。
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 2 \
--generate-ssh-keys \
--attach-acr <acrName>
注意
如果您已經產生 SSH 金鑰,可能會遇到類似 linuxProfile.ssh.publicKeys.keyData is invalid
的錯誤。 若要繼續,請在不使用 參數的情況下 --generate-ssh-keys
重試命令。
若要避免需要擁有者或 Azure 帳戶管理員角色,您也可以手動設定服務主體以從 ACR 提取映像。 如需詳細資訊,請參閱使用服務主體進行 ACR 驗證或使用提取密碼從 Kubernetes 進行驗證。 或者,您也可以使用受控識別而不是服務主體,以方便管理。
幾分鐘後,部署會完成並傳回 AKS 部署的 JSON 格式資訊。
注意
為了確保叢集能夠可靠地運作,您應該至少執行兩個節點。
安裝 Kubernetes CLI
使用 Kubernetes CLI, kubectl
從本機電腦連線到 Kubernetes 叢集。
如果您使用 Azure Cloud Shell,則 kubectl
已安裝。 您也可以使用 命令在 az aks install-cli
本機安裝它。
az aks install-cli
使用 kubectl 連線至叢集
若要設定 kubectl
並連線至 Kube 叢集,請使用 az aks get-credentials
命令。 下列範例會取得myResourceGroup中名為myAKSCluster 的 AKS叢集認證。
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
若要確認叢集的連線,請執行 kubectl get nodes
以傳回叢集節點的清單。
kubectl get nodes
下列範例輸出顯示叢集節點的清單。
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
aks-nodepool1-19366578-vmss000002 Ready agent 47h v1.25.6
aks-nodepool1-19366578-vmss000003 Ready agent 47h v1.25.6
後續步驟
在本教學課程中,您已在 AKS 中部署 Kubernetes 叢集,並設定 kubectl
為連線到叢集。 您已了解如何︰
- 部署可向 ACR 進行驗證的 AKS 叢集。
- 安裝 Kubernetes CLI,
kubectl
。 - 設定
kubectl
以連線到您的 AKS 叢集。
在下一個教學課程中,您將瞭解如何將應用程式部署至叢集。