Homelab kubernetes com k3d
- #Docker
- #Kubernetes
Implemente o seu ambiente de laboratório kubernetes
k3d é um pequeno programa feito para executar um cluster K3s no Docker. O K3s é um projeto Sandbox e uma distribuição Kubernetes leve e certificada pela CNCF. Projetado para ambientes de poucos recursos, o K3s é distribuído como um único binário que usa menos de 512 MB de RAM.
O k3d facilita muito a criação de clusters k3s de um ou vários nós no docker, por exemplo, para desenvolvimento local no Kubernetes.
Requisitos
Tenha o docker instalado para poder utilizar o k3d.
O kubectl para interagir com o cluster Kubernetes.
Instalação via script
wget -q -O - https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash
Criando um cluster k3s de alta disponibilidade com o k3d
Como as práticas recomendadas de alta disponibilidade do Kubernetes, devemos criar um cluster de alta disponibilidade com pelo menos três nós control plane.
Podemos conseguir isso no k3d em um comando:
k3d cluster create --servers 3 --image rancher/k3s:v1.23.15-k3s1-amd64
Aprendendo o comando:
Comando base: k3d cluster create
Opções:
– server 3: solicita que três nós sejam criados.
– image rancher/k3s:v1.19.3-k3s2: especifica a imagem K3S a ser usada.
Agora podemos verificar o que foi criado a partir dos diferentes pontos de vista:
kubectl get nodes --output wide
Scale
Graças ao k3d e ao fato de nosso cluster ser executado em contêineres, podemos simular rapidamente a adição de outro nó control plane ao cluster HA:
k3d node create extraCPnode --role=server --image=rancher/k3s:v1.19.3-k3s2
Aprendendo o comando:
Comando base: k3d node create
Opções:
extraCPnode: nome base que o k3d usará para criar o nome do nó.
role=server: define a função do nó como um control plane.
image rancher/k3s:v1.19.3-k3s2: especifica a imagem K3s a ser usada.
Limpando os recursos
k3d cluster delete
Tradução livre:
https://www.suse.com/c/rancher_blog/set-up-k3s-in-high-availability-using-k3d/