Kubernetes K8s mongodb容器无法使用EBS卷装载

Kubernetes K8s mongodb容器无法使用EBS卷装载,kubernetes,kubernetes-pod,Kubernetes,Kubernetes Pod,我有下面的Pod定义 apiVersion: v1 kind: Pod metadata: name: mongodb spec: volumes: - name: mongodb-data awsElasticBlockStore: volumeID: vol-0c0d9800c22f8c563 fsType: ext4 containers: - image: mongo name: mongodb volumeMounts

我有下面的Pod定义

apiVersion: v1
kind: Pod
metadata:
  name: mongodb
spec:
  volumes:
  - name: mongodb-data
    awsElasticBlockStore:
      volumeID: vol-0c0d9800c22f8c563
      fsType: ext4
  containers:
  - image: mongo
    name: mongodb
    volumeMounts:
    - name: mongodb-data
      mountPath: /data/db
    ports:
    - containerPort: 27017
      protocol: TCP
我已经在AWS中创建了volumne,并尝试装载到容器中。容器没有启动

kubectl get po
NAME      READY   STATUS              RESTARTS   AGE
mongodb   0/1     ContainerCreating   0          6m57s
当我创建卷并将其分配到节点正在运行的可用性区域,并且pod计划在该节点上时,卷已成功装入。如果pod未在节点上调度,则装载失败。如何确保所有节点都可以根据以下条件访问卷:

使用awsElasticBlockStore卷时有一些限制:

  • POD运行的节点必须是AWS EC2实例
  • 这些实例需要与EBS卷位于同一区域和可用性区域
  • EBS仅支持单个EC2实例装载卷
确保满足上述所有要求。如果节点位于不同的区域,则可能需要创建其他EBS卷,例如:

aws ec2 create-volume --availability-zone=eu-west-1a --size=10 --volume-type=gp2

请让我知道这是否有帮助。

在上述情况下,如果您在不同的az中有额外的卷,应用程序如何聚合数据。这就好像数据不是分散在不同的地区。在这种情况下,什么是替代选项。@zilcuanu如果您为该主题创建一个单独的问题会更好。这样,就更容易找到并给出一个清晰的答案,让社区的其他人都看得见。