eksctl - The official CLI for Amazon EKS
Eksctl es una herramienta simple de CLI para crear clústeres en EKS.
Eksctl es una herramienta simple de CLI para crear clústeres en EKS, lo cual a mi parecer me parece lo mejor para administrar clústeres de kubernetes en aws porque con un solo comando puedes crear el eks e infraestructura como en ec2 o en fragate e agregar clústeres a eks o quitar.
Vamos a ver diferentes maneras de crear un eks con diferentes clústeres.
Comencemos con lo básico
Instalación
Linux
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
Homebrew
brew tap weaveworks/tap
brew install weaveworks/tap/eksctl
chocolatey (windows)
chocolatey install eksctl
Crear un clúster
eksctl create cluster --name=cluster-1 --nodes-min=3 --nodes-max=5 -- --node-volume-size=50 --node-volume-type=io1 version=1.16
permitir acceso ssh a nuestros nodos
eksctl create cluster --ssh-access --ssh-public-key=my_eks_node_id.pub
Crear clúster de fargate
Solo tienes que poner un flat --fargate
eksctl create cluster --fargate
Eliminar clúster
eksctl delete cluster --name=<name> [--region=<region>]
o podrías tener un archivo de configuración, entre otras cosas, para mayor información https://eksctl.io/introduction/
Pero la creación de un clúster no es algo super funcional, lo podría hacer con terraform o manualmente o cloudformation etc.
Bueno supongamos un caso donde tengamos que crear nuestro clúster a una vpc sobre unas subnet públicas o privadas, para mayor informacion https://eksctl.io/usage/vpc-networking/
Bueno comencemos, como me parece mas practico voy a crearme un archivo .yaml para poner mi configuración.
nano eksctl-vpc.yaml
Ejecutamos
eksctl create cluster --config-file=eksctl-vpc.yaml
si por alguna razón quieres agregar otro nodo o te fallo la creación del nodo solo agrega en la parte de nodeGroups y ejecutas eksctl create o eksctl upgrate.
eksctl upgrade nodegroup --config-file=eksctl-vpc.yaml
Reference: