3 maneiras de iniciar um cluster Kubernetes localmente
⚓ Introdução
O Kubernetes se tornou uma das plataformas de orquestração de containers mais utilizada no mundo. Existem diversos fatores positivos e negativos no uso do Kubernetes no processo de desenvolvimento, implantação e gerenciamento de aplicações.
- Kubernetes oferece uma orquestração avançada, permitindo que as aplicações cresçam conforme a demanda.
- Ele permite também abstrair a infraestrutura, ou seja, se a aplicação roda em um cluster Kubernetes, muito provavelmente roda em qualquer outro cluster de mesma versão.
- E vem se tornado um padrão de mercado dentro das grandes organizações, diminuindo um pouco a complexidade quando um funcionário passa de uma empresa para outra.
▶️ Kind
Sobre
Kind é uma ferramenta para executar clusters locais do Kubernetes usando “nós” de contêiner Docker. Kind foi projetado principalmente para testar o próprio Kubernetes, mas pode ser usado para desenvolvimento local ou CI.
Instalação
Para usar o kind precisamos já ter o docker instalado. Caso ainda não tenho, pode seguir o tutorial a seguir https://docs.docker.com/engine/install/
Linux
|
|
Mac
|
|
Windows
|
|
Exemplos
Para criarmos um cluster utilizando o Kind:
|
|
Para deletarmos um cluster:
|
|
Para criarmos um cluster com mais de um node, podemos criar um arquivo de configuração e utilizá-lo como parâmetro. O arquivo pode ser parecido com o abaixo, onde definimos um node como controle plane e dois nodes como workers:
|
|
Com o arquivo criado, podemos executar o comando:
|
|
▶️ K3d
Sobre
k3d é um wrapper leve para executar k3s (distribuição mínima do Kubernetes do Rancher Lab) no docker. O k3d torna muito fácil a criação de clusters k3s de nó único e de vários nós no docker, por exemplo, para o desenvolvimento local no Kubernetes. Nota: k3d é um projeto conduzido pela comunidade, mas não é um produto oficial do Rancher (SUSE).
Instalação
Para o k3d também precisamos ter o docker instalado previamente.
Linux
|
|
Windows
|
|
Mac
|
|
Exemplo
Criando cluster com k3d:
|
|
Assim como no kind, também podemos criar clusters a partir de um arquivo de configuração. Segue um exemplo onde criaremos também um cluster com um node para control plane e dois nodes workers:
|
|
E para executar a criação utilizando o arquivo:
|
|
▶️ Minikube
Sobre
O Minikube configura rapidamente um cluster Kubernetes local no macOS, Linux e Windows. Acredito que o Minikube seja a opção mais conhecida e utilizada até hoje. Um dois maiores diferenciais do Minikube é poder criar o cluster usando diversos provisionadores. Além do docker como as outras ferramentas, também podemos utilizar Qemu, VirtualBox, dentre outros.
Instalação
Para realizar a instalação no Linux, utilizaremos os comandos abaixo:
|
|
No Mac, o procedimento de instalação é parecido com o do Linux:
|
|
Para instalação no Windows, poderemos utilizar o choco:
|
|
Exemplo
Para criar um cluster simples podemos utilizar os comandos abaixo:
|
|
Para criar um cluster personalizado, com mais recursos temos diversas opções de comando. Podemos personalizar cpu, memória e outras opções. Todas as opções podem ser conferidas com o comando minikube start --help
|
|
✅ Conclusão
Essas são algumas das opções para criarmos cluster localmente em nossos computadores. Mas a lista de opções é maior e pode ser explorada caso você não esteja satisfeito com estas opções. O importante é que não faltam alternativas para nos mantermos produtivos, pois podemos usar essas ferramentas para estudos, testes e até mesmo para trabalho.