Parte 2 - Aplicações no Kubernetes - Zero to Hero
Preparando o k8s

No processo de preparação do kubernetes, precisamos ter algumas ferramentas em nosso computador como o kubectl
para poder acessar o ambiente e o helm para poder gerenciar pacotes e instalações de aplicações dentro de nosso cluster. Há também algumas outras ferramentas, como o k9s e o Lens que nos auxiliam a ter uma visão geral do nosso cluster.
1 Ferramentas de suporte
1.1 kubectl
Quem está utilizando a versão do Docker Desktop não precisa se preocupar com o kubectl
pois ele já está instalado no computador. Porém, se você utiliza linux e instalou a versão do Docker CE, que é via terminal, é necessário instalar o kubectl
para poder acessar o ambiente.
No site do Kubernetes, temos um –how to– para instalar o kubectl
no linux.
|
|
Agora somos capazes de executar o kubectl de nossa máquina linux. Para facilitar a operação no terminal, vamos habilitar o auto-complete do kubectl
.
|
|
1.2 helm
Instalando o Helm para gerenciar pacotes e instalações de aplicações dentro de nosso cluster. Temos processos para Windows, MacOS e Linux.
1.2.1 Instalando o Helm no Windows
Vamos utilizar o Chocolatey
para instalar o Helm no Windows.
|
|
1.2.2 Instalando o Helm no MacOS
No MacOS, vamos utilizar o Brew
para instalar o Helm.
|
|
1.2.3 Instalando o Helm no Linux
No Linux, vamos utilizar o curl
para instalar o Helm.
|
|
1.3 k9s e Lens
1.3.1 Instalando o k9s e Lens no Windows
Vamos utilizar o Chocolatey
para instalar o Helm no Windows.
|
|
1.3.2 Instalando o k9s e Lens no MacOS
No MacOS, vamos utilizar o Brew
para instalar o Helm.
|
|
1.3.3 Instalando o k9s e Lens no Linux
No Linux, vamos utilizar o snap para instalar o k9s e o Lens.
|
|
2 Inicializando o Kubernetes em ambiente local
Um grande auxílio no processo de desenvolvimento de aplicações para cloud, é a possibilidade de utilizar o Kubernetes em ambiente local para deploy e testes de nossas aplicações. Nele podemos disponibilizar praticamente uma infra completa, desde banco de dados a brokers para nossa aplicação.
Vamos apresentar algumas formas que você pode subir seu próprio cluster kubernetes em seu próprio computador.
2.1 Via Docker Desktop
Primeiramente, iremos mostrar como habilitar o kubernetes através do Docker Desktop.
Esse procedimento funciona para qualquer sistema operacional com o Docker Desktop instalado.
Ao acessar a tela inicial do Docker Desktop, vamos acessar o menu de configuração clicando na engrenagem no canto superior direito, como sinalizado na imagem abaixo.
Dentro do menu de configurações, vamos acessar o menu de kubernetes clicando no botão “Kubernetes” do lado esquedo, nele podemos selecionar a opção para habilitar o kuberntes( [X] Enable Kubernetes).
Ao habilitar o kubernetes, devemos clicar no botão “Apply and Restart” para salvar as alterações e subir nosso kubernetes, como mostramos na imagem abaixo.
Toda vez que iniciarmos o Docker Desktop, o kubernetes deve estar habilitado. Você verá no canto inferior esquerdo da tela o status do kubernetes, como sinalizado na imagem abaixo.
Pronto, neste momento temos um kubernetes disponível em nosso computador, podemos então começar a usar ele para deployar nossas aplicações.
2.2 Via Kind
A instalação do Kind é bem simples e pode ser realizada pelo gerenciador de pacotes de cada sistema operacional.
2.2.1 Instalando o Kind no Windows
Utilizando o Chocolatey
para instalar o Kind no Windows.
|
|
2.2.2 Instalando o Kind no MacOS
Utilizando o Brew
para instalar o Kind no MacOS.
|
|
2.2.3 Instalando o Kind no Linux
Abrindo o terminal e executando o comando:
|
|
2.3 Via Microk8s
Apesar do MicroK8S ser possível instalar em qualquer sistema operacional, o ideal é instalar ele somente no Ubuntu, onde sua performance é melhor, para instalar o MicrK8S vamos abrir o terminal e instalá-lo via snap.
|
|
Após a instalação do microK8S, vamos habilitar alguns plugins com o comando abaixo para um correto comportamento do kubernetes:
|
|
3 Preparando o cluster Kubernetes
Vamos instalar agora no kubernetes algumas aplicações importantes que nos auxiliam a realizar o correto funcionamento de funções que o Kubernetes nos oferece como por exemplo o Auto Scale de aplicações.
3.1 Instalando Metrics Server
Instalando o Metrics Server no Docker Desktop kubernetes e no Kind. Realize o download do seguinte arquivo:
https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
Na linha 135, vamos adicionar a seguinte opção:
|
|
Já para o MicroK8S, vamos habilitar o mesmo recurso através de plugins::
|
|
3.2 Instalando MetalLB
O MetalLB é um serviço de balanceamento de carga que permite que a aplicação seja balanceada de forma eficiente entre os nós do cluster. Ele é um serviço que cria um Load Balancer virtual dentro do nosso cluster e que é acessível externamente, facilitando assim a exposição de serviços do kubernetes.
Para o Docker Desktop não precisamos nos preocupar, pois ele já trás uma ferramenta interna que nos auxilia a expor serviços no localhost, precisando apenas liberar acesso a porta desejada no firewall do windows, mac ou linux se for preciso.
Para o windows, o Kind apresenta um problema, não liberando o acesso ao IP do MetalLB para utilização do ingress. Ele pode ser instalado, mas o principal meio de acesso seria feito por port forwarding.
Vamos instalar o MetalLB no Kind, faça o download do metallb.yaml, depois basta executar o comando abaixo:
|
|
Agora se você está usando o MicroK8S, vamos habilitar o mesmo recurso através de plugins:
|
|
Para o windows, o Kind apresenta um problema, não liberando o acesso ao IP do MetalLB para utilização do ingress. Ele pode ser instalado, mas o principal meio de acesso seria feito por port forwarding.
|
|
3.3 Instalando Nginx Ingress Controller
Agora chegou a hora de habilitar o ingress controller, para isso vamos instalar o nginx ingress controller em nosso kubernetes. Vamos utilizar agora o gerenciador de pacotes Helm
para instalar o nginx ingress controller. Basta seguir os seguintes passos:
|
|
Caso você esteja em um ambiente onde não possui acesso direto ao Docker Hub ou outras fontes, ou também queira uma instalação mais personalizada, você pode baixar do pacote seu arquivo de Values, identificar o que você precisa alterar e realizar as alterações necessárias.
|
|