Pular para o conteúdo principal

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