2016-11-30 1 views
0

Я hava кластер кубернетов, работающий на AWS. Теперь, когда я пытаюсь подключить AWS EBS в качестве тома к контейнеру, у меня проблема с «специальным устройством не существует».Kubernetes не может подключать AWS EBS как громкость. Вероятно, из-за проблемы с облачным провайдером

Выход: крепление: специальное устройство /var/lib/kubelet/plugins/kubernetes.io/aws-ebs/mounts/vol-xxxxxxx не существует

Я сделал некоторые исследования и обнаружили, что правильный путь к устройству AWS EBS должен быть, как этот формат:

/var/lib/kubelet/plugins/kubernetes.io/aws-ebs/mounts/aws/us-west-2a/vol-xxxxxxxx

Я сомневаюсь, что это может быть связано с тем, что я создал кластер Kubernetes в соответствии с этим tutorial и не установил провайдера облака, поэтому устройство AWS «не выходит». Интересно, правильно ли я сомневаюсь, и если да, то как установить поставщика облака после того, как кластер уже запущен.

+0

Вы можете указать, какую версию вы использовали? Кроме того, было ли развертывание AWS выполнено с помощью kops? –

ответ

0

Версия Kubernetes является важным фактором здесь. Вершины EBS были экспериментальными в 1.2.x, я пробовал это тогда, но безуспешно. В последних выпусках я никогда не пробовал это снова, но обязательно проверьте свои роли IAM на k8s vm, чтобы убедиться, что у них есть права на предоставление дисков EBS.

1

Необходимо установить провайдера облака для правильной установки тома EBS. Для того, чтобы сделать это после того, как тот факт, установить --cloud-provider=aws в следующих услуг:

  • контроллер-менеджер
  • apiserver
  • kubelet

Restart все и повторите попытку монтажа.

Пример стручок, который монтирует тома EBS явно может выглядеть следующим образом:

apiVersion: v1 
kind: Pod 
metadata: 
    name: test-ebs 
spec: 
    containers: 
    - image: gcr.io/google_containers/test-webserver 
    name: test-container 
    volumeMounts: 
    - mountPath: /test-ebs 
     name: test-volume 
    volumes: 
    - name: test-volume 
    # This AWS EBS volume must already exist. 
    awsElasticBlockStore: 
     volumeID: <volume-id> 
     fsType: ext4 
Смежные вопросы