Pular para o conteúdo principal

Capítulo 1.1 - O que é Kubernetes?

Objetivos de Aprendizagem​

Ao final deste capítulo, você será capaz de:

  • Definir Kubernetes e explicar seu papel
  • Entender por que o Kubernetes é necessário
  • Identificar os problemas que o Kubernetes resolve
  • Explicar as vantagens da orquestração de containers

Introdução​

Kubernetes (frequentemente abreviado como K8s) é uma plataforma open-source de orquestração de containers que automatiza o deploy, o escalonamento e o gerenciamento de aplicações conteinerizadas.

Por que "K8s"?​

O "8" representa as 8 letras entre o "K" e o "s" em "Kubernetes":

  • Kubernetes = K + 8 letras + s = K8s

Definição Simples​

Imagine que você tem várias aplicações (microserviços) que precisam:

O Kubernetes faz tudo isso automaticamente para você.


Analogia: O Maestro​

Assim como um maestro coordena os músicos para criar uma sinfonia harmoniosa, o Kubernetes coordena seus containers para que trabalhem juntos de forma eficiente e confiável.


Os Desafios Sem Kubernetes​

Problema 1: Gerenciamento Manual de Containers​

Sem orquestração, você precisa gerenciar cada container manualmente:

Problemas:

  • Gerenciamento manual trabalhoso
  • Sem reinício automático
  • Escalabilidade complexa e manual
  • Sem load balancing integrado
  • Gerenciamento de configuração disperso
  • Sem service discovery

Problema 2: Complexidade em Produção​

Em produção, você precisa de:

Sem Kubernetes, cada aspecto precisa ser gerenciado manualmente!


As Vantagens Com Kubernetes​

Solução Completa​

Principais Características​

1. Orquestração Automática​

O Kubernetes gerencia automaticamente:

  • O deploy dos seus containers
  • O reinício em caso de falha
  • A distribuição nas máquinas disponíveis
  • O ciclo de vida completo das aplicações

2. Escalonamento (Scaling)​

  • Aumento/redução automática do número de instâncias
  • Adaptação à carga de trabalho
  • Otimização do uso de recursos

3. Auto-recuperação (Self-Healing)​

  • Reinício automático de containers que travam
  • Substituição de containers com falha
  • Redistribuição em caso de falha de máquina

4. Descoberta de Serviços​

  • Comunicação automática entre serviços
  • Load balancing integrado
  • Gerenciamento interno de DNS

5. Gerenciamento de Configuração​

  • Armazenamento centralizado da configuração
  • Gerenciamento seguro de secrets
  • Deploys declarativos (você descreve o estado desejado)

Casos de Uso Típicos​

1. Microserviços​

Kubernetes é ideal para:

  • Aplicações compostas por vários pequenos serviços
  • Comunicação entre serviços
  • Deploy independente de cada serviço

2. Aplicações Cloud-Native​

  • Aplicações desenhadas para o cloud
  • Escalabilidade automática
  • Resiliência e auto-recuperação
  • Portabilidade entre ambientes

3. DevOps e CI/CD​

  • Deploys automatizados
  • Rollback fácil em caso de problema
  • Múltiplos ambientes (dev, staging, prod)

4. Multi-cloud e Hybrid Cloud​

  • Deploy em múltiplos clouds
  • Portabilidade entre ambientes
  • Evitar vendor lock-in

Resumo do Capítulo​

Neste capítulo, você aprendeu:

Kubernetes é uma plataforma de orquestração de containers
Ele automatiza o deploy, o scaling e o gerenciamento das aplicações
Resolve os problemas do gerenciamento manual de containers
Oferece: orquestração, scaling, auto-recuperação, service discovery
É ideal para: microserviços, cloud-native, DevOps, multi-cloud


Próximos Passos​

Agora que você entende o que é Kubernetes, vamos para:

Capítulo 1.2: Por que Kubernetes? (Vantagens detalhadas)
Capítulo 1.3: História e Evolução


Voltar ao módulo: Módulo 1 - Introdução ao Kubernetes
Próximo capítulo: Capítulo 1.2 - Por que Kubernetes?


Capítulo criado em: Dezembro 2024