Clúster de Kubernetes en AWS

clúster

Clúster de Kubernetes en AWS

¿Qué es un clúster de Kubernetes?

Un clúster de Kubernetes es un conjunto de nodos que ejecutan aplicaciones en contenedores. Las aplicaciones de contenedorización empaquetan una aplicación con sus dependencias y algunos servicios necesarios. Los clústeres de Kubernetes permiten que los contenedores se ejecuten en varias máquinas y entornos: virtuales, físicos, basados en la nube y locales.

Es de arquitectura maestro-trabajador.

¡Una nota valiosa al final!


clúster

Nodo maestro

Los componentes maestros administran el estado del clúster. Esto incluye aceptar solicitudes de clientes (describir el estado deseado), programar contenedores y ejecutar bucles de control para impulsar el estado actual del clúster hacia el estado deseado.

Nodo esclavo

Un nodo trabajador es un servidor virtual o físico que ejecuta las aplicaciones y está controlado por el nodo maestro. Los pods se programan en los nodos trabajadores, que cuentan con las herramientas necesarias para ejecutarlos y conectarlos. Las vainas no son más que una colección de contenedores.

¿Cómo podemos configurar un clúster en AWS?

Primero, lance 2 instancias EC2 en la consola de AWS.
Consulte este blog (en inglés) para saber cómo lanzar una instancia:

Configuración del nodo maestro:

  1. systemctl enable docker — now
  2. kubeadm configuration only for Linux ami2
    vi /etc/yum.repos.d/kubernetes.repo
yum install -y kubelet kubeadm kubectl — disableexcludes=kubernetes
{
  "exec-opts": ["native.cgroupdriver=systemd"]
}
echo “1” > /proc/sys/net/bridge/bridge-nf-call-iptables
kubeadm init — pod-network-cidr=10.244.0.0/16 — ignore-preflight-errors=NumCPU — ignore-preflight-errors=Mem
kubectl apply -f 
kubectl get nodes

  1. systemctl enable docker — now
  2. kubeadm configuration only for Linux ami2
    vi /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
yum install -y kubelet kubeadm kubectl — disableexcludes=kubernetes
{
  "exec-opts": ["native.cgroupdriver=systemd"]
}
echo “1” > /proc/sys/net/bridge/bridge-nf-call-iptables

¡Viva! Ahora nuestro nodo trabajador también está conectado al nodo maestro.

Puede verificarlo ejecutando kubectl get nodos en el nodo maestro para ver si ambos nodos están listos.

Nota valiosa:

No ejecute este clúster en t2.micro ya que habrá un problema con Ram. Sugiero usar t2.medium para la instancia EC2.

Recent Post