Ayude a mejorar esta página
¿Quiere contribuir a esta guía del usuario? Desplácese hasta el final de esta página y seleccione Editar esta página en GitHub. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.
Conexión de un clúster externo de Kubernetes a la consola de administración de Amazon EKS
Puede conectar un clúster externo de Kubernetes en Amazon EKS mediante varios métodos en el siguiente proceso. Este proceso consta de dos pasos: registrar el clúster en Amazon EKS e instalar el agente eks-connector
del clúster.
Debe completar el segundo paso en un plazo de 3 días a partir de haber completado el primer paso, antes de que caduque el registro.
Consideraciones
Puede usar los manifiestos YAML al instalar el agente. Como alternativa, puede usar Helm si registra el clúster con la AWS Management Console o la AWS Command Line Interface. Sin embargo, no puede usar Helm para instalar el agente si registra el clúster con eksctl
.
Requisitos previos
-
Asegúrese de que se haya creado el rol de agente de Amazon EKS Connector. Siga los pasos de Creación del rol de agente conector de Amazon EKS.
-
Debe tener los siguientes permisos para registrar un clúster:
-
eks:RegisterCluster
-
ssm:CreateActivation
-
ssm:DeleteActivation
-
iam:PassRole
Paso 1: registro del clúster
- AWS CLI
-
Para registrar el clúster con la AWS CLI
-
Para la configuración de Connector, especifique su rol de IAM de agente de Amazon EKS Connector. Para obtener más información, consulte Roles de IAM necesarios para Amazon EKS Connector.
aws eks register-cluster \
--name my-first-registered-cluster
\
--connector-config roleArn=arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole
,provider="OTHER" \
--region aws-region
Un ejemplo de salida sería el siguiente.
{
"cluster": {
"name": "my-first-registered-cluster
",
"arn": "arn:aws:eks:region:111122223333:cluster/my-first-registered-cluster
",
"createdAt": 1627669203.531,
"ConnectorConfig": {
"activationId": "xxxxxxxxACTIVATION_IDxxxxxxxx
",
"activationCode": "xxxxxxxxACTIVATION_CODExxxxxxxx
",
"activationExpiry": 1627672543.0,
"provider": "OTHER",
"roleArn": "arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole"
},
"status": "CREATING"
}
}
Utilizará los valores de aws-region
, activationId
y activationCode
en un paso posterior.
- AWS Management Console
-
Para registrar el clúster de Kubernetes en la consola.
Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters.
-
Elija Add cluster (Agregar clúster) y seleccione Register (Registrar) para abrir la página de configuración.
-
En la sección Configure cluster (Configurar clúster), rellene los siguientes campos:
-
Nombre: un nombre único para el clúster.
-
Provider (Proveedor): elija esta opción para mostrar la lista desplegable de proveedores de clústeres de Kubernetes. Si no conoce al proveedor específico, seleccione Otro.
-
EKS Connector role (Rol de EKS Connector): seleccione el rol que se va a utilizar para conectar el clúster.
-
Seleccione Register cluster (Registrar el clúster).
-
Se abre la página de información general del clúster. Si quiere usar el gráfico de Helm, copie el comando helm install
y continúe con el siguiente paso. Si desea usar el manifiesto de YAML, elija Descargar archivo YAML para descargar el archivo de manifiesto en la unidad local.
-
Esta es su única oportunidad para copiar el comando helm
install
o descargar este archivo. No navegue fuera de esta página, ya que no se podrá acceder al enlace y deberá anular el registro del clúster e iniciar los pasos desde el principio.
-
El comando o el archivo de manifiesto solo se puede utilizar una vez para el clúster registrado. Si elimina recursos del clúster de Kubernetes, debe volver a registrar el clúster y obtener un nuevo archivo de manifiesto.
Continúe en el paso siguiente para aplicar el archivo de manifiesto al clúster de Kubernetes.
- eksctl
-
Para registrar el clúster con eksctl
-
Registre el clúster al proporcionar un nombre, un proveedor y una región.
eksctl register cluster --name my-cluster
--provider my-provider
--region region-code
Ejemplo de salida:
2021-08-19 13:47:26 [ℹ] creating IAM role "eksctl-20210819194112186040"
2021-08-19 13:47:26 [ℹ] registered cluster "<name>" successfully
2021-08-19 13:47:26 [ℹ] wrote file eks-connector.yaml to <current directory>
2021-08-19 13:47:26 [ℹ] wrote file eks-connector-clusterrole.yaml to <current directory>
2021-08-19 13:47:26 [ℹ] wrote file eks-connector-console-dashboard-full-access-group.yaml to <current directory>
2021-08-19 13:47:26 [!] note: "eks-connector-clusterrole.yaml" and "eks-connector-console-dashboard-full-access-group.yaml" give full EKS Console access to IAM identity "<aws-arn>", edit if required; read https://eksctl.io/usage/eks-connector for more info
2021-08-19 13:47:26 [ℹ] run `kubectl apply -f eks-connector.yaml,eks-connector-clusterrole.yaml,eks-connector-console-dashboard-full-access-group.yaml` before expiry> to connect the cluster
De este modo, se crean archivos en el equipo local. Estos archivos deben aplicarse al clúster externo en un plazo de 3 días o el registro vence.
-
En una terminal que pueda acceder al clúster, aplique el archivo eks-connector-binding.yaml
:
kubectl apply -f eks-connector-binding.yaml
Paso 2: Instalar el agente de eks-connector
- Helm chart
-
Si ha registrado el clúster con eksctl
, utilice el método de manifiesto YAML en lugar del método de gráfico de Helm.
-
Si utilizó la AWS CLI en el paso anterior, sustituya el ACTIVATION_CODE
y ACTIVATION_ID
en el siguiente comando por los valores de activationId
y activationCode
, respectivamente. Sustituya el aws-region
por el Región de AWS que utilizó en el paso anterior. Ejecute el siguiente comando para instalar el agente de eks-connector
en el clúster del registro:
$
helm install eks-connector \
--namespace eks-connector \
oci://public.ecr.aws/eks-connector/eks-connector-chart \
--set eks.activationCode=ACTIVATION_CODE
\
--set eks.activationId=ACTIVATION_ID
\
--set eks.agentRegion=aws-region
Si ha utilizado la AWS Management Console en el paso anterior, utilice el comando que copió del paso anterior y que contiene estos valores rellenados.
-
Compruebe el buen estado de la implementación de eks-connector
instalado y espere a que el estado del clúster registrado en Amazon EKS sea ACTIVE
.
- YAML manifest
-
Complete la conexión aplicando el archivo de manifiesto de Amazon EKS Connector al clúster de Kubernetes. Para ello, debe utilizar los métodos descritos anteriormente. Si el manifiesto no se aplica en un plazo de tres días, el registro de Amazon EKS Connector vence. Si la conexión del clúster vence, debe anularse el registro del clúster antes de volverlo a conectar.
-
Descargue el archivo YAML de Amazon EKS Connector.
curl -O https://amazon-eks.s3.us-west-2.amazonaws.com/eks-connector/manifests/eks-connector/latest/eks-connector.yaml
-
Edite el archivo YAML de Amazon EKS Connector para reemplazar todas las referencias de %AWS_REGION%
, %EKS_ACTIVATION_ID%
y %EKS_ACTIVATION_CODE%
por aws-region
, activationId
y activationCode
de la salida del paso anterior.
El siguiente comando de ejemplo puede sustituir estos valores.
sed -i "s~%AWS_REGION%~$aws-region
~g; s~%EKS_ACTIVATION_ID%~$EKS_ACTIVATION_ID
~g; s~%EKS_ACTIVATION_CODE%~$(echo -n $EKS_ACTIVATION_CODE
| base64)~g" eks-connector.yaml
Asegúrese de que el código de activación esté en el formato base64.
-
En una terminal que pueda acceder al clúster, puede aplicar el archivo de manifiesto actualizado al ejecutar el siguiente comando:
kubectl apply -f eks-connector.yaml
-
Una vez que los archivos YAML de manifiesto y de enlace de roles de Amazon EKS Connector se hayan aplicado al clúster de Kubernetes, confirme que el clúster esté conectado.
aws eks describe-cluster \
--name "my-first-registered-cluster"
\
--region AWS_REGION
El resultado debe incluir status=ACTIVE
.
-
(Opcional) Agregue etiquetas a su clúster. Para obtener más información, consulte Organización de los recursos de Amazon EKS con etiquetas.
Siguientes pasos
Si tiene algún problema con estos pasos, consulte Solución de problemas del conector de Amazon EKS.
Para conceder acceso a otras entidades principales de IAM a la consola de Amazon EKS para ver los recursos de Kubernetes en un clúster conectado, consulte Concesión de acceso para ver los recursos del clúster de Kubernetes en una consola de Amazon EKS.