7.3.6. Azure Disk 对象定义
azure-advanced-disk-storageclass.yaml
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: managed-premium provisioner: kubernetes.io/azure-disk volumeBindingMode: WaitForFirstConsumer 1 allowVolumeExpansion: true parameters: kind: Managed 2 storageaccounttype: Premium_LRS 3 reclaimPolicy: Delete
- 1
- 强烈建议使用
WaitForFirstConsumer
。这会置备卷,同时允许有足够的存储空间从可用区将 pod 调度到空闲 worker 节点上。 - 2
- 可能的值有
Shared
(默认)、Managed
和Dedicated
。重要红帽仅在存储类中支持使用
kind: Managed
。使用
Shared
和Dedicated
时,Azure 会创建非受管磁盘,而 OpenShift Container Platform 为机器 OS(root)磁盘创建一个受管磁盘。但是,因为 Azure Disk 不允许在节点上同时使用受管和非受管磁盘,所以使用Shared
或Dedicated
创建的非受管磁盘无法附加到 OpenShift Container Platform 节点。 - 3
- Azure 存储帐户 SKU 层。默认为空。请注意,高级虚拟机可以同时附加
Standard_LRS
和Premium_LRS
磁盘,标准虚拟机只能附加Standard_LRS
磁盘,受管虚拟机只能附加受管磁盘,非受管虚拟机则只能附加非受管磁盘。-
如果
kind
设为Shared
,Azure 会在与集群相同的资源组中的几个共享存储帐户下创建所有未受管磁盘。 -
如果
kind
设为Managed
,Azure 会创建新的受管磁盘。 如果
kind
设为Dedicated
,并且指定了StorageAccount
,Azure 会将指定的存储帐户用于与集群相同的资源组中新的非受管磁盘。为此,请确保:- 指定的存储帐户必须位于同一区域。
- Azure Cloud Provider 必须具有存储帐户的写入权限。
-
如果
kind
设为Dedicated
,并且未指定StorageAccount
,Azure 会在与集群相同的资源组中为新的非受管磁盘创建一个新的专用存储帐户。
-
如果