Estimados, buenass les voy a compartir un tuto bien fast para armar un cluster de Kubernetes para desarrollo con k3d sobre Centro 9 Stream.
Partiendo de un Centos 9 Stream
sudo yum install -y yum-utils
Downgradear hasta que corra la instalación:
sudo dnf downgrade dnf-plugins-core
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Instalar Docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start docker
sudo systemctl enable docker
Instalar Kubectl:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl version --client
Instalar K3D:
curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash
Crear un cluster con 3 nodos y un LB:
k3d cluster create siedblog --servers 1 --agents 3 -p "80:80@loadbalancer" -p "443:443@loadbalancer" --image rancher/k3s:latest
En este caso estamos publicando puerto 80 y 443 y lo redireccionamos al loadbalancer del cluster.
Eliminar cluster:
k3d cluster delete siedblog
Escalar cluster:
k3d node create {NODE_NAME} --role=server
Montar volumen:
k3d cluster create --servers 3 --agents 5 -p "80:80@loadbalancer" -p "443:443@loadbalancer" --volume '/tmp/data:/data@agent[*]'
Enable Traefik Dashboard:
k3d cluster create --servers 3 --agents 5 -p "80:80@loadbalancer" -p "443:443@loadbalancer"
kubectl port-forward -n kube-system "$(kubectl get pods -n kube-system| grep '^traefik-' | awk '{print $1}')" 9000:9000
http://localhost:9000/dashboard/
Listar todos los componenetes del cluster:
kubectl get all -n kube-system