27.10.4. 为区域云配置 Azure 磁盘
Azure 有多个要部署实例的区域。要指定所需的区域,请在 azure.conf 文件中添加以下内容:
cloud: <region>
区域可以是以下任意一种:
-
German cloud:
AZUREGERMANCLOUD
-
China cloud:
AZURECHINACLOUD
-
Public cloud:
AZUREPUBLICCLOUD
-
US cloud:
AZUREUSGOVERNMENTCLOUD
27.10.4.1. 创建持久性卷
您必须在对象定义中定义持久性卷,然后才能在 OpenShift Container Platform 中创建它:
例 27.8. 使用 Azure 的持久性卷对象定义
apiVersion: "v1" kind: "PersistentVolume" metadata: name: "pv0001" 1 spec: capacity: storage: "5Gi" 2 accessModes: - "ReadWriteOnce" azureDisk: 3 diskName: test2.vhd 4 diskURI: https://someacount.blob.core.windows.net/vhds/test2.vhd 5 cachingMode: ReadWrite 6 fsType: ext4 7 readOnly: false 8
在格式化并置备卷后更改 fsType
参数的值可能会导致数据丢失和 pod 失败。
将定义保存到文件中,如 azure-pv.yaml 并创建持久性卷:
# oc create -f azure-pv.yaml persistentvolume "pv0001" created
验证持久性卷是否已创建:
# oc get pv NAME LABELS CAPACITY ACCESSMODES STATUS CLAIM REASON AGE pv0001 <none> 5Gi RWO Available 2s
现在,您可以使用持久性卷声明请求存储,该声明现在可以使用您的新持久性卷。
对于通过 Azure 磁盘 PVC 挂载卷的 pod,将 pod 调度到新节点需要几分钟。等待两分钟完成 Disk Detach 操作,然后启动新的部署。如果在完成 Disk Detach 操作前启动新的 pod 创建请求,则 pod 创建启动的 Disk Attach 操作会失败,从而导致 pod 创建失败。
持久性卷声明只在用户的命名空间中存在,且只能被同一命名空间中的 pod 引用。任何尝试从其他命名空间中访问持久性卷都会导致 pod 失败。