Entrar em Contato

Programa do Curso

Dia 1 – Contêineres e Gerenciamento de Imagens

Introdução às Plataformas de Contêiner

  • Implantação tradicional de aplicações em comparação com a implantação baseada em contêiner
  • Contêineres e máquinas virtuais
  • Rodapés de contêiner e motores de contêiner
  • A função do Docker, Kubernetes e OpenShift
  • Arquiteturas comuns de plataformas de contêiner
  • Fluxos de trabalho de desenvolvimento, teste e produção

Trabalhando com Contêineres

  • Executar e gerenciar contêineres
  • Ciclo de vida do contêiner
  • Iniciar, parar e remover contêineres
  • Executar comandos dentro dos contêineres
  • Variáveis de ambiente
  • Mapeamento de portas
  • Logs do contêiner
  • Uso de recursos e inspeção de processos

Criando Imagens de Contêiner

  • Estrutura da imagem e camadas
  • Criar Dockerfiles e Containerfiles
  • Selecionar imagens base
  • Adicionar dependências da aplicação
  • Configurar pontos de entrada e comandos
  • Caching de imagem
  • Reduzir o tamanho da imagem
  • Criar imagens reproduzíveis

Registros de Contêiner

  • Registros públicos e privados
  • Dar marca e versionar imagens
  • Enviar (push) e recuperar (pull) imagens
  • Autenticação de imagem
  • Retenção e limpeza de imagens
  • Considerações básicas de segurança da imagem

Rede e Armazenamento de Contêineres

  • Conceitos de rede de contêiner
  • Rede bridge
  • Exposição de portas
  • Comunicação entre contêineres
  • Monta-bind e volumes
  • Dados persistentes do contêiner
  • Considerações sobre backup

Exercícios Práticos

  • Executar e inspecionar contêineres
  • Criar uma imagem de aplicação
  • Configurar portas e variáveis de ambiente
  • Publicar uma imagem em um registro
  • Armazenar dados persistentes fora de um contêiner

Dia 2 – Arquitetura do Kubernetes e Cargas de Trabalho

Fundamentos do Kubernetes

  • O propósito da orquestração de contêiner
  • Arquitetura do Kubernetes
  • Componentes do plano de controle
  • Nós workers
  • Servidor de API
  • Agendador (Scheduler)
  • Controladores
  • Estado do cluster e estado desejado
  • Comunicar-se com o cluster usando o kubectl

Recursos do Kubernetes

  • Pods
  • ReplicaSets
  • Deployments
  • Namespaces
  • Rótulos e anotações
  • Selectores
  • Definições de recursos declarativas
  • Manuais (manifests) em YAML

Implantando Aplicações

  • Criar e gerenciar Deployments
  • Escalar cargas de trabalho
  • Atualizar imagens de contêiner
  • Atualizações graduais (rolling updates)
  • Rollbacks
  • Histórico de deployment
  • Reiniciar cargas de trabalho
  • Gerenciar réplicas de aplicação

Configuração da Aplicação

  • ConfigMaps
  • Secrets
  • Variáveis de ambiente
  • Arquivos de configuração
  • Separação do código da aplicação da configuração
  • Gerenciar configurações específicas do ambiente

Gestão de Recursos

  • Solicitações de CPU e memória
  • Limites de CPU e memória
  • Cotas de recursos
  • Faixas de limite (limit ranges)
  • Implicações no agendamento
  • Diagnosticar falhas relacionadas a recursos

Exercícios Práticos

  • Implantar uma aplicação em contêiner
  • Criar e atualizar manifests do Kubernetes
  • Escalar uma aplicação
  • Realizar uma atualização gradual e um rollback
  • Configurar a aplicação usando ConfigMaps e Secrets
  • Atribuir solicitações e limites de recurso

Dia 3 – Rede, Armazenamento e Segurança no Kubernetes

Rede do Kubernetes

  • Modelo de rede do cluster
  • Comunicação entre pods
  • Descoberta de serviço
  • DNS dentro do cluster
  • Serviços ClusterIP
  • Serviços NodePort
  • Serviços LoadBalancer
  • Conceitos de Ingress
  • Padrões de exposição de aplicações

Políticas de Rede

  • Controlar o tráfego entre cargas de trabalho
  • Regras de ingress e egress
  • Controle de tráfego baseado em namespace
  • Testar conectividade de rede
  • Solucionar problemas de comunicação de serviço

Armazenamento Persistente

  • Armazenamento efêmero e persistente
  • Volumes
  • PersistentVolumes
  • PersistentVolumeClaims
  • StorageClasses
  • Provisionamento dinâmico
  • Modos de acesso
  • Políticas de retenção
  • Armazenamento para aplicações com estado

Controle de Acesso no Kubernetes

    \r
  • Conceitos de autenticação e autorização
  • Controle de Acesso Baseado em Funções (RBAC)
  • Roles e ClusterRoles
  • RoleBindings e ClusterRoleBindings
  • Contas de serviço
  • Acesso de menor privilégio
  • Inspecionar permissões efetivas

Segurança de Cargas de Trabalho

  • Contextos de segurança
  • Executar contêineres como não-root
  • Capacidades do Linux
  • Sistemas de arquivos somente leitura
  • Manipulação de segredos (secrets)
  • Procedência da imagem
  • Riscos comuns de configuração

Exercícios Práticos

  • Expor uma aplicação usando serviços do Kubernetes
  • Configurar ingress
  • Restringir tráfego usando uma política de rede
  • Fornecer armazenamento persistente
  • Configurar permissões RBAC
  • Executar uma carga de trabalho com um contexto de segurança apropriado

Dia 4 – Trabalhando com Ambientes OpenShift

Introdução ao OpenShift

  • O OpenShift como uma plataforma de aplicações baseada em Kubernetes
  • Recursos do Kubernetes em um ambiente OpenShift
  • Arquitetura do cluster OpenShift
  • Projetos e namespaces
  • Usuários da plataforma e contas de serviço
  • Trabalhar com o console web
  • Trabalhar com a CLI do OpenShift

Gerenciando Projetos e Acesso

  • Criar e gerenciar projetos
  • Atribuir permissões ao usuário
  • Roles em nível de projeto
  • Acesso administrativo
  • Cotas de recurso
  • Faixas de limite (limit ranges)
  • Contas de serviço
  • Revisar recursos do projeto

Implantando Aplicações

  • Implantar imagens de contêiner
  • Criar cargas de trabalho de aplicações
  • Gerenciar deployments
  • Escalar aplicações
  • Atualizar versões da aplicação
  • Rollbacks
  • Gerenciar configuração da aplicação
  • Trabalhar com segredos

Exposição de Aplicações

  • Serviços no OpenShift
  • Rotas (Routes)
  • Conceitos de TLS
  • Acesso interno e externo à aplicação
  • Nomes de host e certificados
  • Solucionar problemas de rota e serviço

Armazenamento no OpenShift

  • Persistent Volume Claims
  • StorageClasses
  • Anexar armazenamento a cargas de trabalho
  • Cargas de trabalho com estado (Stateful)
  • Permissões de acesso ao armazenamento
  • Solucionar problemas de montagem de volumes

Agendamento e Gestão de Nós

  • Rótulos e selectores
  • Selectores de nós (node selectors)
  • Taints e tolerações
  • Conceitos de afinidade e anti-afinidade
  • Alocação de cargas de trabalho
  • Colocar em isolamento (cordoning) e drenar nós
  • Considerações sobre manutenção dos nós

Exercícios Práticos

  • Acessar um ambiente OpenShift
  • Criar e configurar um projeto
  • Implantar e expor uma aplicação
  • Configurar acesso de usuário e conta de serviço
  • Anexar armazenamento persistente
  • Escalar e atualizar uma carga de trabalho em execução

Dia 5 – Operações, Monitoramento e Solução de Problemas

Monitoramento da Plataforma

  • Monitorar a saúde do cluster e da aplicação
  • Métricas de recurso
  • Saúde dos nós
  • Status da carga de trabalho
  • Capacidade e utilização de recursos
  • Identificar limitações de desempenho

Logs e Eventos

  • Logs do contêiner
  • Logs do pod
  • Logs anteriores do contêiner
  • Eventos do Kubernetes
  • Mensagens da aplicação e da plataforma
  • Filtrar e interpretar dados operacionais

Verificações de Saúde (Health Checks)

  • Sondas de inicialização (startup probes)
  • Sondas de prontidão (readiness probes)
  • Sondas de vivacidade (liveness probes)
  • Projetar endpoints de saúde úteis
  • Diagnosticar falhas nas sondas
  • Evitar reinicializações desnecessárias da aplicação

Solucionando Problemas em Cargas de Trabalho

  • Pods pendentes
  • Falhas na extração da imagem (image pull failures)
  • Loops de falha (crash loops)
  • Variáveis de ambiente mal configuradas
  • Montagens falhas
  • Recursos insuficientes
  • Erros de permissão
  • Problemas de conectividade de serviço e rota
  • Problemas de DNS
  • Falhas na inicialização da aplicação

Segurança Operacional

  • Revisar permissões
  • Uso de contas de serviço
  • Manipulação segura de credenciais
  • Práticas de segurança de imagem
  • Isolamento de rede
  • Auditoria de acesso à plataforma
  • Aplicar o princípio do menor privilégio

Manutenção e Gestão do Ciclo de Vida

  • Verificações rotineiras da plataforma
  • Manutenção dos nós
  • Considerações sobre backup da aplicação
  • Backup de configuração
  • Planejamento de atualização
  • Gestão de mudanças
  • Teste de atualizações
  • Planejamento de rollback
  • Conceitos de recuperação de desastres

Oficina Prática Final

Os participantes completam um cenário operacional ponta a ponta:

  • Criar e dar marca a uma imagem de contêiner.
  • Publicar a imagem em um registro.
  • Implantar a aplicação no Kubernetes ou OpenShift.
  • Configurar configurações da aplicação e credenciais.
  • Expor a aplicação.
  • Anexar armazenamento persistente.
  • Configurar permissões de acesso.
  • Adicionar verificações de saúde.
  • Escalar e atualizar a aplicação.
  • Diagnosticar e resolver uma falha introduzida.

Formato do Curso

  • Aulas interativas e discussões técnicas.
  • Demonstrações pelo instrutor.
  • Exercícios práticos extensivos.
  • Workshops de administração e solução de problemas baseados em cenários.
  • Trabalho prático em ambientes de contêiner, Kubernetes e OpenShift.

Opções de Personalização do Curso

  • O curso pode ser adaptado à infraestrutura existente dos participantes, ao provedor de nuvem e às ferramentas de contêiner utilizadas.
  • O equilíbrio entre tópicos de Docker, Kubernetes e OpenShift pode ser ajustado de acordo com a experiência da equipe.
  • Os exercícios práticos podem ser personalizados para as aplicações da organização, processos de implantação e requisitos operacionais.

Aviso de Marca Registrada

OpenShift é uma marca registrada da Red Hat, Inc. Este treinamento desenvolvido independentemente não está afiliado, endossado ou autorizado pela Red Hat.

Requisitos

Os participantes devem ter:

  • Experiência no uso da linha de comando do Linux.
  • Conhecimento básico de administração de sistemas ou DevOps.
  • Compreensão geral dos conceitos de rede.
  • Familiaridade com processos de implantação de software.

Experiência anterior com Docker, Kubernetes ou OpenShift é útil, mas não obrigatória.

 35 Horas

Número de participantes


Preço por participante

Testemunhos de Clientes (7)

Próximas Formações Provisórias

Categorias Relacionadas