在 AKS 上装载托管磁盘的副本
Mounting a copy of a managed disk on AKS
我正在尝试创建一个 pod,它使用现有的托管磁盘作为已安装磁盘的源。我可以直接附加托管磁盘,但无法通过 PV 和 PVC 使其工作。
这些是我正在使用的文件
pvclaim.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mongo-pvc
annotations:
volume.beta.kubernetes.io/storage-class: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 256Gi
storageClassName: default
pvdisk.yml
apiVersion: v1
kind: PersistentVolume
metadata:
name: mongo-pv
spec:
capacity:
storage: 256Gi
storageClassName: default
azureDisk:
kind: Managed
diskName: Mongo-Data-Test01
fsType: xfs
diskURI: /subscriptions/<SubId>/resourceGroups/Static-Staging-Disks-Centralus/providers/Microsoft.Compute/disks/Mongo-Data-Test01
accessModes:
- ReadWriteOnce
claimRef:
name: mongo-pvc
namespace: default
pvpod.yml
apiVersion: v1
kind: Pod
metadata:
name: adisk
spec:
containers:
- image: nginx
name: azure
volumeMounts:
- name: azuremount
mountPath: /mnt/azure
volumes:
- name: azuremount
persistentVolumeClaim:
claimName: mongo-pvc
最终目标是创建一个 Statefulset,它将部署 Pods 的集群,并使用相同的托管磁盘作为所有集群的源。
如有指点,我们将不胜感激!
更新添加
以上将为启动的每个实例(pod)创建一个新磁盘。我希望使用 createOption: fromImage
创建一个新磁盘
所以我正在寻找底层 Azure 基础结构来创建现有托管磁盘的副本,然后将其附加到已启动的 pod。
Kubernetes 提供了 3 种类型的 Persistent Volume 挂载到 Pod 的访问方式:
- ReadWriteOnce – 卷可以被单个节点挂载为读写
- ReadOnlyMany – 该卷可以被多个节点以只读方式挂载
- ReadWriteMany – 卷可以被许多节点挂载为读写
在你的情况下,如果你想将一个卷安装到多个 pods,你需要使用 accessModes: ReadWriteMany
。因此,您需要检查,是否可以将此模式用于 Azure。
要了解更多信息,您可以浏览 link
在与一位 AKS 开发人员交谈后,我被告知只能将现有磁盘附加到 AKS 或创建一个新的空磁盘。目前尚不清楚这是否会在未来发生变化。
我正在尝试创建一个 pod,它使用现有的托管磁盘作为已安装磁盘的源。我可以直接附加托管磁盘,但无法通过 PV 和 PVC 使其工作。
这些是我正在使用的文件
pvclaim.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mongo-pvc
annotations:
volume.beta.kubernetes.io/storage-class: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 256Gi
storageClassName: default
pvdisk.yml
apiVersion: v1
kind: PersistentVolume
metadata:
name: mongo-pv
spec:
capacity:
storage: 256Gi
storageClassName: default
azureDisk:
kind: Managed
diskName: Mongo-Data-Test01
fsType: xfs
diskURI: /subscriptions/<SubId>/resourceGroups/Static-Staging-Disks-Centralus/providers/Microsoft.Compute/disks/Mongo-Data-Test01
accessModes:
- ReadWriteOnce
claimRef:
name: mongo-pvc
namespace: default
pvpod.yml
apiVersion: v1
kind: Pod
metadata:
name: adisk
spec:
containers:
- image: nginx
name: azure
volumeMounts:
- name: azuremount
mountPath: /mnt/azure
volumes:
- name: azuremount
persistentVolumeClaim:
claimName: mongo-pvc
最终目标是创建一个 Statefulset,它将部署 Pods 的集群,并使用相同的托管磁盘作为所有集群的源。
如有指点,我们将不胜感激!
更新添加
以上将为启动的每个实例(pod)创建一个新磁盘。我希望使用 createOption: fromImage
所以我正在寻找底层 Azure 基础结构来创建现有托管磁盘的副本,然后将其附加到已启动的 pod。
Kubernetes 提供了 3 种类型的 Persistent Volume 挂载到 Pod 的访问方式:
- ReadWriteOnce – 卷可以被单个节点挂载为读写
- ReadOnlyMany – 该卷可以被多个节点以只读方式挂载
- ReadWriteMany – 卷可以被许多节点挂载为读写
在你的情况下,如果你想将一个卷安装到多个 pods,你需要使用 accessModes: ReadWriteMany
。因此,您需要检查,是否可以将此模式用于 Azure。
要了解更多信息,您可以浏览 link
在与一位 AKS 开发人员交谈后,我被告知只能将现有磁盘附加到 AKS 或创建一个新的空磁盘。目前尚不清楚这是否会在未来发生变化。