Programming On Mars Logo
  • Início
  • Artigos
  • Laboratórios
Programming On Mars Logo
  • Início
  • Artigos
  • Laboratórios

  • Andre Lucas
  • Tue Aug 06 2024

O que é Kubernetes e como posso usá-lo?

Kubernetes, também conhecido como K8s, é um sistema open-source para automatizar deployment, escalonamento e gerenciamento de aplicações containerizadas.

Kubernetes é uma plataforma para gerenciar cargas de trabalho e serviços containerizados. que facilita configuração declarativa e automação.

Visão Geral

Kubernetes funciona em um cluster, consistindo em um conjunto de máquinas worker, essas máquinas são chamadas de nodes, que executam aplicações containerizadas, e todo cluster tem pelo menos um worker node.

Além disso, um cluster Kubernetes tem um control plane, ele gerencia os worker nodes e o estado do cluster.

Estes são os vários componentes que você precisa ter para um cluster Kubernetes completo e funcional.

Diagrama de Cluster Kubernetes

Os componentes de um cluster Kubernetes por kubernetes.io

Na minha opinião, esta seção é muito importante, principalmente se você quiser ter um diferencial na sua carreira, e esse conhecimento me ajudará muito em muitas situações para resolver problemas.

Às vezes só temos interesse em saber como funciona o motor de um carro quando temos um problema na estrada e o carro

Componentes do Control Plane do Kubernetes

O Control Plane gerencia o estado do cluster. Ele toma decisões sobre o cluster, por exemplo, aumentar o número de réplicas de pods ou agendar algo.

  • kuber-api - é o ponto central de comunicação do cluster Kubernetes, é o front end do control plane do Kubernetes.
  • etcd - é basicamente o armazenamento usado pelo Kubernetes para todos os dados do cluster. Certifique-se de ter um plano de backup para seu etcd.
  • kube-scheduler - É responsável por observar pods recém-criados, verificar quais nodes estão disponíveis e atribuir os pods criados para o node disponível.
  • kube-controll-manager - executa processos de controller. É responsável pela orquestração do cluster.

O Control Plane não deve executar nenhum pod

Componentes dos Nodes

Os componentes do node estão em cada node do cluster, eles são responsáveis por manter os pods em execução e fornecer o ambiente de runtime do Kubernetes.

  • Kubelet - é um agente do node, que gerencia o estado dos nodes, então ele recebe os comandos do control plane
  • kube-proxy - Gerencia a rede e os recursos de rede dos nodes e redireciona para containers.
  • Container runtime - este componente permite que o Kubernetes execute containers.

Vamos instalar um Cluster K8s

Antes de seguir este passo, por favor instale o Kind de acordo com seu ambiente

https://kind.sigs.k8s.io/docs/user/quick-start/

Para esta série, vamos preparar um ambiente para você seguir os exemplos.

Por enquanto, vamos preparar um ambiente local para focar apenas nos fundamentos, no final da série, vamos juntos criar um cluster Kubernetes como um ambiente de produção.

Existem muitas opções para criar um K8s localmente

  • Minikube
  • Kind
  • k3d

Tenho usado Kind e tem me servido bem

Vamos usar o modo de clusters Multi-node

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
  - role: control-plane
  - role: worker
  - role: worker
  - role: worker

Basicamente, estamos falando com o Kind: "Por favor, crie para mim um cluster com 4 máquinas. 1 Control Plane e 3 worker nodes"

Agora, execute o comando no seu terminal:

kind create cluster --config kind-config.yml --name programmingonmars

Você deve ter este resultado abaixo

Saída do Terminal Kubernetes

Para usar seu cluster k8s, execute o comando abaixo

kubectl cluster-info --context kind-programmingonmars

Agora estamos conectados no nosso cluster k8s!

Criação do Cluster Kubernetes

Vamos verificar os nodes usando o comando:

kubectl get nodes

Isso é muito legal, criamos 3 workers e 1 control plane como declaramos no kind-config.yml

Kubernetes Get Nodes

Como o Kind Funciona?

Kind é uma ferramenta para executar clusters Kubernetes locais usando containers Docker como "nodes". kind foi projetado principalmente para testar o próprio Kubernetes, mas pode ser usado para desenvolvimento local ou CI.

Então, se executarmos o comando:

docker container ls

Podemos ver 4 containers em execução

Containers Docker Kubernetes

Agora você está pronto para começar sua nova jornada no mundo Kubernetes, vamos executar uma Primeira Aplicação no Kubernetes

Tags: k8s, infraestrutura, kubernetes, devops

Tags:
k8sinfraestruturakubernetesdevops
  • Política de Privacidade
  • Termos de Serviço
  • Contato
© 2025 Programming On Mars. Todos os direitos reservados.