Essa é uma revisão anterior do documento!
Criando um Cluster k8s Local
Existem algumas maneiras de se instalar um cluster k8s localmente. A forma mais fácil é utilizando o próprio Docker-Desktop. Nele há a opção Kubernetes, onde você pode instalar uma “distro” de Cluster.
Há duas “distros” disponíveis, a kubeadm e a kind (Kubernetes In Docker). Opte pela kind:
- Mais leve
- Deploy mais rápido
- Integra com o Skaffold
Interagindo com o Cluster
O Cluster abre uma API pela qual é possível interagir com ele. Para interagir com a API, é recomendado utilizar o kubectl.
kubectl
O kubectl é a ferramenta fundamental para interagir com o cluster.
Instalando kubectl
Caso use WSL (recomendado) instale kubectl pelo gerenciador de pacotes da sua distro. Exemplo no Arch (btw):
sudo pacman -Sy kubectl
Conectando no cluster
Ao instalar o kind, ele gera um contexto para o kubectl saber “em qual endereço:porta está o cluster?”
Para ver os contextos disponíveis:
kubectl config get-contexts
No meu caso, eu já tinha um cluster k3d antigo, e o contexto selecionado era o dele:
$ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
docker-desktop docker-desktop docker-desktop
* k3d-cluster-dev k3d-cluster-dev admin@k3d-cluster-dev
Para selecionar o contexto correto:
kubectl config use-context docker-desktop # Se o nome for diferente kubectl config use-context <nome-que-apareceu>
Hello k8s
Para testar se a conexão está funcionando:
kubectl version
Se aparecer a versão do servidor (cluster), ele conseguiu se conectar:
Client Version: v1.34.1 Kustomize Version: v5.7.1 Server Version: v1.31.1 Warning: version difference between client (1.34) and server (1.31) exceeds the supported minor version skew of +/-1
Percebe-se que a minha versão está diferente, vou desinstalar o cluster e instalar na versão mais próxima disponível: v1.34.3
$ kubectl version Client Version: v1.34.1 Kustomize Version: v5.7.1 Server Version: v1.34.3
Agora sim, tudo certo para realizar meu desenvolvimento.