Я новичок в EKS и Kubernetes -
Вот что случилось
- Кластер EKS был создан с указанием c роли IAM
- Когда пытаясь подключиться к кластеру с помощью команд kubectl, которые он выдавал
error You must be logged in to the server (Unauthorized)
Я выполнил шаги, описанные здесь
https://aws.amazon.com/premiumsupport/knowledge-center/amazon-eks-cluster-access/
Принято на роль, которая создала кластер EKS
Экспортировал их в новый профиль dev
в aws учетные данные
Ран AWS_PROFILE=dev kubectl get nodes
. Он был в состоянии перечислить все мои узлы.
Примечание: я уже запустил aws eks --region <region> update-kubeconfig --name <cluster-name>
Теперь я попытался добавить роль / пользователя SAML, который пытается получить доступ к кластеру EKS, применив конфигурационную карту, как показано ниже, и запустил
AWS_PROFILE=dev kubectl apply -f aws-auth.yaml
aws-auth.yaml
, равный
apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapRoles: |
- rolearn: arn:aws:sts::******:assumed-role/aws_dev/abc@def.com
username: system:node:{{EC2PrivateDNSName}}
groups:
- system:bootstrappers
- system:nodes
обратите внимание, что роль arn является пользователем SAML, которому присвоена роль aws_dev
, которая пытается подключиться к кластеру.
После применения ответ был configmap/aws-auth configured
I теперь пытался выполнить kubectl get nodes
без AWS_PROFILE=dev
, и он снова завершился с ошибкой error You must be logged in to the server (Unauthorized)
.
Я также выполнил AWS_PROFILE=dev kubectl get nodes
, который раньше работал, но сейчас не удается.
Я предполагаю aws -auth информация испорчена и есть способ отменить kubectl apply
, что было сделано выше.
любая команда kubectl теперь терпит неудачу. Что может происходить? Как я могу исправить это?