Какие предварительные условия мне нужны для Kubernetes для монтирования тома EBS? - PullRequest
0 голосов
/ 04 июля 2018

Документация не идет в подробности. Я полагаю, что по крайней мере мне нужна была бы роль.

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Это то, что мы сделали, и это сработало хорошо.

Я был на kubernetes 1.7.2 и пытался выделить хранилище (динамическое / статическое) для модулей kubernetes на AWS. Некоторые из упомянутых ниже вещей могут не понадобиться, если вы не ищете динамические классы хранения.

Убедитесь, что контроллер доступа DefaultStorageClass включен на сервере API. (DefaultStorageClass входит в упорядоченный список значений, разделенных запятыми, для флага --enable-admission-plugins серверного компонента API.)

Я указал параметры --cloud-provider = aws и --cloud-config = / etc / aws / aws.config (при запуске apiserver, controller-manager, kubelet) (файл /etc/aws/aws.conf присутствует в экземпляре с содержанием ниже)

$ cat /etc/aws/aws.conf
[Global]
Zone = us-west-2a

Созданная политика IAM добавлена ​​к роли (как в ссылке ниже), создана для нее профиль экземпляра и прикреплена к экземплярам. (ПРИМЕЧАНИЕ: я пропустил прикрепление профиля экземпляра, и он не работал). https://medium.com/@samnco/using-aws-elbs-with-the-canonical-distribution-of-kubernetes-9b4d198e2101

Для динамического обеспечения: Создал класс хранения и сделал его по умолчанию.

Дайте мне знать, что это не сработало.

С уважением Sudhakar

0 голосов
/ 04 июля 2018

Это тот, который используется kubespray, и весьма вероятно, указывает на рациональное значение по умолчанию:

https://github.com/kubernetes-incubator/kubespray/blob/v2.5.0/contrib/aws_iam/kubernetes-minion-policy.json

с указанием tl; dr этой ссылки для создания Allow для следующих действий:

  • s3:*
  • ec2:Describe*
  • ec2:AttachVolume
  • ec2:DetachVolume
  • route53:*

(хотя я бы поспорил, что s3:* слишком широк, у меня нет информации, чтобы предоставить более ограниченную версию; аналогичное наблюдение для route53:*)

Все ключи Resource для них *, за исключением s3:, который ограничивает ресурс блоками, начинающимися с kubernetes-* - неизвестно, если это только пример, или в kubernetes есть что-то особенное ведра с префиксом. Очевидно, у вас мог бы быть лучший список элементов для заполнения ключей Resource, чтобы действительно ограничивать подключаемые тома (просто будьте осторожны с динамически подготовленными томами, которые будут созданы ресурсами PersistentVolume)

...