教學課程:部署 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 叢集。

在下一個教學課程中,您將瞭解如何將應用程式部署至叢集。