!/bin/bash set -o errexit # Script: create_kind_cluster.sh # Descripción: Este script automatiza la creación de un clúster de Kubernetes utilizando Kind (Kubernetes en Docker). # También configura un registro Docker local y lo conecta al clúster para permitir el uso de un registro local # para las imágenes de contenedor. Además, instala el controlador Ingress NGINX en el clúster para manejar recursos de ingreso. # Author: Manuel Vergara # Web: https://vergaracarmona.es # COLOR_RED='\033[0;31m' COLOR_RESET='\033[0m' # Control de salida con Ctrl + C function ctrl_c() { echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}" exit 1 } # Ctrl+C trap ctrl_c SIGINT # Función para configurar el registro Docker local configurar_registro_local() { reg_name='kind-registry' reg_port='5001' # Eliminar el contenedor existente si es necesario docker rm -f "${reg_name}" || true # Verificar si la red "kind" existe, si no, crearla if [ -z "$(docker network ls --filter name=kind -q)" ]; then docker network create kind fi # Iniciar el contenedor del registro Docker local docker run -d --restart=always -p "127.0.0.1:${reg_port}:5000" --network="kind" --name "${reg_name}" registry:2 } # Función para documentar el registro local documentar_registro_local() { reg_port='5001' echo -e "\nConfigurando el registro local...\n" cat <