Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

177
Views
¿Cómo administrar EKS desde el perfil de la instancia EC2?

Nuestro sistema tiene clústeres de EKS kubernetes. Los administramos desde los "hosts bastión" de la instancia EC2, donde ingresamos, configuramos nuestras credenciales y usamos kubectl para administrar el clúster.

No queremos seguir teniendo que configurar manualmente nuestras credenciales en el host EC2.

Entonces, estoy tratando de asociar un perfil de instancia EC2 con el host EC2 con los permisos apropiados para administrar el clúster. Sin embargo, no funciona.

La instancia EC2 tiene un perfil de instancia de IAM que está asociado con un rol que contiene esta política (permisos completos de EKS)

 { "Sid": "2", "Effect": "Allow", "Action": [ "eks:*" ], "Resource": "*" }

Entonces, cuando ejecuto los siguientes comandos, espero poder enumerar los servicios activos en EKS:

 [ec2-user@ip-10-0-0-72 ~]$ aws eks update-kubeconfig --name my_eks_cluster_name [ec2-user@ip-10-0-0-72 ~]$ kubectl get svc error: the server doesn't have a resource type "svc"

El error implica que no tengo permiso. Probé esto configurando algunas credenciales de AWS en el host:

 [ec2-user@ip-10-0-0-72 ~]$ export AWS_ACCESS_KEY_ID=... [ec2-user@ip-10-0-0-72 ~]$ export AWS_SECRET_ACCESS_KEY=... [ec2-user@ip-10-0-0-72 ~]$ export AWS_SESSION_TOKEN=...

ahora, trato de enumerar svc:

 [ec2-user@ip-10-0-0-72 ~]$ kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 172.20.0.1 <none> 443/TCP 85d

funciona

¿Por qué el rol de instancia de IAM no es suficiente para permitirme administrar mi clúster de EKS a través de kubectl?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Gracias a @jordanm por señalar que EKS usa un mapa de configuración para manejar la autorización.

Pude editar el mapa de configuración, agregando una entrada para asignar el rol de IAM del perfil de la instancia EC2, arn:aws:iam::111111111111:role/eks_management_host_jw_jw , al system:masters (administradores)

 # Please edit the object below. Lines beginning with a '#' will be ignored, # and an empty file will abort the edit. If an error occurs while saving this file will be # reopened with the relevant failures. # apiVersion: v1 data: mapRoles: | - groups: - system:bootstrappers - system:nodes rolearn: arn:aws:iam::111111111111:role/eks_node_jw_jw username: system:node:{{EC2PrivateDNSName}} - groups: # <-- I added this - system:masters rolearn: arn:aws:iam::111111111111:role/eks_management_host_jw_jw username: system:admin kind: ConfigMap metadata: # ...
over 4 years ago · Santiago Trujillo Report

0

De forma predeterminada, solo el creador del clúster tiene permisos para acceder a los recursos dentro de un clúster y ningún otro usuario o función. Para otorgar permiso de clúster a cualquier otro usuario o rol, EKS tiene un mapa de configuración llamado aws-ath en el espacio de nombres kube-system . Debe definir mapRoles dentro de él para otorgar permiso a otros roles. De manera similar, para otorgar permisos a otros usuarios, se debe definir mapUsers .

Ejemplo

 apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapRoles: | - rolearn: <ARN of instance role (not instance profile)> username: system:node:{{EC2PrivateDNSName}} groups: - system:bootstrappers - system:nodes - system:masters

Referencia: https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!