Programa do Curso
Dia 1 – Contentores e Gestão de Imagens
Introdução às Plataformas de Contentores
- Implementação tradicional de aplicações comparada com a implementação baseada em contentores
- Contentores e máquinas virtuais
- Runtime de contentores e motores de contentores
- O papel do Docker, Kubernetes e OpenShift
- Arquiteturas comuns de plataformas de contentores
- Fluxos de trabalho de desenvolvimento, teste e produção
Trabalho com Contentores
- Executar e gerir contentores
- Ciclo de vida dos contentores
- Iniciar, parar e remover contentores
- Executar comandos dentro de contentores
- Variáveis de ambiente
- Mapeamento de portas
- Registos de contentores
- Utilização de recursos e inspeção de processos
Construção de Imagens de Contentores
- Estrutura de imagens e camadas
- Criação de Dockerfiles e Containerfiles
- Seleção de imagens base
- Adição de dependências da aplicação
- Configuração de pontos de entrada e comandos
- Cache de imagens
- Redução do tamanho das imagens
- Construção de imagens reproduzíveis
Registos de Contentores
- Registos públicos e privados
- Etiquetagem e versionamento de imagens
- Push e pull de imagens
- Autenticação de imagens
- Retenção e limpeza de imagens
- Considerações básicas de segurança de imagens
Rede e Armazenamento de Contentores
- Conceitos de rede de contentores
- Rede bridge
- Exposição de portas
- Comunicação entre contentores
- Bind mounts e volumes
- Dados persistentes de contentores
- Considerações de cópia de segurança (backup)
Exercícios Práticos
- Executar e inspecionar contentores
- Construir uma imagem de aplicação
- Configurar portas e variáveis de ambiente
- Publicar uma imagem num registo
- Armazenar dados persistentes fora do contentor
Dia 2 – Arquitetura do Kubernetes e Cargas de Trabalho
Fundamentos do Kubernetes
- O propósito da orquestração de contentores
- Arquitetura do Kubernetes
- Componentes do control plane
- Nós de trabalho (worker nodes)
- Servidor de API
- Agendador (Scheduler)
- Controladores
- Estado do cluster e estado desejado
- Comunicação com o cluster utilizando kubectl
Recursos do Kubernetes
- Pods
- ReplicaSets
- Deployments
- Namespaces
- Etiquetas e anotações
- Seletores
- Definições declarativas de recursos
- Manifestos YAML
Implantação de Aplicações
- Criação e gestão de Deployments
- Dimensionamento de cargas de trabalho
- Atualização de imagens de contentores
- Atualizações em curso (rolling updates)
- Rollbacks
- Histórico de implantações
- Reinício de cargas de trabalho
- Gestão de réplicas de aplicações
Configuração de Aplicações
- ConfigMaps
- Secrets
- Variáveis de ambiente
- Ficheiros de configuração
- Separar o código da aplicação da configuração
- Gestão de definições específicas do ambiente
Gestão de Recursos
- Requisitos de CPU e memória
- Limites de CPU e memória
- Quotas de recursos
- Intervalos de limites (Limit ranges)
- Implicações na agendação
- Diagnóstico de falhas relacionadas com recursos
Exercícios Práticos
- Implantar uma aplicação em contentores
- Criar e atualizar manifestos do Kubernetes
- Dimensionar uma aplicação
- Realizar uma atualização em curso e um rollback
- Configurar a aplicação utilizando ConfigMaps e Secrets
- Aplicar requisitos e limites de recursos
Dia 3 – Rede, Armazenamento e Segurança do Kubernetes
Rede do Kubernetes
- Modelo de rede do cluster
- Comunicação entre pods
- Descoberta de serviços
- 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
- Controlo de tráfego entre cargas de trabalho
- Regras de ingress e egress
- Controlo de tráfego baseado em namespaces
- Testes de conectividade de rede
- Diagnóstico de comunicação de serviços
Armazenamento Persistente
- Armazenamento efémero e persistente
- Volumes
- PersistentVolumes
- PersistentVolumeClaims
- StorageClasses
- Provisionamento dinâmico
- Modos de acesso
- Políticas de reutilização
- Armazenamento para aplicações com estado
Controlo de Acesso no Kubernetes
- Conceitos de autenticação e autorização
- Controlo de Acesso Baseado em Papéis (RBAC)
- Papéis (Roles) e ClusterRoles
- RoleBindings e ClusterRoleBindings
- Contas de serviço
- Acesso de privilégio mínimo
- Inspecionar permissões efetivas
Segurança das Cargas de Trabalho
- Contextos de segurança
- Executar contentores como não-root
- Capacidades do Linux
- Sistemas de ficheiros em modo somente leitura
- Gestão de segredos
- Procedência de imagens
- Riscos comuns de configuração
Exercícios Práticos
- Expor uma aplicação utilizando serviços do Kubernetes
- Configurar ingress
- Restringir tráfego utilizando uma política de rede
- Provisionar armazenamento persistente
- Configurar permissões RBAC
- Executar uma carga de trabalho com um contexto de segurança apropriado
Dia 4 – Trabalho com Ambientes OpenShift
Introdução ao OpenShift
- OpenShift como plataforma de aplicações baseada em Kubernetes
- Recursos do Kubernetes num ambiente OpenShift
- Arquitetura do cluster OpenShift
- Projetos e namespaces
- Utilizadores da plataforma e contas de serviço
- Trabalho com a consola web
- Trabalho com a CLI do OpenShift
Gestão de Projetos e Acesso
- Criação e gestão de projetos
- Designação de permissões de utilizadores
- Papéis ao nível do projeto
- Acesso administrativo
- Quotas de recursos
- Intervalos de limites (Limit ranges)
- Contas de serviço
- Revisão de recursos do projeto
Implantação de Aplicações
- Implantação de imagens de contentores
- Criação de cargas de trabalho de aplicações
- Gestão de implantações
- Dimensionamento de aplicações
- Atualização de versões de aplicações
- Rollbacks
- Gestão de configurações de aplicações
- Trabalho com segredos
Exposição de Aplicações
- Serviços no OpenShift
- Rotas
- Conceitos de TLS
- Acesso interno e externo a aplicações
- Nomes de domínio e certificados
- Diagnóstico de problemas em rotas e serviços
Armazenamento no OpenShift
- Persistent Volume Claims
- StorageClasses
- Anexar armazenamento a cargas de trabalho
- Cargas de trabalho com estado
- Permissões de acesso ao armazenamento
- Diagnóstico de montagem de volumes
Agendação e Gestão de Nós
- Etiquetas e seletores
- Seletores de nós
- Taints e tolerations
- Conceitos de afinidade e anti-afinidade
- Posicionamento de cargas de trabalho
- Cordoning e drenagem de nós
- Considerações de manutenção de nós
Exercícios Práticos
- Aceder a um ambiente OpenShift
- Criar e configurar um projeto
- Implantar e expor uma aplicação
- Configurar acesso de utilizadores e contas de serviço
- Anexar armazenamento persistente
- Dimensionar e atualizar uma carga de trabalho em execução
Dia 5 – Operações, Monitorização e Resolução de Problemas
Monitorização da Plataforma
- Monitorizar a saúde do cluster e das aplicações
- Métricas de recursos
- Estado dos nós
- Estado das cargas de trabalho
- Capacidade e utilização de recursos
- Identificação de constrangimentos de desempenho
Registos e Eventos
- Registos de contentores
- Registos de pods
- Registos de contentores anteriores
- Eventos do Kubernetes
- Mensagens de aplicações e da plataforma
- Filtragem e interpretação de dados operacionais
Verificações de Saúde
- Probes de arranque
- Probes de prontidão
- Probes de vivacidade
- Conceção de endpoints de saúde úteis
- Diagnóstico de falhas em probes
- Prevenção de reinícios desnecessários de aplicações
Resolução de Problemas em Cargas de Trabalho
- Pods em espera (Pending)
- Falhas de extração de imagens
- Laços de crash
- Configuração incorreta de variáveis de ambiente
- Montagens falhadas
- Recursos insuficientes
- Erros de permissão
- Problemas de conectividade de serviços e rotas
- Problemas de DNS
- Falhas no arranque de aplicações
Segurança Operacional
- Revisão de permissões
- Utilização de contas de serviço
- Gestão segura de credenciais
- Práticas de segurança de imagens
- Isolamento de rede
- Auditoria de acesso à plataforma
- Aplicação do princípio do privilégio mínimo
Manutenção e Gestão do Ciclo de Vida
- Verificações de rotina da plataforma
- Manutenção de nós
- Considerações de cópia de segurança de aplicações
- Cópia de segurança de configurações
- Planificação de atualizações
- Gestão de alterações
- Teste de atualizações
- Planificação de rollbacks
- Conceitos de recuperação de desastres
Taller Prático Final
Os participantes concluem um cenário operacional de ponta a ponta:
- Construir e etiquetar uma imagem de contentor.
- Publicar a imagem num registo.
- Implantar a aplicação no Kubernetes ou OpenShift.
- Configurar definições e credenciais da aplicação.
- Expor a aplicação.
- Anexar armazenamento persistente.
- Configurar permissões de acesso.
- Adicionar verificações de saúde.
- Dimensionar e atualizar a aplicação.
- Diagnosticar e resolver uma falha introduzida.
Formato do Curso
- Lições interativas e discussões técnicas.
- Demonstrações do instrutor.
- Exercícios práticos abrangentes.
- Oficinas de administração e resolução de problemas baseadas em cenários.
- Trabalho prático em ambientes de contentores, Kubernetes e OpenShift.
Opções de Personalização do Curso
- O curso pode ser adaptado à infraestrutura existente, ao provedor de cloud e às ferramentas de contentores dos participantes.
- O equilíbrio entre tópicos de Docker, Kubernetes e OpenShift pode ser ajustado de acordo com a experiência da equipa.
- Os exercícios práticos podem ser adaptados às aplicações da organização, aos processos de implantação e aos requisitos operacionais.
Nota sobre Marcas
O OpenShift é uma marca comercial da Red Hat, Inc. Esta formação desenvolvida de forma independente não está afiliada, endossada ou autorizada pela Red Hat.
Requisitos
Os participantes devem ter:
- Experiência no utilizo da linha de comandos do Linux.
- Conhecimentos básicos de administração de sistemas ou DevOps.
- Compreensão geral de conceitos de rede.
- Familiaridade com processos de implementação de software.
A experiência prévia com Docker, Kubernetes ou OpenShift é útil, mas não é obrigatória.
Formação Empresarial Personalizada
Soluções de formação concebidas exclusivamente para empresas.
- Conteúdo Personalizado: Adaptamos o programa e os exercícios práticos aos objetivos e necessidades reais do seu projeto.
- Horário Flexível: Datas e horários adaptados à agenda da sua equipe.
- Formato: Online (ao vivo), In-Company (em suas instalações) ou Híbrido.
Preço por grupo privado, formação online em direto, a partir de 6500 € + VAT*
Entre em contato conosco para obter um orçamento preciso e conhecer nossas promoções mais recentes
Testemunhos de Clientes (7)
Leia as explicações e ele simplificou muito o entendimento
Eric Van Wyk
Curso - Docker, Kubernetes and OpenShift 3 for Administrators
Máquina Traduzida
Os laboratórios foram os melhores. Muito práticos e fornecem experiência prática. Pessoalmente, acredito que seja o meio mais eficaz para realmente entender o curso e aplicar os conceitos abordados.
Hishaam Johnstone
Curso - Docker, Kubernetes and OpenShift 3 for Administrators
Máquina Traduzida
Amei a disposição para ajudar e explicar mais quando havia incertezas
Letlotlo Miffi
Curso - Docker, Kubernetes and OpenShift 3 for Administrators
Máquina Traduzida
Adriano estudou o assunto profundamente, que é o estilo que eu mais prefiro, ou seja: menos sobre os comandos e mais sobre o mecanismo por trás deles. Os cenários discutidos foram bem apoiados por exemplos práticos, o que ajudou muito a entender o material apresentado.
Mariusz BANASZCZYK - Sopra Steria
Curso - Docker, Kubernetes and OpenShift for Administrators
Máquina Traduzida
Conhecimento aprofundado de Adriano. Explicação dos conceitos básicos
Tomasz Szalankiewicz - LPP SA
Curso - Docker, Kubernetes and OpenShift for Administrators
Máquina Traduzida
Gostei geralmente do apresentador.
Josif Kovacevic - ANZ
Curso - Docker, Kubernetes and OpenShift for Administrators
Máquina Traduzida
Adrian clearly knows and enjoys this technology.
Tom Edginton - National Oceanography Centre
Curso - Docker, Kubernetes and OpenShift for Administrators
Máquina Traduzida