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.
Tabla de Contenidos
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.
Seleccione Funciones en las opciones de la izquierda y haga clic en Crear función.
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.
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.
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.
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.
Acabo de crear un nuevo rol llamado «ostechnix_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.
En el cuadro desplegable Agregar clúster, seleccione la opción Crear clúster.
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.
Si no se encuentra el rol, actualice el rol. Seleccione un rol y haga clic en Siguiente para continuar.
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.
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.
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.
Obtendrá la página «Revisar y crear». Revisa todos los detalles de nuestra configuración y haz clic en «Crear» en la parte inferior.
La creación del clúster está en curso. Se tarda unos minutos en crear.
Creó un nuevo clúster de EKS llamado «ostechnix». Puede verificar esto en la consola de AWS 🡪Clúster de Amazon 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.
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 Clave de acceso y haga clic en la opción Crear 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».
En esta demostración, la clave es,
- Identificación de la clave de acceso: AKIAV7XU2AIJBX4EYKUO
- Clave de acceso secreta: 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
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
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] ~]#
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
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"
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.1443/TCP 105m
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: