Унаследованный кластер EKS, не имеет доступа для запуска команд kubectl - PullRequest
0 голосов
/ 29 апреля 2020

Я унаследовал кластер eks, но я не знаю, какой пользователь IAM настроен как «главный пользователь» (пользователь, создавший кластер, всегда имеет доступ system:master). Я использовал рабочую роль, чтобы попытаться прочитать / изменить конфигурационную карту aws -auth, но рабочие узлы, похоже, тоже не имеют к ней доступа.

sh-4.2$ kubectl get configmap -n kube-system
Error from server (Forbidden): configmaps is forbidden: User "system:node:ip-10-10-10-10.ec2.internal" cannot list resource "configmaps" in API group "" in the namespace "kube-system": No Object name found

Какие шаги я могу выполнить внешне не зная содержимого aws - чтобы снова получить доступ к этому кластеру?

1 Ответ

0 голосов
/ 03 мая 2020

Когда вы впервые создаете кластер Amazon EKS в AWS, пользователь или роль IAM-объекта, который создает кластер, является единственным удостоверением, которому разрешено аутентифицироваться в нем и управлять aws -auth ConfigMap, он автоматически предоставляется системе : управляет разрешениями в конфигурации кластера RBA C для создателя кластера, как вы упомянули [1].

Чтобы определить, кто является создателем кластера, вы можете использовать консоль CloudTrail в «Истории событий», которую вы можете Отфильтруйте по «Имени события» и выберите «CreateCluster», в нем будет указано событие, использованное для создания кластера, там вы сможете увидеть идентификатор (пользователя или роль), который использовался для создания кластера.

Чтобы иметь возможность аутентификации, сначала вам нужно установить aws -iam-authenticator [2], затем принять идентификацию создателя кластера на вашем AWS -CLI, по умолчанию AWS IAM Authenticator для Kubernetes будет использовать те же учетные данные, которые возвращаются с помощью следующей команды:

aws sts get-caller-i dentity Наконец, вам нужно создать файл kubeconfig с помощью приведенной ниже команды, чтобы иметь возможность «kubectl get node» [3]:

aws eks --region-код региона-update-kubeconfig --name имя_ кластера Вы Более подробную информацию о процессе аутентификации можно найти в AWS EKS в документации «Управление аутентификацией кластера» [4].

Если вам нужно предоставить доступ новым пользователям, кроме создателя кластера, вы должны добавить роль / пользователь через ConfigMap вошли в систему с идентификатором, уже авторизованным на aws -auth ConfigMap [5].

[1] https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html [2] https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html [3] https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html [4] https://docs.aws.amazon.com/eks/latest/userguide/managing-auth.html [5] https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...