Configuración para usar Amazon EKS - Amazon EKS

Configuración para usar Amazon EKS

Los recursos de AWS suelen tener restricciones de acceso que limitan el acceso a la entidad de AWS que los creó. Por lo tanto, es fundamental establecer una configuración de usuario adecuada en la AWS Command Line Interface desde el principio. Además, debe equipar su máquina local con las herramientas esenciales para una administración eficiente de la línea de comandos de su clúster de Amazon EKS. Este tema le será de ayuda para empezar a administrar su clúster desde la línea de comandos.

Paso 1: configurar la AWS CLI

La AWS CLI es una herramienta de línea de comandos para trabajar con los servicios de AWS, incluido Amazon EKS. También se usa para autenticar a los roles o usuarios de IAM para acceder al clúster de Amazon EKS y a otros recursos de AWS desde su máquina local. Para aprovisionar recursos en AWS desde la línea de comandos, debe obtener un ID de clave de acceso de AWS y una clave secreta para utilizarlos en la línea de comandos. A continuación, debe configurar estas credenciales en la AWS CLI. Si aún no ha instalado la AWS CLI, consulte Instalar o actualizar la última versión de la AWS CLI en la Guía del usuario de AWS Command Line Interface.

Para crear una clave de acceso

  1. Inicie sesión en el AWS Management Console.

  2. En la esquina superior derecha, elija el nombre de usuario de su cuenta de AWS para abrir el menú de navegación. En este ejemplo, elija webadmin. A continuación, elija Credenciales de seguridad.

  3. En Clave de acceso, elija Crear clave de acceso.

  4. Elija Interfaz de la línea de comandos (CLI) y, a continuación, haga clic en Siguiente.

  5. Elija Create access key (Crear clave de acceso).

  6. Elija Descargar archivo .csv.

Para configurar la AWS CLI

Después de instalar la AWS CLI, siga estos pasos para configurarla: Para obtener más información, consulte Configuración de AWS CLI en la Guía del usuario de AWS Command Line Interface.

  1. En una ventana de terminal, ingrese el siguiente comando:

    aws configure

    Si lo desea, puede configurar un perfil con nombre, como --profile cluster-admin. Si configura un perfil con nombre en la AWS CLI, deberá transferir siempre este indicador en los siguientes comandos.

  2. Introduzca las credenciales de AWS. Por ejemplo:

    AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: region-code Default output format [None]: json

Cómo obtener un token de seguridad

Si es necesario, ejecute el siguiente comando para obtener un token de seguridad nuevo para la AWS CLI. Para obtener más información, consulte get-session-token en la Referencia de los comandos de AWS CLI.

De forma predeterminada, el token será válido durante 15 minutos. Para cambiar el tiempo de espera predeterminado de la sesión, transfiera el indicador --duration-seconds. Por ejemplo:

aws sts get-session-token --duration-seconds 3600

Este comando devuelve las credenciales de seguridad temporales de una sesión de la AWS CLI. Debería ver la siguiente respuesta de salida:

{
    "Credentials": {
        "AccessKeyId": "ASIA5FTRU3LOEXAMPLE",
        "SecretAccessKey": "JnKgvwfqUD9mNsPoi9IbxAYEXAMPLE",
        "SessionToken": "VERYLONGSESSIONTOKENSTRING",
        "Expiration": "2023-02-17T03:14:24+00:00"
    }
}

Cómo verificar la identidad del usuario

Si es necesario, ejecute el siguiente comando para verificar las credenciales de AWS para su identidad de usuario de IAM (por ejemplo, ClusterAdmin) para la sesión de terminal.

aws sts get-caller-identity

Este comando devuelve el nombre de recurso de Amazon (ARN) de la entidad de IAM que está configurada para la AWS CLI. Debería ver la siguiente respuesta de ejemplo de salida:

{
    "UserId": "AKIAIOSFODNN7EXAMPLE",
    "Account": "01234567890",
    "Arn": "arn:aws:iam::01234567890:user/ClusterAdmin"
}

Paso 2: instalar las herramientas de Kubernetes

Para comunicarse con un clúster de Kubernetes, necesitará una herramienta para interactuar con la API de Kubernetes. Además, necesitará algunas otras herramientas, como una para administrar los entornos de Kubernetes en su máquina local.

Para crear los recursos de AWS

  • Recursos del clúster de Amazon EKS: si es la primera vez que utiliza AWS, le recomendamos que instale eksctl. eksctl es una utilidad de infraestructura como código (IaC) que utiliza AWS CloudFormation para crear fácilmente su clúster de Amazon EKS. También crea recursos adicionales de Kubernetes, como cuentas de servicio. Para obtener instrucciones sobre cómo instalar eksctl, consulte Instalación en la documentación de eksctl.

  • Recursos de AWS: si el usuario está acostumbrado a automatizar el aprovisionamiento y la implementación de la infraestructura de AWS, recomendamos instalar Terraform. Terraform es una herramienta de infraestructura como código (IaC) de código abierto desarrollada por HashiCorp. Le permite definir y aprovisionar la infraestructura mediante un lenguaje de configuración de alto nivel, como el lenguaje de configuración de HashiCorp (HCL) o JSON. Para obtener instrucciones sobre cómo instalar Terraform, consulte Instalar Terraform en la documentación de Terraform.

Para instalar kubectl

kubectl es una herramienta de línea de comandos de código abierto que se utiliza para comunicarse con el servidor de la API de Kubernetes en el clúster de Amazon EKS. Si aún no lo tiene instalado en su máquina local, elija una de las siguientes opciones.

Cómo configurar un entorno de desarrollo

  • Herramienta de implementación local: si es la primera vez que usa una herramienta de Kubernetes, considere la posibilidad de instalar una herramienta de implementación local como minikube o kind. Estas herramientas le permiten administrar un clúster de Amazon EKS en su máquina local.

  • Administrador de paquetes: Helm es un administrador de paquetes de Kubernetes muy popular que simplifica la instalación y administración de paquetes complejos. Con Helm, es más fácil instalar y administrar paquetes como el controlador del equilibrador de carga de AWS en su clúster de Amazon EKS.

Siguientes pasos