如何解决使用 Mongo Operator 在 EKS/EFS 中部署 MongoDB
我正在尝试在 AWS EKS 上使用 kubernetes 操作员部署 mongodb,并为存储类使用 EFS。只需按照此处的文档示例进行操作:
https://github.com/mongodb/mongodb-kubernetes-operator
我不明白如何正确定义 PVC 命名。我已经浏览了 Github 问题和 Stack Overflow。只是没有找到解决看似简单的问题的示例。
apiVersion: mongodb.com/v1
kind: MongoDB
Metadata:
name: mongodb
spec:
members: 1
type: replicaset
version: "4.2.6"
security:
authentication:
modes: ["SCRAM"]
users:
- name: my-user
db: admin
passwordSecretRef: # a reference to the secret that will be used to generate the user's password
name: my-user-password
roles:
- name: clusteradmin
db: admin
- name: userAdminAnyDatabase
db: admin
scramCredentialsSecretName: my-scram
statefulSet:
spec:
volumeClaimTemplates:
- Metadata:
name: data-volume
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
storageClassName: "efs-sc"
事件:
create Pod mongodb-0 in StatefulSet mongodb Failed error: Failed to create PVC -mongodb-0: PersistentVolumeClaim "-mongodb-0" is invalid: Metadata.name: Invalid value: "-mongodb-0": a DNS-1123 subdomain must consist of lower case alphanumeric characters,'-' or '.',and must start and end with an alphanumeric character (e.g. 'example.com',regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')
解决方法
我复制了这个错误,我在你的 yaml 文件中发现了一个错误。 voluemClaimTemplates
名称中缺少缩进。
这是您的 yaml 文件:
volumeClaimTemplates:
- metadata:
? name: data-volume
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
storageClassName: "efs-sc"
这是带有固定缩进的正确部分:
volumeClaimTemplates:
- metadata:
? name: data-volume
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
storageClassName: "efs-sc"
似乎由于此错误,操作员无法正确获取名称,他正尝试使用其默认模板创建卷。您可以使用 k get sts mongodb -oyaml
自行验证:
volumeClaimTemplates:
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
volumeMode: Filesystem
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data-volume
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10G
volumeMode: Filesystem
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。