GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo implementar el clúster de Kubernetes en AWS con Amazon EKS

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

Antes de implementar el 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 Amazon Web Services (AWS) artículo para saber cómo crear uno.

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

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

1.1. Crear rol de IAM

Los clústeres de Kubernetes administrados por Amazon EKS realizan llamadas en su nombre a otros servicios de AWS para administrar los recursos que utiliza con el servicio.

Primero debe crear un rol de IAM con la siguiente política de IAM antes de poder construir clústeres de Amazon EKS:

AmazonEKSClusterPolicy

Inicie sesión en su consola de AWS y busque 'IAM'. Seleccione el servicio de IAM para acceder a la consola de IAM.

Elija Funciones en las opciones del lado izquierdo y luego haga clic en Crear función.

Seleccione los servicios de AWS y seleccione 'EKS – Cluster' en las opciones de Casos de uso. Una vez seleccionado, haga clic en 'Siguiente' para continuar.

Asegúrese de agregar 'AmazonEKSClusterPolicy'; de manera predeterminada, se agregará cuando seleccionamos EKS-Cluster en los casos de uso. Haga clic en Siguiente para continuar.

En el siguiente paso, establezca el nombre del rol. Aquí, estamos nombrando el rol como 'ostechnix_eks'. Revise todos los parámetros y haga clic en 'crear' al final para crear el rol.

Aquí no agregamos ninguna etiqueta para este rol. Si estamos tratando con múltiples recursos, será útil tener etiquetas para administrar, identificar y filtrar recursos.

Se acaba de crear un nuevo rol llamado 'ostechnix_eks'.

1.2. Crear clúster de EKS

Vaya a la Consola de AWS y busque con 'EKS'. Seleccione 'Elastic Kubernetes Service' para acceder a la consola de EKS.

En el cuadro desplegable 'Agregar clúster', elija la opción 'crear' clúster.

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

Aquí, llamamos al clúster "ostechnix" y seleccionamos la versión 1.21 de Kubernetes.

Si no encontró el rol, actualice los roles. Seleccione el rol y haga clic en 'siguiente' para continuar.

En este 'Especificar red', debe configurar la red. Aquí estamos procediendo con las opciones predeterminadas.

Seleccione la VPC existente, VPC es una nube privada virtual donde puede crear recursos de AWS en la red virtual que ha definido. Continúe con las subredes predeterminadas disponibles en la VPC predeterminada.

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

Elija 'Público' para el acceso al punto final del clúster, que permite solo el acceso público a su clúster. Si elige 'Privado', solo permite el acceso privado a su clúster. Aquí, estamos procediendo con Público, que es el predeterminado.

Puede continuar con los 'Complementos de red' predeterminados y hacer clic en 'Siguiente'.

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

Obtendrá la página 'Revisar y crear'. Revisa todos los detalles que configuramos y haz clic en 'Crear' en la parte inferior.

La creación del clúster estará en curso. Tardará un par de minutos en crearse.

Se crea un nuevo clúster de EKS llamado 'ostechnix'. Puede verificar en AWS Console🡪Amazon EKS🡪Clusters.

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 acceder a la consola de IAM.

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

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

Una vez que haga clic en la opción 'Crear nueva clave de acceso', se creará la clave. Descargue la clave para configurar AWS CLI en una máquina Linux. Puede ver la clave marcando 'Mostrar clave de acceso'.

En esta demostración la clave es,

  • ID de 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 numerosos servicios de AWS con una sola herramienta.

Use el siguiente curl comando para descargar el archivo de instalación. Aquí, estamos usando '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 de instalación usando el siguiente comando.

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

Instale AWS CLI usando el siguiente comando.

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

Verifique la versión usando el comando mencionado anteriormente.

[[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

4. Configurar la CLI de AWS

Utilice el siguiente comando 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] ~]#

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.

Utilice el siguiente comando curl para descargar el binario kubectl vendido por Amazon EKS desde Amazon S3.

[[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 la carpeta en su ruta y exporte el $PATH .

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

Exporte la RUTA a ~/.bashrc :

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

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

[[email protected] ~]# kubectl version --short --client
Client Version: v1.21.2-13+d2965f0db10712

6. Configurar Kubectl

En este momento, kubectl no sabe dónde se encuentra el nodo principal de EKS en AWS. Necesitamos que kubectl sepa dónde se encuentra el servidor maestro mencionando la región nombre y clúster nombre r.

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"

Actualice el archivo kubeconfig para usar kubectl para interactuar con el clúster de EKS. Obtendrá todas las configuraciones 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 el kubectl verificando el servicio usando 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   <none>        443/TCP   105m

Conclusión

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

Implementé con éxito el clúster de Kubernetes en la nube de AWS, ¿y ahora qué? Usted podría preguntarse. Consulte nuestra próxima guía para saber cómo agregar grupos de nodos y configurar los nodos trabajadores en el clúster de AWS EKS.

  • Cómo agregar nodos de trabajo al clúster de Amazon EKS

Linux
  1. Cómo configurar un clúster de Kubernetes con Rancher

  2. Cómo implementar Redis Cluster en Kubernetes

  3. Cómo monitorear el espacio libre en disco en Amazon EC2 con Cloud Watch

  4. Cómo implementar su primer pod en un clúster de Kubernetes

  5. Configurar el clúster de Kubernetes con Rancher

Cómo crear un clúster de Kubernetes con AWS CLI

Cómo agregar nodos de trabajo al clúster de Amazon EKS

Cómo implementar Kubernetes de un solo nodo con Microk8s en Ubuntu 20.04

Cómo implementar pilas de Docker Compose en Kubernetes con Kompose

Cómo implementar CouchDB como un clúster con Docker

Cómo implementar un servicio en un clúster de Docker Swarm