練習 - 建立 Azure Kubernetes Service 叢集

已完成

在本練習中,建立 AKS 叢集,其會使用數個節點來滿足許多使用服務客戶的需求。 您決定使用「單一控制平面和多個節點」結構,因為該結構能提供建立和管理工作負載資源的最佳方式。

AKS 透過入口網站或 Azure CLI 同時支援 Linux 和 Windows 節點集區,不過,如果您要使用 Windows 節點集區,則必須使用額外的必要條件和命令建立叢集。 請根據您要新增的節點集區類型選取 OS。

重要

您必須有自己的 Azure 訂用帳戶才能執行本練習,且可能會產生費用。 如果您還沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

  1. 使用您想要部署資源的目標帳戶來登入 Azure Cloud Shell。

    重要

    我們會使用 Bash 來執行所有指令碼,因此若您尚未建立 Cloud Shell,請選取 [Bash] 作為執行中的 Shell。

  2. 針對會在整個練習中重複使用的設定值建立變數。

    export RESOURCE_GROUP=rg-contoso-video
    export CLUSTER_NAME=aks-contoso-video
    export LOCATION=eastus
    

    使用最接近您的區域來更新 LOCATION 變數。 此範例使用:eastus

  3. 執行 az group create 命令來建立資源群組。 將所有資源部署到這個新的資源群組。

    az group create --name=$RESOURCE_GROUP --location=$LOCATION
    
  4. 執行 az aks create 命令來建立 AKS 叢集。

    az aks create \
        --resource-group $RESOURCE_GROUP \
        --name $CLUSTER_NAME \
        --node-count 2 \
        --generate-ssh-keys \
        --node-vm-size Standard_B2s \
        --network-plugin azure
    

    此命令會在 rg-contoso-video 資源群組內建立名為 aks-contoso-video 的新 AKS 叢集。 叢集具有 --node-count 參數所定義的兩個節點。 由於成本方面的考量,我們在此練習中只會使用兩個節點。 --node-vm-size 參數會將叢集節點定義為 Standard_B2s 大小的 VM。 這些節點是系統模式的一部分。

    重要

    需要有標準 B2s VM 才能建立節點集區,但免費層訂用帳戶無法提供。 如果您收到有關限制的通知,則必須升級至標準升級。

  5. 執行 az aks nodepool add 命令,以新增另一個使用預設 Linux 作業系統的節點集區。

    az aks nodepool add \
        --resource-group $RESOURCE_GROUP \
        --cluster-name $CLUSTER_NAME \
        --name userpool \
        --node-count 2 \
        --node-vm-size Standard_B2s
    

    此命令會將新的節點集區 (使用者模式) 新增至現有的 AKS 叢集 (已在上一個命令中建立)。 不同於系統節點集區,這個使用者節點集區可用來裝載應用程式和工作負載。

  1. 在 Cloud Shell 中執行下列命令,將 Kubernetes 叢集與 kubectl 連結。

    az aks get-credentials --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
    

    此命令會在 ~/.kube/config 檔案中新增一項,以保存用來存取叢集的所有資訊。 Kubectl 可供從單一命令列介面管理多個叢集。

  2. 執行 kubectl get nodes 命令來檢查是否可連線到叢集,並確認其設定。

    kubectl get nodes
    

    輸出中應該會列出兩個節點集區的四個可用節點。

NAME                                STATUS   ROLES   AGE    VERSION
aks-nodepool1-21895026-vmss000000   Ready    agent   245s   v1.23.12
aks-nodepool1-21895026-vmss000001   Ready    agent   245s   v1.23.12
aks-userpool-21895026-vmss000000    Ready    agent   105s   v1.23.12
aks-userpool-21895026-vmss000001    Ready    agent   105s   v1.23.12