O Kubernetes é uma plataforma de orquestração de contêineres de código aberto que automatiza a implantação, o gerenciamento, o dimensionamento e a recuperação de aplicações executadas em containers.
Criado originalmente pelo Google, o Kubernetes tornou-se o padrão mundial para execução de aplicações em containers.
Por que utilizar Kubernetes?
- Automatiza a implantação de containers.
- Escalabilidade horizontal e vertical.
- Alta disponibilidade.
- Autocorreção (Self-Healing).
- Portabilidade entre nuvens.
- Melhor utilização dos recursos.
Principais Casos de Uso
- DevOps
- Microsserviços
- Big Data
- Machine Learning
- Computação de Borda
- CI/CD
Conceitos Fundamentais
Cluster
Um cluster Kubernetes é formado por um ou mais servidores que trabalham juntos para executar aplicações.
Pod
O Pod é a menor unidade de execução do Kubernetes. Ele pode conter um ou mais containers.
Namespaces
Os Namespaces permitem separar ambientes como Desenvolvimento, Homologação e Produção.
Operators
Operators automatizam tarefas administrativas complexas do Kubernetes.
- Prometheus Operator
- etcd Operator
Componentes do Kubernetes
| Componente | Função |
|---|---|
| API Server | Ponto central de gerenciamento. |
| Scheduler | Escolhe em qual nó cada Pod será executado. |
| Controller Manager | Garante que o estado desejado seja mantido. |
| etcd | Banco de dados distribuído do cluster. |
| Kubelet | Executa os Pods em cada servidor. |
| Kube Proxy | Gerencia o tráfego de rede. |
Como funciona?
- Você cria um arquivo YAML.
- O API Server recebe a configuração.
- O Scheduler escolhe um Node.
- O Kubelet cria o Pod.
- O Controller monitora o estado.
- Se ocorrer uma falha, novos Pods são criados automaticamente.
Primeiros Passos
Minikube
O Minikube é um cluster Kubernetes de nó único utilizado para estudos e testes.
É necessário possuir o kubectl instalado para administrar o cluster.