使用 Azure 磁盘的 AKS 动态持久卷声明

AKS Dynamic Persistent Volume Claim using Azure Disk

我正在按照下面提到的文章创建动态持久卷声明。

https://docs.microsoft.com/en-us/azure/aks/azure-disks-dynamic-pv

我使用以下方法创建了持久卷声明:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: taskmanager-01
spec:
  accessModes:
  - ReadWriteOnce
  storageClassName: managed-premium
  resources:
    requests:
      storage: 16Gi

问题 01:

据我了解,持久卷和实际的底层磁盘将在创建时配置。

这是正确的吗?

问题 02 :

kubectl get pvc -n <namespace>

returns 我的 PVC 状态为 Pending。我在 kubernetes 事件列表中收到以下错误

Failed to provision volume with StorageClass "managed-premium": 

azure.BearerAuthorizer#WithAuthorization: 
Failed to refresh the Token for request to 

https://management.azure.com/subscriptions/xxxx/resourceGroups/MC_XXXX/providers/Microsoft.Compute/disks/kubernetes-dynamic-pvc-651cef89-49ae-11e9-8104-0a58ac1f222a?api-version=2016-04-30-preview: 

StatusCode=401 
Original Error: adal: Refresh request failed. Status Code = '401'.


{
  "error": "invalid_client",
  "error_description": "AADSTS7000215: Invalid client secret is provided.\r\n
 Trace ID: xxxx\r\nCorrelation ID: xxxxr\nTimestamp: 2019-03-18 18:49:42Z",
  "error_codes": [
    7000215
  ],
  "timestamp": "2019-03-18 18:49:42Z",
  "trace_id": "xxxx",
  "correlation_id": "xxxx"
}
  1. 是的,使用动态它将即时配置
  2. 很确定此错误意味着您的服务主体没有资源组的权限或其机密已过期。

一种检查方法是从 AKS 资源中找到该信息(在 servicePrincipalProfile >> clientId 下。使用 say az aks list -g %resource-group%)并检查它是否有权资源组。如果是,您可以尝试将密钥轮换为新密钥

https://docs.microsoft.com/en-us/azure/aks/update-credentials