我正在尝试创建一个使用现有托管磁盘作为已安装磁盘源的窗格。我可以直接附加托管磁盘,但我无法通过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,它将部署具有相同托管磁盘的Pod集群作为它们的源。
任何指针都将不胜感激!
已更新以添加
以上内容将为每个启动的实例(pod)创建一个新磁盘。我希望使用createOption: fromImage
因此,我正在寻找底层Azure基础架构来创建现有托管磁盘的副本,然后将其附加到已启动的窗格。
答案 0 :(得分:0)
Kubernetes提供3种类型的访问模式,用于将持久卷安装到Pod:
在您的情况下,如果要将一个卷安装到多个pod,则需要使用accessModes: ReadWriteMany
。因此,您需要检查,可以将此模式用于Azure。
有关详细信息,您可以查看link
答案 1 :(得分:0)
在与AKS开发人员进行对话后,我被告知只能连接现有磁盘或为AKS创建新的空磁盘。目前还不清楚这是否会在未来发生变化。