gpt4 book ai didi

azure - 在 AKS 上使用 Statefulset 共享 Azure 文件存储

转载 作者:行者123 更新时间:2023-12-02 07:57:18 28 4
gpt4 key购买 nike

我在 Azure Kubernetes 1.16 上有一个包含 3 个实例的 Statefulset,我尝试使用 Azure 文件存储为这 3 个实例创建单个文件共享。

我使用Azure Files dynamic其中所有内容都是声明性的,即存储帐户、 secret 、pvc 和 pv 都是自动创建的。

带有 VolumeClaimTemplate 的 list

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: xxx
spec:
replicas: 3
...
volumeClaimTemplates:
- metadata:
name: xxx-data-shared
spec:
accessModes: [ ReadWriteMany ]
storageClassName: azfile-zrs-sc
resources:
requests:
storage: 1Gi

存储类:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: azfile-zrs-sc
provisioner: kubernetes.io/azure-file
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer
mountOptions:
- dir_mode=0777
- file_mode=0777
- uid=0
- gid=0
- mfsymlinks
- cache=strict
parameters:
resourceGroup: xxx
skuName: Standard_ZRS
shareName: data

我最终得到了 3 个 pv,而不是一个共享,每个 pv 都引用一个单独创建的 Azure 存储帐户,每个帐户都有一个共享数据

问题:我可以使用 Azure 文件动态并在 list 中进行其他配置来获取单个文件共享吗?或者我必须做静态吗?

最佳答案

事实证明,volumeClaimTemplates 不是正确的位置 ( reference )。

而是使用persistentVolumeClaim

对于 Azure 文件存储,这变为:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data-shared-claim
spec:
accessModes:
- ReadWriteMany
storageClassName: azfile-zrs-sc
resources:
requests:
storage: 1Gi

并在 list 中引用它:

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: xxx
spec:
replicas: 3
...
template:
spec:
containers:
...
volumeMounts:
- name: data-shared
mountPath: /data
volumes:
- name: data-shared
persistentVolumeClaim:
claimName: data-shared-claim

关于azure - 在 AKS 上使用 Statefulset 共享 Azure 文件存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63503353/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com