Você também precisa configurar a "relação de confiança" para a função AWSServiceRoleForAmazonEKS, que permite que a EKS a assuma.
Na parte inferior deste link, há detalhes sobre o que fazer:
Estou seguindo o guia passo a passo para configurar e o ambiente do kubernetes na AWS.
Já teve alguns gochchas .. e eles foram respondidos parcialmente.
Por algum motivo, as pessoas conseguiram resolver usando essas diretrizes disponíveis nessas respostas, e eu ainda não consegui decifrá-lo.
could not get token: AccessDenied: User: arn:aws:iam::sssssss:user/testprofileUser is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::sssssssss:role/eksServiceRole
O que eu fiz:
amazonEKSServiceRole tem uma relação de confiança como abaixo,
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "eks.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Este é o meu arquivo kubeconfig,
apiVersion: v1
clusters:
- cluster:
server: https://7F30ANNSDSDMDCE1.ylq.us-east-1.eks.amazonaws.com
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURB...
name: clouddev
contexts:
- context:
cluster: clouddev
user: aws
name: aws
current-context: aws
kind: Config
preferences: {}
users:
- name: aws
user:
exec:
apiVersion: client.authentication.k8s.io/v1alpha1
command: aws-iam-authenticator
args:
- "token"
- "-i"
- "clouddev"
- "-r"
- "arn:aws:iam::xxxxx:role/amazonEKSServiceRole"
env:
- name: AWS_PROFILE
value: "testprofile"
Para ficar claro, tenho uma testprofile
configuração corretamente em ~/.aws/credentials
Se alguém puder lançar alguma luz muito apreciada.
Você também precisa configurar a "relação de confiança" para a função AWSServiceRoleForAmazonEKS, que permite que a EKS a assuma.
Na parte inferior deste link, há detalhes sobre o que fazer:
Minha situação era, eu criei o VPC usando o usuário root e criei o resto do infra (plano de controle do eks e nós de trabalho usando um usuário diferente). Quando recriou tudo usando o mesmo usuário, as coisas ficaram lisas e consegui criar um cluster. Eu vou postar uma vez eu cobri a base para o controle de acesso usando STS
Eu tive que adicionar uma declaração adicional ao relacionamento de confiança.