Introdução ao Kubernetes
☸ Introdução ao Kubernetes

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.

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

kubectl get namespaces
kubectl config set-context --current --namespace meu-namespace

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?

  1. Você cria um arquivo YAML.
  2. O API Server recebe a configuração.
  3. O Scheduler escolhe um Node.
  4. O Kubelet cria o Pod.
  5. O Controller monitora o estado.
  6. 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.

winget install Kubernetes.minikube
minikube start
kubectl get nodes
Importante:
É necessário possuir o kubectl instalado para administrar o cluster.