¿Quieres saber cómo podemos ayudarte?   Agenda tu cita ahora mismo 

Idioma:   English EN Español ES

En este blog, aprenderás qué es EKS (Elastic Kubernetes Service) Anywhere y cómo configurar un clúster de desarrollo EKS Anywhere y registrarlo en la consola AWS EKS usando un conector del mismo.

¿Qué es EKS Anywhere?

EKS Anywhere es una función de AWS (Amazon Web Services) para administrar y ejecutar los clústeres de EKS en entornos locales. Estos simplifican la administración de Kubernetes en los entornos y permite una experiencia consistente en una implementación en múltiples nubes. Además de esto, tendrás control total sobre los planos de control y nodos de trabajadores. 

EKS Anywhere hace uso de  Amazon EKS Distro (EKS-D),  una distribución personalizada de Kubernetes y de código abierto por AWS.  Es la misma distribución que impulsa el EKS que administra AWS. Esto significa que cuando instalas EKS Anywhere, vendrá con unas configuraciones y parámetros optimizados por AWS.

Además de esto, puedes registrar los clústeres de EKS Anywhere a la consola de EKS Connector. Una vez el clúster haya sido registrado, puedes ver todos los componentes del clúster Anywhere en la consola AWS EKS. 

EKS connector  usa un Statefulset que ejecuta en tu clúster el agente AWS System Manager. Este es el responsable de mantener la total conexión entre el clúster de EKS Anywhere y AWS. 

Siguiendo los casos de uso clave de EKS Anywhere:

  1. Consistencia de nube híbrida:  EKS anywhere permite crear consistencia operativa en sus clústeres de Kubernetes tanto locales como de la nube. 
  2. Entorno sin conexión: Puedes ejecutar un clúster de EKS Anywhere sin una conexión a internet, y al mismo tiempo, tus clústeres desconectados tendrán la misma función que EKS en la nube con la distribución EKS-D. 
  3. Modernización de aplicaciones: Con EKS-D, los gastos administrativos usados para parches y actualización de versiones son reducidos para así poder dar un mejor enfoque a las aplicaciones. 

Configuración del clúster de desarrollo EKS Anywhere 

Puedes configurar los clústeres de desarrollo EKS Anywhere con Docker ya sea en un sistema MAC o Ubuntu. 

Sigue los pasos que te damos a continuación para que puedas configurar tu clúster EKS Anywhere correctamente. 

Paso 1: Instala Docker Desktop

Ve a  Descargar Docker  e instala Docker desktop para MAC. Para hacerlo en Ubuntu, puedes usar  este enlace para descargar el paquete deb. 

Para usarlo en Mac, abre el siguiente archivo y cambia   deprecatedCgroupv1 a true. Luego reinicia Docker desktop para aplicar los cambios.  

 

  

 vi ~/Library/Group\ Containers/group.com.docker/settings.json

 

 

Si no, tendrás este error.

 

 

Error: failed to validate docker desktop: EKS Anywhere requires Docker desktop to be configured to use CGroups v1. Please set `deprecatedCgroupv1:true` in your `~/Library/Group\ Containers/group.com.docker/settings.json` file

 

Paso 2: Instala eksctl-anywhere

 

   

 brew install eks-anywhere

 

 

Paso 3: Genera la configuración del clúster 

Genera la configuración del clúster EKS anywhere usando el siguiente comando. 

 

 

CLUSTER_NAME=dev-eks-cluster

eksctl anywhere generate clusterconfig $CLUSTER_NAME \

–provider docker > $CLUSTER_NAME.yaml

 

 

La configuración del clúster debería verse como esta: 

 

 

apiVersion: anywhere.eks.amazonaws.com/v1alpha1
kind: Cluster
metadata:
name: dev-eks-cluster
spec:
clusterNetwork:
cniConfig:
cilium: {}
pods:
cidrBlocks:
– 192.168.0.0/16
services:
cidrBlocks:
– 10.96.0.0/12
controlPlaneConfiguration:
count: 1
datacenterRef:
kind: DockerDatacenterConfig
name: dev-eks-cluster
externalEtcdConfiguration:
count: 1
kubernetesVersion: “1.22”
managementCluster:
name: dev-eks-cluster
workerNodeGroupConfigurations:
– count: 1
name: md-0


apiVersion: anywhere.eks.amazonaws.com/v1alpha1
kind: DockerDatacenterConfig
metadata:
name: dev-eks-cluster
spec: {}

 

Paso 4: Implementa/ Instala el clúster

Implemente el clúster usando eksctl. Tomará un poco de tiempo para que el clúster se acondicione. 

 

 

eksctl anywhere create cluster -f dev-eks-cluster.yaml

 

 

Verás el siguiente resultado luego de haber implementado correctamente el clúster.  

Paso 5: Valida el clúster

Una vez que el clúster se haya creado correctamente, podrás ver una carpeta llamada dev-eks-cluster conteniendo un archivo kubeconfig.  Procedemos a exportar el archivo kubeconfig.

Reemplaza /path/to con la ruta absoluta de la ubicación del dev-eks-cluster. O también puedes consultar  la guía de archivos Kubeconfig  para saber más acerca de los usos prácticos de los archivos kubeconfig.

 

 

KUBECONFIG=/path/to/dev-eks-cluster/dev-eks-cluster-eks-a-cluster.kubeconfig

 

 

Ahora, podemos enumerar los pods en el espacio de nombres de kube-system para validar el clúster. Podrás ver todos los pods en estado de ejecución, así como verás a continuación.   

Paso 6: Genera e implementa las configuraciones de EKS Connector

Ya que tenemos clústeres de desarrollo EKS Anywhere ejecutándose, procederemos a registrar el clúster usando EKS Connector. 

 

 

Nota: Antes de registrar tu clúster, asegúrate de tener una configuración AWS CLI válido con todos los privilegios de administrador en el sistema. Puedes consultar la guía de configuración de AWS CLI  para obtener más información y detalles.

 

 

Este es el comando que se usará para generar las configuraciones YAML de EKS Connector. Reemplaza el valor de la región en caso de que estés usando una diferente 

 

 

eksctl register cluster –name dev-eks-cluster –provider EKS_ANYWHERE –region us-west-2

 

 

El anterior comando crea los siguientes archivos YAML. Donde eks-connector.yaml  es el YAML del agente EKS connector.

  1. eks-connector-clusterrole.yaml
  2. eks-connector-console-dashboard-full-access-group.yaml
  3. eks-connector.yaml

Implementamos los tres YAML.

 

 

kubectl apply -f eks-connector-clusterrole.yaml

kubectl apply -f eks-connector-console-dashboard-full-access-group.yaml

kubectl apply -f eks-connector.yaml

 

 

Paso 7: Valida el registro del clúster de EKS Anywhere en la consola de EKS 

Si vas a la consola de AWS EKS, podrás ver que tu nuevo clúster aparecerá registrado como se ve la siguiente imagen: 

Si le haces clic al nombre del clúster, podrás ver todos los objetos y la información del clúster de EKS anywhere que se ejecuta en tu estación local de trabajo.

Aquí podrás el demo de EKS connector que he agregado en el canal de DevOpsCube en YouTube.

 

Conclusión

En esta guía le dimos un vistazo a la configuración del clúster de desarrollo EKS anywhere Kubernetes Para empezar, diría que es bastante fácil. Pruébalo. 

También, si estás buscando clústeres de desarrollo de Kubernetes liviano, puedes ver este tutorial de minikube.

Si estás aprendiendo sobre Kubernetes, poder ver estos 30+ tutoriales de Kubernetes para principiantes. 

 

 

Tomado de la web:

Traducido al español por Estefanía Morales Rodríguez de Devops Latam.

 

Contribuido por Bibin Wilson – Publicado el 6 de Julio de 2022 – https://devopscube.com/top-websites-to-learn-programming-online/

Leave a Reply

Tu dirección de correo electrónico no será publicada.