教學課程:連線 Azure Kubernetes Service (AKS) 中的 Azure 記憶體帳戶搭配使用工作負載身分識別的服務 連線 或

瞭解如何在 AKS 叢集中建立 Pod,以使用工作負載身分識別與 Azure 記憶體帳戶交談,並協助服務 連線 或。 在本教學課程中,您會完成下列工作:

  • 建立 AKS 叢集和 Azure 記憶體帳戶。
  • 使用 Service 連線 or 建立 AKS 叢集與 Azure 記憶體帳戶之間的連線。
  • 複製會從 AKS 叢集與 Azure 記憶體帳戶通訊的範例應用程式。
  • 將應用程式部署至 AKS 叢集中的 Pod,並測試連線。
  • 清除資源。

重要

AKS 內的服務 連線 目前為預覽狀態。 請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。

必要條件

建立 Azure 資源

  1. 建立本教學課程的資源群組。

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. 使用下列命令建立 AKS 叢集,或參考本 教學課程。 我們會建立服務連線、Pod 定義,並將範例應用程式部署至此叢集。

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1
    
  3. 使用下列命令 連線 叢集。

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. 使用下列命令建立 Azure 記憶體帳戶,或參考本 教學課程。 這是連線至 AKS 叢集的目標服務,且範例應用程式會與其互動。

    az storage account create \
        --resource-group MyResourceGroup \
        --name MyStorageAccount \
        --location eastus \
        --sku Standard_LRS
    
  5. 使用下列命令建立 Azure 容器登錄,或參考本 教學課程。 登錄會裝載範例應用程式的容器映像,而此映像將由 AKS Pod 定義取用。

    az acr create \
        --resource-group MyResourceGroup \
        --name MyRegistry \
        --sku Standard
    

    並啟用匿名提取,讓 AKS 叢集可以取用登錄中的映像。

    az acr update \
        --resource-group MyResourceGroup \
        --name MyRegistry \
        --anonymous-pull-enabled
    
  6. 使用下列命令建立使用者指派的受控識別,或參考本教學 課程。 使用者指派的受控識別用於服務連線建立,以啟用 AKS 工作負載的工作負載識別。

    az identity create \
        --resource-group MyResourceGroup \
        --name MyIdentity
    

使用服務 連線 或建立服務連線(預覽)

使用 Azure 入口網站 或 Azure CLI,在 AKS 叢集與 Azure 記憶體帳戶之間建立服務連線。

  1. 在 Azure 入口網站 中開啟 Kubernetes 服務,然後從左側功能表中選取 [服務 連線 or]。

  2. 選取 [ 建立 ] 並填入設定,如下所示。 保留其他設定的預設值。

    [基本] 索引標籤:

    設定 選擇 描述
    Kubernetes 命名空間 預設值 您需要叢集中連線的命名空間。
    服務類型 儲存體 - Blob 目標服務類型。
    連線名稱 storage_conn 使用 Service 連線 or 所提供的連線名稱,或選擇您自己的連線名稱。
    訂用帳戶 <MySubscription> Azure Blob 儲存體 目標服務的訂用帳戶。
    儲存體帳戶 <MyStorageAccount> 您想要連線的目標記憶體帳戶。
    用戶端類型 Python 您用來連線到目標服務的程式代碼語言或架構。

    [驗證] 索引標籤:

    驗證設定 選擇 描述
    驗證類型 工作負載身分識別 服務 連線 或驗證類型。
    使用者指派的受控識別 <MyIdentity> 需要使用者指派的受控識別,才能啟用工作負載身分識別。
  3. 建立連線之後,[服務 連線 器] 頁面會顯示新聯機的相關信息。 Azure 入口網站 的螢幕快照,檢視 Service 連線 or 所建立的 kubernetes 資源。

複製範例應用程式

  1. 複製範例存放庫:

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. 移至 Azure 記憶體的存放庫範例資料夾:

    cd serviceconnector-aks-samples/azure-storage-workload-identity
    

建置和推送容器映像

  1. 使用 Azure CLI az acr build 命令,建置映像並將其推送至您的容器登錄。

    az acr build --registry <MyRegistry> --image sc-demo-storage-identity:latest ./
    
  2. 使用 az acr repository list 命令檢視容器登錄中的映像。

    az acr repository list --name <MyRegistry> --output table
    

執行應用程式和測試連線

  1. 取代資料夾中檔案中的azure-storage-identity佔位元pod.yaml

    • <YourContainerImage>取代為我們在最後一個步驟中建置的映像名稱,例如 <MyRegistry>.azurecr.io/sc-demo-storage-identity:latest
    • 將取代<ServiceAccountCreatedByServiceConnector>為建立連線之後由服務 連線 或所建立的服務帳戶。 您可以在 Service 連線 or 的 Azure 入口網站 中檢查服務帳戶名稱。
    • 將 取代<SecretCreatedByServiceConnector>為建立連線之後 Service 連線 or 所建立的秘密。 您可以在 Service 連線 or 的 Azure 入口網站 中檢查秘密名稱。
  2. 使用 kubectl apply 命令將 Pod 部署至叢集。 kubectl如果未安裝,請使用 az aks install-cli 命令在本機安裝。 此命令會在 AKS 叢集的預設命名空間中建立名為 sc-demo-storage-identity 的 Pod。

    kubectl apply -f pod.yaml
    
  3. 使用 kubectl檢視 Pod 來檢查部署是否成功。

    kubectl get pod/sc-demo-storage-identity.
    
  4. 使用 檢視記錄 kubectl檔,以建立檢查連線。

    kubectl logs pod/sc-demo-storage-identity
    

清除資源

如果您不需要重複使用您在本教學課程中建立的資源,請刪除您藉由刪除資源群組所建立的所有資源。

az group delete \
    --resource-group MyResourceGroup

下一步

閱讀下列文章,以深入瞭解服務 連線 或概念,以及其如何協助 AKS 連線到服務。