你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何配置工作负载身份以用于子卷配置。 这适用于云引入子卷或云镜像子卷。
为工作负载身份配置 Kubernetes 集群
若要将工作负荷标识与 Azure Arc 启用的 Azure 容器存储配合使用,必须先为 Azure Arc 连接的 Kubernetes 群集启用这些功能。 通过运行以下命令,启用 OpenID Connect(OIDC)颁发者和工作负载标识:
az connectedk8s update --resource-group <RESOURCE_GROUP> --name <CLUSTER_NAME> --enable-oidc-issuer --enable-workload-identity
接下来,需要配置 Kubernetes 集群以便利用工作负荷标识:
获取颁发者 URL:
az connectedk8s show --resource-group <RESOURCE_GROUP> --name <CLUSTER_NAME> --query oidcIssuerProfile.issuerUrl --output tsv在 /etc/rancher/k3s/config.yaml 中使用此发行者:
kube-apiserver-arg: - service-account-issuer=<SERVICE_ACCOUNT_ISSUER> - service-account-max-token-expiration=24h更新 config.yaml 后,需要重启 K3s。
systemctl restart k3s
创建用户分配的托管标识 (UAMI)
需要创建 UAMI 以与 Kubernetes 群集联合,并授予对存储帐户或 OneLake Lakehouse 的基于角色的访问权限,以便与 Azure Arc 启用的 Azure 容器存储配合使用。
可以使用 Azure CLI 通过以下命令创建 UAMI:
az identity create --resource-group <RESOURCE_GROUP> --name <USER_ASSIGNED_IDENTITY_NAME> --location <LOCATION> --subscription <SUBSCRIPTION>
此命令返回稍后用于联合凭据和配置 Azure 容器存储的客户端 ID。
联合 UAMI
将 UAMI 添加到 Azure 容器存储的 EdgeStorageConfiguration 自定义资源定义(CRD):
kubectl edit edgestorageconfiguration edge-storage-configuration在
serviceMesh之后的spec部分中添加以下 YAML:workloadIdentity: clientID: <CLIENT_ID_FROM_UAMI> tenantID: <TENANT_ID_FROM_UAMI>接下来,通过编辑并运行以下 Azure CLI 命令,将 UAMI 与命名空间中的
azure-arc-containerstorage三个必需服务帐户联合:az identity federated-credential create --resource-group <RESOURCE_GROUP> --identity-name <USER_ASSIGNED_IDENTITY_NAME> --name acsa-csi-fed --issuer <OIDC_ISSUER> --subject system:serviceaccount:azure-arc-containerstorage:csi-wyvern-sa --audience api://AzureADTokenExchangeaz identity federated-credential create --resource-group <RESOURCE_GROUP> --identity-name <USER_ASSIGNED_IDENTITY_NAME> --name acsa-pv-fed --issuer <OIDC_ISSUER> --subject system:serviceaccount:azure-arc-containerstorage:wyvern-pv-sa --audience api://AzureADTokenExchangeaz identity federated-credential create --resource-group <RESOURCE_GROUP> --identity-name <USER_ASSIGNED_IDENTITY_NAME> --name acsa-operator-fed --issuer <OIDC_ISSUER> --subject system:serviceaccount:azure-arc-containerstorage:wyvern-operator-sa --audience api://AzureADTokenExchange还需要将角色绑定添加到要用于创建的 UAMI 的存储帐户。 将角色 存储 Blob 数据所有者 添加至您创建的 UAMI:
az role assignment create --assignee <USER_ASSIGNED_IDENTITY_ID> --role "Storage Blob Data Owner" --scope "/subscriptions/<SUBSCRIPTION>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGEACCOUNT>"
使用工作负载标识创建永久性卷声明 (PVC)
为 Ingest 或镜像子卷创建 CRD 时,请将spec.authentication.authType参数设置为WORKLOAD_IDENTITY。
后续步骤
继续 执行创建云存储持久卷声明(PVC) 或 创建云镜像持久卷声明(PVC) 中的步骤以完成配置。