Azure

Azure 無法將磁碟附加到 VM

  • July 13, 2022

我在區域 1 和 2 中有一個 VM,在區域 1 中有一個磁碟,但是當我執行我的腳本時它失敗並顯示以下消息:

AttachVolume.Attach failed for volume "disk-name" : rpc error: code = Unknown desc = 
Attach volume /subscriptions/subscription-id/resourceGroups/xxxxx_westeurope/providers/Microsoft.Compute/disks/disk-name to instance virtual-machine-name failed with Retriable: false, RetryAfter: 0s, HTTPStatusCode: 400, 
RawError: {
  "error": {
     "code": "BadRequest",
     "message": "Disk /subscriptions/subscription-id/resourceGroups/xxxxx_westeurope/providers/Microsoft.Compute/disks/disk-name cannot be attached to the VM because it is not in the same zone as the VM. VM zone: '2'. Disk zone: '1'."
  }
}

我現在已經嘗試了一切,不知道如何解決這個問題。在多個區域中執行的機器和在單個區域中執行的磁碟是否存在問題?

$$ Edit $$ 它一直工作到現在,現在它失敗了。前幾天我通過將 k8s 部署的規模設置為 0 並重新啟動解決了同樣的問題,但現在無法正常工作

LRS 磁碟沒有區域冗餘,需要與它們所連接的 VM 存在於同一區域中。ZRS 磁碟應該按照 AKS 文件工作:

Azure 磁碟可用區支持

使用 Azure 託管 LRS 磁碟的捲不是區域冗餘資源,這些卷不能跨區域附加,並且必須與託管目標 pod 的給定節點位於同一區域中。使用 Azure 託管 ZRS 磁碟(受 Azure 磁碟 CSI 驅動程序 v1.5.0+ 支持)的捲是區域冗餘資源,可以在所有區域和非區域代理節點上安排這些卷。

Kubernetes 自版本 1.12 起就知道 Azure 可用區。您可以在多區域 AKS 群集中部署引用 Azure 託管磁碟的 PersistentVolumeClaim 對象,並且 Kubernetes 將負責在正確的可用區域中安排聲明此 PVC 的任何 pod。

引用自:https://serverfault.com/questions/1105483