Parte 1: Requisitos previos
Hay varias formas de crear un Amazon EKS cluster. En este capítulo, aprenderemos cómo crear un EKS cluster usando varias herramientas y métodos.
Tabla de contenidos
- Requisitos previos
- Crear un cluster usando eksctl
- Crear un cluster usando AWS Management Console
- Crear un cluster usando AWS CLI
- Crear un cluster usando Terraform
Requisitos previos
Antes de crear un EKS cluster, se requieren los siguientes requisitos previos:
1. AWS Account
Se requiere una AWS account válida. Si no tienes una AWS account, puedes registrarte en el sitio web de AWS.
2. IAM Permissions
Se requieren los siguientes IAM permissions para crear y administrar un EKS cluster:
eks:*ec2:*iam:*cloudformation:*
Si tienes administrator permissions, no se requieren configuraciones de permisos adicionales. De lo contrario, necesitas adjuntar la siguiente IAM policy al user o role:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"eks:*",
"ec2:*",
"iam:*",
"cloudformation:*"
],
"Resource": "*"
}
]
}3. Instalación de herramientas
Las siguientes herramientas deben estar instaladas para crear y administrar un EKS cluster:
AWS CLI
AWS CLI es una herramienta unificada para controlar los AWS services desde la línea de comandos.
macOS:
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /Linux:
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/installWindows:
https://awscli.amazonaws.com/AWSCLIV2.msiDespués de instalar AWS CLI, ejecuta el siguiente comando para configurar las credenciales:
aws configurekubectl
kubectl es una herramienta de línea de comandos para comunicarse con Kubernetes clusters.
macOS:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectlLinux:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectlWindows:
curl -LO "https://dl.k8s.io/release/v1.26.0/bin/windows/amd64/kubectl.exe"eksctl
eksctl es una sencilla herramienta CLI para crear y administrar EKS clusters.
macOS:
brew tap weaveworks/tap
brew install weaveworks/tap/eksctlO:
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/binLinux:
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/binWindows:
# PowerShell
$version = (Invoke-WebRequest -Uri "https://api.github.com/repos/weaveworks/eksctl/releases/latest" | ConvertFrom-Json).tag_name
Invoke-WebRequest -Uri "https://github.com/weaveworks/eksctl/releases/download/$version/eksctl_Windows_amd64.zip" -OutFile eksctl.zip
Expand-Archive -Path eksctl.zip -DestinationPath $env:USERPROFILE\.eksctl\bin
$env:PATH += ";$env:USERPROFILE\.eksctl\bin"4. VPC y subnets
Un EKS cluster requiere una VPC y subnets (subredes). Puedes usar una VPC existente o crear una nueva. La VPC para un EKS cluster debe cumplir los siguientes requisitos:

- Al menos 2 subnets deben estar en diferentes Availability Zones.
- Las subnets deben tener acceso a internet (a través de un NAT gateway o internet gateway).
- Las subnets deben tener suficientes direcciones IP.
- Las subnets deben tener tags adecuados.
VPC Tags para EKS Cluster
Los siguientes tags (etiquetas) deben aplicarse para permitir que el EKS cluster use correctamente la VPC y las subnets:
VPC Tags:
kubernetes.io/cluster/<cluster-name>:sharedoowned
Public Subnet Tags:
kubernetes.io/cluster/<cluster-name>:sharedoownedkubernetes.io/role/elb:1
Private Subnet Tags:
kubernetes.io/cluster/<cluster-name>:sharedoownedkubernetes.io/role/internal-elb:1
Cuestionario
Para comprobar lo que aprendiste en este capítulo, intenta resolver el cuestionario Creación de EKS Cluster - Parte 1.