教學課程 - 建立 Azure Kubernetes Service (AKS) 叢集

Kubernetes 提供適用於容器化應用程式的分散式系統。 使用 Azure Kubernetes Service (AKS),您可以快速建立生產就緒 Kubernetes 叢集。

在本教學課程中,您會在 AKS 中部署 Kubernetes 叢集的第三部分。 您將學習如何:

  • 部署可向 Azure Container Registry (ACR) 進行驗證的 AKS 叢集。
  • 安裝 Kubernetes CLI, kubectl
  • 設定 kubectl 以連線到您的 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
  • 如果您使用 Azure 開發人員 CLI,本教學課程會要求您執行 Azure 開發人員 CLI 1.5.1 版或更新版本。 使用 azd version檢查您的版本。 若要安裝或升級,請參閱 安裝 Azure 開發人員 CLI

建立 Kubernetes 叢集

AKS 叢集可以使用 Kubernetes 角色型存取控制 (Kubernetes RBAC),其可讓您根據指派給使用者的角色定義對資源的存取權。 如果用戶獲指派多個角色,則會合併許可權。 許可權可以限定為單一命名空間或整個叢集。

若要深入瞭解 AKS 和 Kubernetes RBAC,請參閱 使用 AKS 中的 Kubernetes RBAC 和 Microsoft Entra 身分識別來控制叢集資源的存取。

本教學課程需要 Azure CLI 2.0.53 版或更新版本。 使用 az --version檢查您的版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI

安裝 Kubernetes CLI

您可以使用 Kubernetes CLI 來 kubectl連線到 Kubernetes 叢集。 如果您使用 Azure Cloud Shell,則 kubectl 已安裝。 如果您在本機執行命令,您可以使用 Azure CLI 或 Azure PowerShell 來安裝 kubectl

建立 AKS 叢集

AKS 叢集可以使用 Kubernetes 角色型存取控制 (Kubernetes RBAC),其可讓您根據指派給使用者的角色定義對資源的存取權。 當用戶獲派多個角色時,許可權會合併。 許可權可以限定為單一命名空間或整個叢集。 如需詳細資訊,請參閱 使用 AKS 中的 Kubernetes RBAC 和 Microsoft Entra ID 來控制叢集資源的存取。

如需 AKS 資源限制和區域可用性的相關信息,請參閱 AKS 中的配額、虛擬機大小限制和區域可用性。

注意

為了確保叢集能夠可靠地運作,您應該至少執行兩個節點。

為了允許 AKS 叢集與其他 Azure 資源互動,Azure 平台會自動建立叢集身分識別。 在此範例中,叢集身分 識別有權從您在上一個教學課程中建立的 ACR 實例提取映像 。 若要成功執行命令,您必須在 Azure 訂用帳戶中擁有 擁有者Azure 帳戶管理員 角色。

  • 使用 az aks create 命令建立 AKS 叢集。 下列範例會在名為 myResourceGroup 的資源群組中建立名為 myAKSCluster 的叢集。 此資源群組是在 eastus 區域中的上一個教學課程中建立的

    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 進行驗證。 或者,您可以使用 受控識別 ,而不是服務主體,以方便管理。

使用 kubectl 連線至叢集

  1. 使用 az aks get-credentials 命令,設定 kubectl 連線到 Kubernetes 叢集。 下列範例會取得 myResourceGroup 中名為 myAKSClusterAKS 叢集認證。

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  2. 使用 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 叢集。

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