kubernetes-helm:用 xfs 格式格式化 do-block-storage
kubernetes-helm: formating do-block-storage with xfs format
我正在尝试使用 do-block-storage 在 digitalocean 上使用 kubernetes-helm 创建 mongodb-replicaset。由于 mongodb 建议使用 xfs 格式,我尝试使用如下配置使用 xfs 格式化 do-block-storage,但它似乎没有用。你能帮我吗?谢谢。
persistentVolume:
enabled: true
## mongodb-replicaset data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
storageClass: "do-block-storage"
accessModes:
- ReadWriteOnce
size: 10Gi
parameters:
fsType: xfs
annotations: {}
您的自定义参数 (values.yaml) 有两个问题:
- MongoDB 稳定的 Helm chart 对用户定义的字段一无所知:"parameters"。这是因为它根本没有在任何模板文件 (mongodb/templates/*.yaml) 中定义。在您的情况下,Helm 将呈现与此类似的文件:
volumeClaimTemplates:
- metadata:
name: datadir
annotations:
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: "10Gi"
storageClassName: "do-block-storage"
- 您不能在 volumeClaimTemplates 中指定 "fsType",尽管它曾经被请求过(参见 this github 问题)。
我可以看到两种可能的解决方法来解决您的问题:
- 使用默认 xfs 文件系统格式的单独 StorageClass,然后在 helm chart 的值中引用它的名称,例如创建 do-block-storage-xfs StorageClass 如下:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: do-block-storage-xfs
namespace: kube-system
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: com.digitalocean.csi.dobs
parameters:
fstype: xfs
- 在K8S中预先在DigitalOcean中创建一个xfs fsType & PVC的Persistent Volume,并在Helm chart中将其作为现有PVC引用(参见persistence.existingClaim可配置参数 here)
我正在尝试使用 do-block-storage 在 digitalocean 上使用 kubernetes-helm 创建 mongodb-replicaset。由于 mongodb 建议使用 xfs 格式,我尝试使用如下配置使用 xfs 格式化 do-block-storage,但它似乎没有用。你能帮我吗?谢谢。
persistentVolume:
enabled: true
## mongodb-replicaset data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
storageClass: "do-block-storage"
accessModes:
- ReadWriteOnce
size: 10Gi
parameters:
fsType: xfs
annotations: {}
您的自定义参数 (values.yaml) 有两个问题:
- MongoDB 稳定的 Helm chart 对用户定义的字段一无所知:"parameters"。这是因为它根本没有在任何模板文件 (mongodb/templates/*.yaml) 中定义。在您的情况下,Helm 将呈现与此类似的文件:
volumeClaimTemplates: - metadata: name: datadir annotations: spec: accessModes: - "ReadWriteOnce" resources: requests: storage: "10Gi" storageClassName: "do-block-storage"
- 您不能在 volumeClaimTemplates 中指定 "fsType",尽管它曾经被请求过(参见 this github 问题)。
我可以看到两种可能的解决方法来解决您的问题:
- 使用默认 xfs 文件系统格式的单独 StorageClass,然后在 helm chart 的值中引用它的名称,例如创建 do-block-storage-xfs StorageClass 如下:
kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: do-block-storage-xfs namespace: kube-system annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: com.digitalocean.csi.dobs parameters: fstype: xfs
- 在K8S中预先在DigitalOcean中创建一个xfs fsType & PVC的Persistent Volume,并在Helm chart中将其作为现有PVC引用(参见persistence.existingClaim可配置参数 here)