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.
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.

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
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.
O Control Plane não deve executar nenhum pod
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.
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
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

Para usar seu cluster k8s, execute o comando abaixo
kubectl cluster-info --context kind-programmingonmars
Agora estamos conectados no nosso cluster k8s!

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

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

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
