Tutoriales

Implemente un clúster de Kubernetes en AWS con Amazon EKS

En este artículo, aprenderemos cómo implementar un clúster de Kubernetes en AWS Amazon EKS y cómo instalar y configurar AWS CLI y Kubectl para interactuar con un clúster de EKS desde la línea de comandos en Linux.

Antes de implementar un clúster de Kubernetes en la nube de AWS con Amazon Elastic Kubernetes Service, asegúrese de tener una cuenta de AWS.Si no tiene una cuenta de AWS, consulte nuestra Introducción a los servicios web de Amazon (AWS) El artículo sabe cómo crear uno.

1. Configurar el clúster de EKS (nodo principal)

Para crear un clúster de EKS en AWS, debe tener a mano un rol de IAM.

1.1.Crear un rol de IAM

Un clúster de Kubernetes alojado en Amazon EKS llama a otros servicios de AWS en su nombre para administrar los recursos que utiliza en ese servicio.

Antes de poder crear un clúster de Amazon EKS, debe crear un rol de IAM con la siguiente política de IAM:

AmazonEKSClusterPolicy

Inicie sesión en su consola de AWS y busque «IAM». Elija Servicios de IAM para ingresar a la consola de IAM.

Buscar servicios de IAM

Seleccione Funciones en las opciones de la izquierda y haga clic en Crear función.

Crear un rol
Crear un rol

Seleccione el servicio de AWS y seleccione «EKS – Cluster» en las opciones de casos de uso. Una vez seleccionado, haga clic en Siguiente para continuar.

Elija entidades de confianza para roles
Elija entidades de confianza para roles

Asegúrese de agregar «AmazonEKSClusterPolicy», se agregará de forma predeterminada ya que seleccionamos EKS-Cluster en nuestro caso de uso. Haga clic en Siguiente para continuar con el siguiente paso.

Agregar permisos a roles
Agregar permisos a roles

En el siguiente paso, establezca el nombre del rol. Aquí, llamamos al rol «ostechnix_eks». Revisa todos los parámetros y haz clic en «Crear» al final para crear el personaje.

establecer el nombre del rol
establecer el nombre del rol

Aquí no agregamos ninguna etiqueta a este personaje. El uso de etiquetas para administrar, identificar y filtrar recursos puede ser útil si se trata de múltiples recursos.

Crear un rol de IAM
Crear un rol de IAM

Acabo de crear un nuevo rol llamado «ostechnix_eks».

Rol de IAM creado para el clúster de EKS
Rol de IAM creado para el clúster de EKS

1.2 Crear un clúster de EKS

Vaya a la consola de AWS y busque con «EKS». Seleccione «Elastic Kubernetes Service» para ingresar a la consola de EKS.

Buscar servicios de EKS
Buscar servicios de EKS

En el cuadro desplegable Agregar clúster, seleccione la opción Crear clúster.

Agregar un nuevo clúster de EKS
Agregar un nuevo clúster de EKS

Obtendrá la página Configurar clúster donde puede nombrar el clúster, elegir la versión de Kubernetes y elegir el rol de servicio de clúster que creamos en el paso anterior.

Aquí, llamamos al clúster «ostechnix» y elegimos la versión 1.21 de Kubernetes.

Configurar el clúster
Configurar el clúster

Si no se encuentra el rol, actualice el rol. Seleccione un rol y haga clic en Siguiente para continuar.

actualizar rol
actualizar rol

En este «Especificar red» necesita configurar la red. Aquí, seguimos usando las opciones predeterminadas.

Elija una VPC existente, que es una nube privada virtual donde puede crear recursos de AWS en una red virtual que defina. Continúe utilizando la subred predeterminada disponible en la VPC predeterminada.

Seleccione IPv4 como la familia de direcciones IP del clúster. Es el predeterminado.

Especificar detalles de la red
Especificar detalles de la red

Seleccione «Público» para acceder al extremo del clúster, que solo permite el acceso público a su clúster. Si elige «Privado», solo habilita el acceso privado a su clúster. Aquí, continuaremos usando el Público predeterminado.

Puede continuar usando los complementos de red predeterminados y hacer clic en Siguiente.

Acceso de punto final y complementos de red
Ingrese el acceso del punto final y los detalles del complemento de red

Obtendrá la página Configurar registro donde puede seleccionar el tipo de registro para habilitar. De forma predeterminada, todos los tipos están deshabilitados. Haga clic en Siguiente para continuar.

Configurar detalles de registro
Configurar detalles de registro

Obtendrá la página «Revisar y crear». Revisa todos los detalles de nuestra configuración y haz clic en «Crear» en la parte inferior.

Crear un clúster de EKS
Crear un clúster de EKS

La creación del clúster está en curso. Se tarda unos minutos en crear.

Se está creando el clúster de EKS
Se está creando el clúster de EKS

Creó un nuevo clúster de EKS llamado «ostechnix». Puede verificar esto en la consola de AWS 🡪Clúster de Amazon EKS🡪.

Estado del clúster de EKS
Estado del clúster de EKS

A continuación, debemos instalar y configurar AWS CLI y Kubectl para interactuar con el clúster de EKS desde la línea de comandos.

Para configurar las credenciales de la AWS CLI, debe crear credenciales de seguridad en AWS IAM.

2. Crear credenciales de seguridad

Inicie sesión en la consola de AWS y busque con IAM. Seleccione IAM para ingresar a la consola de IAM.

Buscar servicios de IAM
Buscar servicios de IAM

Seleccione la opción «Mis credenciales de seguridad» disponible a la derecha para crear y administrar sus credenciales de seguridad.

Seleccione la opción Mis credenciales de seguridad
Seleccione la opción Mis credenciales de seguridad

Haga clic en el cuadro desplegable Clave de acceso y haga clic en la opción Crear nueva clave de acceso.

Crear una nueva clave de acceso
Crear una nueva clave de acceso

La clave se creará después de hacer clic en la opción «Crear nueva clave de acceso». Descargue la clave para configurar la AWS CLI en una máquina Linux. Puede ver la clave marcando «Mostrar clave de acceso».

Crear una clave de acceso
Crear una clave de acceso

En esta demostración, la clave es,

  • Identificación de la clave de acceso: AKIAV7XU2AIJBX4EYKUO
  • Clave de acceso secreta: jicg/UZyZfb92zuYNNEAE0MVSJisHb0Mlgac2Doe

3. Instale la CLI de AWS

AWS CLI es una interfaz de línea de comandos que reúne todos los servicios de AWS en un solo terminal, lo que le permite operar muchos servicios de AWS con una sola herramienta.

usa lo siguiente curl comando para descargar el archivo de instalación. Aquí, usamos «CentOS Stream» para instalar y configurar AWS CLI.

[[email protected] ~]# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

Descomprima el archivo del instalador usando el siguiente comando.

[[email protected] ~]# unzip awscliv2.zip

Instale la AWS CLI con el siguiente comando.

[[email protected] ~]# ./aws/install
You can now run: /usr/local/bin/aws --version

Verifique la versión usando el comando anterior.

[[email protected] ~]# /usr/local/bin/aws --version
aws-cli/2.4.17 Python/3.8.8 Linux/4.18.0-358.el8.x86_64 exe/x86_64.centos.8 prompt/off
Comprobar la versión de AWS
Comprobar la versión de AWS

4. Configure la CLI de AWS

Utilice los siguientes comandos para configurar la CLI de AWS. Le pedirá el ID de la clave de acceso y la clave de acceso secreta que generamos en la Sección 2.

[[email protected] ~]# /usr/local/bin/aws configure
AWS Access Key ID [None]: AKIAV7XU2AIJBX4EYKUO
AWS Secret Access Key [None]: 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
Default region name [None]:
Default output format [None]:
[[email protected] ~]#
Configurar la CLI de AWS
Configurar la CLI de AWS

5. Instalar Kubectl

Kubernetes se comunica con el servidor de la API del clúster a través de la utilidad de línea de comandos kubectl.

Descargue el binario kubectl proporcionado por Amazon EKS desde Amazon S3 mediante el siguiente comando curl.

[[email protected] ~]# curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/linux/amd64/kubectl

Agregue permiso de ejecución al binario usando el siguiente comando.

[[email protected] ~]# chmod +x ./kubectl

Copie este binario a una carpeta en la ruta y exporte $PATH.

[[email protected] ~]# mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin

exportar RUTA a ~/.bashrc:

[[email protected] ~]# echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc

Kubectl está instalado, puede verificar la versión con el siguiente comando.

[[email protected] ~]# kubectl version --short --client
Client Version: v1.21.2-13+d2965f0db10712
Comprobar la versión de Kubectl
Comprobar la versión de Kubectl

6. Configurar Kubectl

Actualmente, kubectl no sabe dónde se encuentra el nodo principal de EKS en AWS.necesitamos mencionar área nombre y gruponombre.

Utilice el siguiente comando para comprobar el estado del clúster de EKS.

[[email protected] ~]# /usr/local/bin/aws eks --region ap-south-1 describe-cluster --name ostechnix --query cluster.status
"ACTIVE"
Comprobar el estado del clúster de EKS
Comprobar el estado del clúster de EKS

Actualice el archivo kubeconfig para usar kubectl para interactuar con el clúster de EKS. Obtendrá toda la configuración del nodo maestro al archivo kubeconfig.

[[email protected] ~]# /usr/local/bin/aws eks --region ap-south-1 update-kubeconfig --name ostechnix
Added new context arn:aws:eks:ap-south-1:411756528146:cluster/ostechnix to /root/.kube/config

Verifique kubectl comprobando el servicio con el siguiente comando. Puede asegurarse de que Kubectl pueda conectarse con el clúster de EKS.

[[email protected] ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.100.0.1           443/TCP   105m
Obtenga detalles del servicio usando el comando kubectl
Obtenga detalles del servicio usando el comando kubectl

En conclusión

En este artículo, aprendimos cómo aprovisionar un clúster de Amazon EKS y cómo configurar AWS CLI y Kubectl para el clúster de EKS en la plataforma Linux.

Cubriremos cómo agregar grupos de nodos y configurar nodos trabajadores en el siguiente artículo.

recurso:

LEER  Introducción a los ejemplos de comandos de Alpine Linux Apk

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba