barco de papel
Imagem de StarFlames por Pixabay

Ter um Kubernetes para utilizar em tempo de desenvolvimento é útil, mas tem um custo considerável manter um cluster na nuvem e para evitar tal custo podemos recorrer ao K3D. O K3D é uma ferramenta que cria um “cluster” K3S usando containers Docker, o K3S por sua vez é uma implementação Kubernetes certificada que pode ser utilizada até mesmo em produção, mas por favor não usem o K3D em produção é apenas para testes pois o mesmo apenas simula um cluster e no fim das contas tudo estará rodando em uma só máquina.

Instalando as dependências

Precisamos instalar o Docker e o Kubectl.

Instale o K3D

curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash

Iniciando um cluster

É relativamente fácil iniciar um cluster com o K3D com o comando: k3d cluster create NAMEOnde NAME deve ser substituído pelo nome do cluster a ser criado.

Por padrão o K3D utiliza o traefik como Ingress Gateway, mas você pode precisar de outro Ingress Gateway para isso podemos desabilitar o traefik com o parâmetro --k3s-arg "--disable=traefik@server:0" nesse caso será necessário especificar as portas que serão utilizadas pelo Ingress Gateway substituto com os parâmetro --port atenção valor desse parâmetro tem um formato peculiar [HOST:][HOSTPORT:]CONTAINERPORT[/PROTOCOL][@NODEFILTER], você também pode usar parâmetros para especificar a quantidade de nós no cluster bem como a quantidade de memória de cada nó com os parâmetros --servers, --servers-memory,--agents e --agents-memory mas lembre-se que sua máquina precisa comportar os recursos requeridos.

Segue um exemplo utilizando tudo isso:

k3d cluster create local-cluster --servers 1 --agents 2 --api-port 6443 --k3s-arg "--disable=traefik@server:0" --port 8000:80@loadbalancer --port 8443:443@loadbalancer --servers-memory=8G --agents-memory=8G

Deixe um comentário