Formação Kubernetes
Orquestração de Contêineres e Deploy Cloud-Native
Código do curso: 420-911-MA
Sessão: Inverno 2025
Instrutor: Haythem Rehouma
Instituição: inskillflow academy
Visão Geral do Curso
Esta formação completa permitirá que você domine o Kubernetes, a plataforma de orquestração de contêineres mais utilizada no mundo. Da introdução aos conceitos avançados, você aprenderá a fazer deploy, gerenciar e escalar aplicações conteinerizadas em produção.
Objetivos de Aprendizagem
Ao final deste curso, você será capaz de:
- Compreender a arquitetura e os conceitos fundamentais do Kubernetes
- Fazer deploy e gerenciar aplicações conteinerizadas
- Configurar serviços, redes e armazenamento
- Implementar segurança e controle de acesso (RBAC)
- Utilizar Helm para gerenciamento de pacotes
- Monitorar e depurar clusters Kubernetes
- Fazer deploy de aplicações em produção com as melhores práticas
Abordagem Pedagógica
70% Prática - 30% Teoria
Cada módulo combina:
- Explicações teóricas detalhadas com diagramas Mermaid
- Laboratórios práticos
- Exemplos concretos e casos de uso reais
- Exercícios e quizzes de validação
Plano de Curso - 12 Módulos
MÓDULO 1 - Introdução ao Kubernetes ✅ COMPLETO
Duração: 2-3 aulas
Conteúdo:
- O que é Kubernetes e por que utilizá-lo?
- História e evolução (Docker → Kubernetes)
- Conceitos fundamentais (Pods, Nodes, Clusters)
- Arquitetura do Kubernetes (Control Plane vs Worker Nodes)
- Comparação com outras soluções de orquestração
Objetivos:
- Compreender o papel do Kubernetes no ecossistema cloud-native
- Identificar os principais componentes
- Descobrir o ecossistema Kubernetes
Labs:
- Lab 1.1: Primeiro Deploy no Kubernetes
MÓDULO 2 - Arquitetura e Componentes do Kubernetes ✅ COMPLETO
Duração: 2-3 aulas
Conteúdo:
- Arquitetura detalhada do Control Plane
- API Server
- etcd
- Controller Manager
- Scheduler
- Componentes dos Worker Nodes
- kubelet
- kube-proxy
- Container Runtime
- Add-ons e extensões
- Comunicação entre componentes
Objetivos:
- Compreender o funcionamento interno do Kubernetes
- Identificar o papel de cada componente
- Visualizar os fluxos de comunicação
Labs:
- Lab 2.1: Inspeção do Control Plane
- Lab 2.2: Análise dos Worker Nodes
- Lab 2.3: Monitoramento dos componentes do sistema
MÓDULO 3 - Pods e Deployments ✅ COMPLETO
Duração: 3-4 aulas
Conteúdo:
- Pods: unidade atômica de deploy
- Declarações YAML e JSON
- Labels e Selectors
- ReplicaSets e gerenciamento de replicação
- Deployments: deploys declarativos
- Estratégias de deploy (Rolling Update, Blue/Green, Canary)
- Health Checks (Liveness, Readiness, Startup Probes)
Objetivos:
- Dominar os Pods e seu ciclo de vida
- Fazer deploy de aplicações com Deployments
- Gerenciar atualizações sem interrupção
Labs:
- Lab 3.1: Criação e gerenciamento de Pods
- Lab 3.2: Deploy com ReplicaSets
- Lab 3.3: Deployments e Rolling Updates
- Lab 3.4: Configuração de Health Checks
MÓDULO 4 - Services e Networking ✅ COMPLETO
Duração: 3-4 aulas
Conteúdo:
- Services: exposição de aplicações
- Tipos de Services (ClusterIP, NodePort, LoadBalancer, ExternalName)
- Service Discovery e DNS interno
- Endpoints e EndpointSlices
- Network Policies
- Ingress (conceito, aprofundado no Módulo 8)
- CNI (Container Network Interface)
Objetivos:
- Expor aplicações no cluster
- Compreender o networking do Kubernetes
- Proteger a comunicação de rede
Labs:
- Lab 4.1: Services ClusterIP e NodePort
- Lab 4.2: Service Discovery com DNS
- Lab 4.3: Network Policies
- Lab 4.4: LoadBalancer e integração com cloud
MÓDULO 5 - Configuração e Secrets ✅ COMPLETO
Duração: 2-3 aulas
Conteúdo:
- ConfigMaps: gerenciamento de configuração
- Secrets: gerenciamento de dados sensíveis
- Variáveis de ambiente
- Volumes do tipo ConfigMap e Secret
- Boas práticas de segurança
- External Secrets Operator (introdução)
Objetivos:
- Separar configuração do código
- Gerenciar secrets de forma segura
- Aplicar boas práticas
Labs:
- Lab 5.1: Criação e uso de ConfigMaps
- Lab 5.2: Gerenciamento de Secrets
- Lab 5.3: Injeção de configuração nos Pods
- Lab 5.4: Rotação de secrets
MÓDULO 6 - Armazenamento e Volumes ✅ COMPLETO
Duração: 3-4 aulas
Conteúdo:
- Volumes: tipos e uso
- PersistentVolumes (PV) e PersistentVolumeClaims (PVC)
- StorageClasses e provisionamento dinâmico
- Tipos de armazenamento (local, NFS, provedores de cloud)
- Volume Snapshots
- StatefulSets: aplicações com estado
Objetivos:
- Gerenciar armazenamento persistente
- Compreender os diferentes tipos de volumes
- Fazer deploy de aplicações stateful
Labs:
- Lab 6.1: Volumes ephemeral e emptyDir
- Lab 6.2: PersistentVolumes e PVCs
- Lab 6.3: StorageClasses e provisionamento dinâmico
- Lab 6.4: StatefulSet com armazenamento persistente
MÓDULO 7 - Workloads Avançados ✅ COMPLETO
Duração: 3-4 aulas
Conteúdo:
- StatefulSets: aplicações com estado
- DaemonSets: deploy em todos os nodes
- Jobs: tarefas pontuais
- CronJobs: tarefas agendadas
- Init Containers
- Sidecar Pattern
Objetivos:
- Utilizar os diferentes tipos de workloads
- Compreender casos de uso específicos
- Implementar padrões avançados
Labs:
- Lab 7.1: StatefulSet para banco de dados
- Lab 7.2: DaemonSet para monitoramento
- Lab 7.3: Jobs e CronJobs
- Lab 7.4: Init Containers e Sidecars
MÓDULO 8 - Ingress e Load Balancing ✅ COMPLETO
Duração: 2-3 aulas
Conteúdo:
- Ingress: exposição HTTP/HTTPS
- Ingress Controllers (NGINX, Traefik, etc.)
- Ingress Rules e Path-based routing
- TLS/SSL e certificados
- Load Balancing avançado
- Service Mesh (introdução Istio/Linkerd)
Objetivos:
- Expor aplicações web via Ingress
- Configurar roteamento e load balancing
- Proteger comunicações HTTPS
Labs:
- Lab 8.1: Configuração do Ingress NGINX
- Lab 8.2: Path-based routing
- Lab 8.3: TLS/SSL com cert-manager
- Lab 8.4: Multi-domínios e virtual hosts
MÓDULO 9 - Segurança e RBAC ✅ COMPLETO
Duração: 3-4 aulas
Conteúdo:
- Autenticação e autorização
- RBAC (Role-Based Access Control)
- Roles e RoleBindings
- ClusterRoles e ClusterRoleBindings
- Service Accounts
- Pod Security Policies / Pod Security Standards
- Network Policies (aprofundamento)
- Gerenciamento avançado de secrets
Objetivos:
- Implementar segurança no Kubernetes
- Gerenciar permissões com RBAC
- Proteger aplicações e o cluster
Labs:
- Lab 9.1: Criação de Roles e RoleBindings
- Lab 9.2: Service Accounts e permissões
- Lab 9.3: Pod Security Standards
- Lab 9.4: Auditoria de segurança
MÓDULO 10 - Helm e Package Management ✅ COMPLETO
Duração: 2-3 aulas
Conteúdo:
- Helm: gerenciador de pacotes do Kubernetes
- Charts e Releases
- Templates e valores
- Hooks e dependências
- Criação de Charts personalizados
- Helmfile para gerenciamento multi-ambiente
- Artifact Hub e Charts públicos
Objetivos:
- Utilizar Helm para fazer deploy de aplicações
- Criar e manter Charts
- Gerenciar deploys complexos
Labs:
- Lab 10.1: Instalação e uso de Charts Helm
- Lab 10.2: Personalização com values.yaml
- Lab 10.3: Criação de um Chart personalizado
- Lab 10.4: Helmfile e multi-ambientes
MÓDULO 11 - Monitoring e Observabilidade ✅ COMPLETO
Duração: 3-4 aulas
Conteúdo:
- Métricas do Kubernetes (cAdvisor, kube-state-metrics)
- Prometheus: coleta e armazenamento de métricas
- Grafana: visualização e dashboards
- Logging com Fluentd/Fluent Bit e ELK
- Distributed Tracing (Jaeger, Zipkin)
- Alerting com Alertmanager
- Health Checks e auto-healing
Objetivos:
- Monitorar clusters e aplicações
- Visualizar métricas e logs
- Implementar observabilidade completa
Labs:
- Lab 11.1: Instalação do Prometheus e Grafana
- Lab 11.2: Criação de dashboards personalizados
- Lab 11.3: Configuração de logging
- Lab 11.4: Alerting e notificações
MÓDULO 12 - Deploy em Produção ✅ COMPLETO
Duração: 3-4 aulas
Conteúdo:
- Preparação para produção
- Multi-clusters e Alta Disponibilidade
- Backup e Disaster Recovery
- CI/CD com Kubernetes (GitOps com ArgoCD/Flux)
- Resource Management (Requests, Limits, QoS)
- Autoscaling (HPA, VPA, Cluster Autoscaler)
- Troubleshooting e debugging
- Melhores práticas de produção
Objetivos:
- Fazer deploy de aplicações em produção
- Implementar alta disponibilidade
- Otimizar recursos e custos
Labs:
- Lab 12.1: Configuração de Resource Management
- Lab 12.2: Autoscaling horizontal e vertical
- Lab 12.3: GitOps com ArgoCD
- Lab 12.4: Projeto final completo
Ferramentas e Tecnologias
Ambiente de Desenvolvimento
- kubectl: CLI do Kubernetes
- minikube / kind: Clusters locais
- Docker / containerd: Container Runtime
- Helm: Package Manager
- k9s / Lens: Ferramentas de visualização
Tecnologias Cloud
- Kubernetes: 1.28+ (última versão estável)
- Container Runtime: containerd, CRI-O
- CNI: Calico, Flannel, Weave Net
- CSI: Storage drivers
Ferramentas Complementares
- Prometheus & Grafana: Monitoring
- Helm: Package management
- ArgoCD / Flux: GitOps
- cert-manager: Gerenciamento de certificados
- Istio / Linkerd: Service Mesh (opcional)
Competências Desenvolvidas
Competências Técnicas
Orquestração de Contêineres:
- Deploy e gerenciamento de aplicações conteinerizadas
- Scaling automático e manual
- Gerenciamento do ciclo de vida das aplicações
- Configuração e gerenciamento de secrets
Arquitetura Cloud-Native:
- Microsserviços e arquitetura distribuída
- Service discovery e load balancing
- Armazenamento persistente e aplicações stateful
- Networking e segurança de rede
DevOps e Produção:
- CI/CD com Kubernetes
- Monitoring e observabilidade
- Troubleshooting e debugging
- Melhores práticas de produção
Competências Profissionais
- Compreensão do ecossistema cloud-native
- Deploy de aplicações em produção
- Resolução de problemas complexos
- Colaboração com equipes DevOps/SRE
Avaliações
Trabalhos Práticos (50%)
- TP1: Deploy de aplicação multi-tier (15%)
- TP2: Configuração completa com monitoring (20%)
- TP3: Projeto GitOps e produção (15%)
Laboratórios (30%)
- Labs semanais (25%)
- Participação e engajamento (5%)
Projeto Final (20%)
- Aplicação completa implantada no Kubernetes (15%)
- Documentação e apresentação (5%)
Total: 100%
Pré-requisitos
Conhecimentos Prévios
- Conceitos de conteinerização (Docker)
- Linux e linha de comando
- Conceitos básicos de rede
- YAML/JSON (sintaxe básica)
Requisitos de Hardware
- Computador com no mínimo 8 GB RAM (16 GB recomendado)
- 50 GB de espaço livre em disco
- Conexão de Internet estável
- Processador 64-bit com virtualização ativada
Softwares a Instalar
- Docker Desktop ou Docker Engine
- kubectl (CLI do Kubernetes)
- minikube ou kind (cluster local)
- Helm (package manager)
- Um IDE ou editor de texto (VS Code recomendado)
Recursos do Curso
Documentação Oficial
Livros Recomendados
- "Kubernetes: Up and Running" - Kelsey Hightower
- "The Kubernetes Book" - Nigel Poulton
- "Kubernetes in Action" - Marko Lukša
Comunidade
Progresso do Curso
[✅ COMPLETO] MÓDULO 1 - Introdução ao Kubernetes
[✅ COMPLETO] MÓDULO 2 - Arquitetura e Componentes
[✅ COMPLETO] MÓDULO 3 - Pods e Deployments
[✅ COMPLETO] MÓDULO 4 - Services e Networking
[✅ COMPLETO] MÓDULO 5 - Configuração e Secrets
[✅ COMPLETO] MÓDULO 6 - Armazenamento e Volumes
[✅ COMPLETO] MÓDULO 7 - Workloads Avançados
[✅ COMPLETO] MÓDULO 8 - Ingress e Load Balancing
[✅ COMPLETO] MÓDULO 9 - Segurança e RBAC
[✅ COMPLETO] MÓDULO 10 - Helm e Package Management
[✅ COMPLETO] MÓDULO 11 - Monitoring e Observabilidade
[✅ COMPLETO] MÓDULO 12 - Deploy em Produção
Comece Agora!
Explore os módulos no menu lateral e inicie seu aprendizado de Kubernetes!
Bom curso e bons estudos!
Última atualização: Dezembro 2024