O Kubernetes (também chamado de K8s) permite gerenciar de forma eficiente grandes quantidades de contêineres e automatiza muitos processos no desenvolvimento de software. Com apenas alguns passos, é possível instalar um cluster Kubernetes robusto e começar a utilizá-lo de maneira produtiva.

Managed Kubernetes da IONOS
O jeito mais simples de gerenciar cargas de trabalho em contêineres.

Instalação de clusters Kubernetes totalmente automatizada, visibilidade máxima e controle de clusters K8s.

Passo 1: Preparar o sistema

Neste tutorial Kubernetes, mostramos como realizar a instalação no Ubuntu.

No primeiro passo, é necessário preparar o sistema, atualizando-o e instalando todas as dependências necessárias. Para isso, abra o terminal e execute a atualização do sistema, garantindo que todos os pacotes estejam atualizados:

sudo apt update && sudo apt upgrade -y
bash

Em seguida, instale as principais ferramentas auxiliares necessárias para a instalação do Kubernetes e do Minikube. Use o seguinte comando:

sudo apt install -y curl wget apt-transport-https ca-certificates gnupg lsb-release
bash

Esses utilitários garantem que você possa utilizar fontes externas com segurança e baixar ou instalar outros pacotes de software sem problemas.

Passo 2: Instalar o kubectl

O Kubernetes funciona com diferentes servidores: o Master e os Nodes. Eles não precisam estar necessariamente em máquinas físicas separadas. Com o uso de máquinas virtuais, é possível ativar múltiplos nós Kubernetes em um único computador. Principalmente para testes, o programa gratuito Minikube tem se mostrado muito útil. Ele permite trabalhar com Kubernetes de forma local. Como o Minikube precisa de uma máquina virtual ou do Docker, o programa depende de um hipervisor ou de um software de contêineres. Além disso, é indispensável a utilização da ferramenta kubectl, que será o principal utilitário de linha de comando para gerenciar o cluster no decorrer deste tutorial Kubernetes.

Nota

Neste tutorial Kubernetes, mostramos o processo de início utilizando o Docker. No entanto, você também pode realizar os mesmos passos com um software de virtualização, como o VirtualBox.

Primeiro, instale o kubectl (Kube Control) no seu sistema. Esse programa é essencial para gerenciar o cluster.

curl -LO "https://dl.k8s.io/release/$(curl -Ls https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
bash
Nota

Os comandos de instalação podem variar dependendo da arquitetura do seu sistema.

Passo 3: Instalar o Docker

Antes de usar o Minikube, é necessário garantir que o Docker esteja instalado no seu sistema. O Docker funciona como container runtime e permite que o Minikube execute um cluster Kubernetes sem precisar de um software de virtualização. Instale o Docker com o seguinte comando:

sudo apt install -y docker.io
bash

Para poder utilizar o Docker sem permissões de superusuário (root), adicione seu usuário ao grupo do Docker:

sudo usermod -aG docker $USER
newgrp docker
bash

Talvez seja necessário encerrar a sessão e fazer login novamente para que a associação ao grupo seja ativada. Por fim, teste a instalação com:

docker run hello-world
bash

Se aparecer uma breve mensagem de sucesso, o Docker foi instalado corretamente e já está pronto para ser usado com o Minikube no decorrer deste tutorial kubernetes.

Passo 4: Instalar e iniciar o Minikube

No próximo passo, você instalará o Minikube em uma versão compatível, utilizando o Docker como driver. Primeiro, baixe a versão mais recente do Minikube, torne o arquivo executável e mova-o para um diretório do sistema, de forma que o comando fique disponível globalmente:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-arm64
chmod +x minikube-linux-arm64
sudo mv minikube-linux-arm64 /usr/local/bin/minikube
bash

Após a instalação, verifique se o Minikube foi configurado corretamente com:

minikube version
bash

Em seguida, inicie o Minikube com o seguinte comando:

minikube start --driver=docker
bash

Nesse cenário, o Minikube utiliza o Docker como container runtime e cria o cluster Kubernetes diretamente dentro do ambiente do Docker. Durante a inicialização do Minikube, o kubectl deve ser configurado automaticamente. Caso queira alternar da linha de comando para uma GUI, utilize o comando abaixo. Ele abrirá o Dashboard no seu navegador padrão:

minikube dashboard
bash
Imagem: Captura de tela do Dashboard do Kubernetes
Dashboard do Kubernetes
Cloud Compute Engine da IONOS

Empresas de médio e grande porte optam pela nuvem da Alemanha. Serviços IaaS e PaaS são para campeões.

  • Seguro
  • Confiável
  • Flexível

Passo 5: Utilizar o Kubernetes

Ao iniciar o Minikube, o programa cria automaticamente um cluster com um único nó (Node). Você pode verificar isso com um comando simples do kubectl:

kubectl get nodes
bash

Pelo Dashboard, você pode agora criar deployments. Clique no botão Create (ícone de “+” no canto superior direito) e será aberto um editor baseado na web. Nesse editor, você pode definir um deployment nos formatos JSON ou YAML. Após criar o deployment, o Kubernetes gera automaticamente múltiplos pods. Se desejar ajustar a quantidade, basta escalar o deployment. Essa opção pode ser acessada clicando no botão com três pontos ao lado do deployment.

Imagem: Escalonamento de um deployment no Kubernetes
Kubernetes: escalonamento de um deployment

Como alternativa, você também pode criar deployments diretamente pelo terminal. Para isso, o conteúdo já deve estar integrado em uma imagem Docker, armazenada em um repositório.

kubectl create deployment --image=[caminho-da-imagem]
bash

Por meio da linha de comando, é possível obter diversas informações úteis sobre o cluster: Quais deployments existem?

kubectl get deployments
bash

Quantos pods estão ativos?

kubectl get pods
bash

Quais services existem?

kubectl get services
bash

Quais nodes estão ativos?

kubectl get nodes
bash
Imagem: Terminal com diferentes comandos do Kubernetes e seus respectivos outputs
Comandos do Kubernetes no terminal

Passo 6: Publicar um deployment

Até aqui, você iniciou seu deployment, mas ainda não o publicou. Para disponibilizá-lo, é necessário criar um service:

kubectl expose deploy test-deployment
bash

Dessa forma, o service estará disponível apenas dentro do cluster. Para permitir acesso também fora do cluster, adicione algumas flags extras:

kubectl expose deploy test-deployment --type=LoadBalancer --port=8080
bash

Com o Minikube, é possível iniciar o service diretamente com:

minikube service test-deployment
bash

Se quiser excluir o service, use o comando:

kubectl delete service test-deployment
bash

Da mesma forma, o deployment também pode ser removido:

kubectl delete deployment test-deployment
bash

Para encerrar o Minikube, basta parar o processo:

minikube stop
bash

E, se você não pretende mais utilizar a VM ou o container runtime, pode excluir completamente o ambiente:

minikube delete
bash

Após a exclusão, todas as configurações, deployments e pods criados serão removidos. Ao iniciar o Minikube novamente, você terá um cluster limpo e vazio, pronto para novos testes e experimentos.

Este artigo foi útil?
Ir para o menu principal