教學課程:連線 Azure Kubernetes Service (AKS) 中的 Azure 記憶體帳戶搭配使用工作負載身分識別的服務 連線 或
瞭解如何在 AKS 叢集中建立 Pod,以使用工作負載身分識別與 Azure 記憶體帳戶交談,並協助服務 連線 或。 在本教學課程中,您會完成下列工作:
- 建立 AKS 叢集和 Azure 記憶體帳戶。
- 使用 Service 連線 or 建立 AKS 叢集與 Azure 記憶體帳戶之間的連線。
- 複製會從 AKS 叢集與 Azure 記憶體帳戶通訊的範例應用程式。
- 將應用程式部署至 AKS 叢集中的 Pod,並測試連線。
- 清除資源。
重要
AKS 內的服務 連線 目前為預覽狀態。 請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- 安裝 Azure CLI,並使用 az login 命令登入 Azure CLI。
- 安裝 Docker 和 kubectl,以管理容器映像和 Kubernetes 資源。
- 對容器和 AKS 的基本瞭解。 開始 準備 AKS 的應用程式。
- 對工作負載身分識別有基本瞭解。
建立 Azure 資源
建立本教學課程的資源群組。
az group create \ --name MyResourceGroup \ --location eastus
使用下列命令建立 AKS 叢集,或參考本 教學課程。 我們會建立服務連線、Pod 定義,並將範例應用程式部署至此叢集。
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1
使用下列命令 連線 叢集。
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
使用下列命令建立 Azure 記憶體帳戶,或參考本 教學課程。 這是連線至 AKS 叢集的目標服務,且範例應用程式會與其互動。
az storage account create \ --resource-group MyResourceGroup \ --name MyStorageAccount \ --location eastus \ --sku Standard_LRS
使用下列命令建立 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
使用下列命令建立使用者指派的受控識別,或參考本教學 課程。 使用者指派的受控識別用於服務連線建立,以啟用 AKS 工作負載的工作負載識別。
az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
使用服務 連線 或建立服務連線(預覽)
使用 Azure 入口網站 或 Azure CLI,在 AKS 叢集與 Azure 記憶體帳戶之間建立服務連線。
在 Azure 入口網站 中開啟 Kubernetes 服務,然後從左側功能表中選取 [服務 連線 or]。
選取 [ 建立 ] 並填入設定,如下所示。 保留其他設定的預設值。
[基本] 索引標籤:
設定 選擇 描述 Kubernetes 命名空間 預設值 您需要叢集中連線的命名空間。 服務類型 儲存體 - Blob 目標服務類型。 連線名稱 storage_conn 使用 Service 連線 or 所提供的連線名稱,或選擇您自己的連線名稱。 訂用帳戶 <MySubscription>
Azure Blob 儲存體 目標服務的訂用帳戶。 儲存體帳戶 <MyStorageAccount>
您想要連線的目標記憶體帳戶。 用戶端類型 Python 您用來連線到目標服務的程式代碼語言或架構。 [驗證] 索引標籤:
驗證設定 選擇 描述 驗證類型 工作負載身分識別 服務 連線 或驗證類型。 使用者指派的受控識別 <MyIdentity>
需要使用者指派的受控識別,才能啟用工作負載身分識別。 建立連線之後,[服務 連線 器] 頁面會顯示新聯機的相關信息。
複製範例應用程式
複製範例存放庫:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
移至 Azure 記憶體的存放庫範例資料夾:
cd serviceconnector-aks-samples/azure-storage-workload-identity
建置和推送容器映像
使用 Azure CLI
az acr build
命令,建置映像並將其推送至您的容器登錄。az acr build --registry <MyRegistry> --image sc-demo-storage-identity:latest ./
使用
az acr repository list
命令檢視容器登錄中的映像。az acr repository list --name <MyRegistry> --output table
執行應用程式和測試連線
取代資料夾中檔案中的
azure-storage-identity
佔位元pod.yaml
。<YourContainerImage>
取代為我們在最後一個步驟中建置的映像名稱,例如<MyRegistry>.azurecr.io/sc-demo-storage-identity:latest
。- 將取代
<ServiceAccountCreatedByServiceConnector>
為建立連線之後由服務 連線 或所建立的服務帳戶。 您可以在 Service 連線 or 的 Azure 入口網站 中檢查服務帳戶名稱。 - 將 取代
<SecretCreatedByServiceConnector>
為建立連線之後 Service 連線 or 所建立的秘密。 您可以在 Service 連線 or 的 Azure 入口網站 中檢查秘密名稱。
使用
kubectl apply
命令將 Pod 部署至叢集。kubectl
如果未安裝,請使用 az aks install-cli 命令在本機安裝。 此命令會在 AKS 叢集的預設命名空間中建立名為sc-demo-storage-identity
的 Pod。kubectl apply -f pod.yaml
使用
kubectl
檢視 Pod 來檢查部署是否成功。kubectl get pod/sc-demo-storage-identity.
使用 檢視記錄
kubectl
檔,以建立檢查連線。kubectl logs pod/sc-demo-storage-identity
清除資源
如果您不需要重複使用您在本教學課程中建立的資源,請刪除您藉由刪除資源群組所建立的所有資源。
az group delete \
--resource-group MyResourceGroup
下一步
閱讀下列文章,以深入瞭解服務 連線 或概念,以及其如何協助 AKS 連線到服務。