分享方式:


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

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

在本教學課程 (3/7 部分) 中,您要在 AKS 部署 Kube 叢集。 您將學習如何:

  • 部署可向 Azure Container Registry (ACR) 進行驗證的 AKS 叢集。
  • 安裝 Kube 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 Developer CLI,本教學課程會要求您執行 Azure Developer CLI 1.5.1 版或更新版本。 使用 azd version 檢查版本。 若要安裝或升級,請參閱安裝 Azure Developer CLI (部分機器翻譯)。

建立 Kubernetes 叢集

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

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

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

安裝 Kubernetes CLI

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

建立 AKS 叢集

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

如需 AKS 資源限制和區域可用性的詳細資訊,請參閱 AKS 的配額、虛擬機器大小限制和區域可用性

注意

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

為了允許 AKS 叢集與其他 Azure 資源互動,Azure 平台會自動建立叢集身分識別。 就本範例而言,叢集身分識別已獲得提取映像的權限,可從先前教學課程中建立的 ACR 執行個體中提取映像。 若要成功執行命令,您必須擁有 Azure 訂用帳戶的擁有者Azure 帳戶管理員角色。

  • 使用 az aks create 命令建立 AKS 叢集。 下列範例會在名為 myResourceGroup 的資源群組中建立名為 myAKSCluster 的叢集。 在先前的教學課程中,我們已在 eastus 區域建立此資源群組。 我們會繼續使用在上一個教學課程中設定的環境變數 $ACRNAME。 如果您尚未設定此環境變數,請立即將其設為先前使用的相同值。

    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 中名為 myAKSCluster 的 AKS 叢集取得認證。

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  2. 請使用 kubectl get nodes 命令驗證對您叢集的連線,這會傳回叢集節點清單。

    kubectl get nodes
    

    下列範例輸出顯示叢集節點清單。

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-nodepool1-19366578-vmss000000   Ready    agent   47h   v1.28.9
    aks-nodepool1-19366578-vmss000001   Ready    agent   47h   v1.28.9
    

下一步

在本教學課程中,您已將 Kube 叢集部署在 AKS 中,並設定 kubectl 連線至叢集。 您已了解如何︰

  • 部署可向 ACR 進行驗證的 AKS 叢集。
  • 安裝 Kube CLI:kubectl
  • 設定 kubectl 以連線至您的 AKS 叢集。

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