Programa do Curso
1. Introdução a OpenStack
História da nuvem e OpenStack
Características da nuvem
Modelos de nuvem
privado, público, híbrido
no local, IaaS, PaaS, SaaS
Implantações de nuvens públicas e privadas baseadas em OpenStack
Distribuições de código aberto e comerciais OpenStack
OpenStack modelos de implantação
OpenStack ecossistema
Módulos
Ferramentas subjacentes
Integrações
OpenStack ciclo de vida
OpenStack certificação
OpenStack laboratório (VM) para este curso
2. Workshop prático OpenStack de administração
Conhecer o OpenStack
Componentes do OpenStack (Keystone, Glance, Nova, Neutron, Cinder, Swift, Heat)
Interação com a nuvem OpenStack
Daemons OpenStack e fluxo de comunicação API
Keystone - Serviço de gestão de identidades
Arquitetura do Keystone
Autenticação e backends disponíveis
Tipos de tokens e gestão de tokens
Autorização em OpenStack - funções e oslo.policy
Recursos-chave - domínios, projectos, utilizadores
Openrc e clouds.yaml - Configuração de clientes CLI
OpenStack catálogo de serviços
Adição de um novo serviço OpenStack
Sistema de quotas em OpenStack
Glance - Serviço de imagens
Imagens ajustadas à nuvem
Características da imagem (propriedades, metadados, formato, contentor)
Carregamento e descarregamento de imagens
Partilhar imagens
Lojas de imagens de relance
Imagens protegidas
Gerir quotas para o serviço de imagens
Verificação dos serviços Glance
Neutrões - Networking
Arquitetura e serviços Neutron
O plugin ML2
Networking no nó de computação - análise
Networking conceitos e ferramentas utilizados pelo Neutron
Tipos básicos de recursos de rede Neutron
Gerir redes de inquilinos, sub-redes,
Gerir grupos e regras de segurança
Trajeto Este-Oeste
Espaços de nomes de rede
Gerir redes externas/fornecedores
Trajeto Norte-Sul
Gestão de IPs flutuantes
Controlo de acesso baseado em funções no Neutron
Gerir quotas de rede
Aspectos internos de SDN e NFV (iptables, rota ip, OVS)
Resolução básica de problemas de rede (namespaces, tcpdump, etc.)
Networking quotas
Verificação dos serviços Neutron
Nova - Serviço de computação
Interfaces para hipervisores
Gestão de pares de chaves
Gestão de aromas
Sabores e topologia da CPU
Parâmetros de instância
Criar uma instância
Verificação de instâncias geradas
Captura de imagens
Gestão de instâncias
Redimensionamento de instâncias
Atribuição de IPs flutuantes
Consola interactiva e registo da consola
Atribuição de grupos de segurança
Aspectos internos dos grupos de segurança e funcionalidades de segurança de portas (iptables)
Aspectos internos dos encaminhadores L3
Computar quotas
Obter estatísticas do Nova
API de colocação e Nova Cells v2
API de colocação e agendamento de instâncias
Comandos do cliente da API de colocação
Verificação dos serviços Nova
Armazém de blocos de cimento
Parâmetros de volume
Criar volume
Gerir o volume
Anexar volume à instância Nova
Gerir instantâneos de volumes
Gerir cópias de segurança de volumes
Interiores de instantâneos e backups no Cinder
Transferência de volumes entre projectos
Restaurar cópias de segurança
Gerir quotas de volume
Adição de um novo backend de armazenamento
QoS no Cinder
LVM, matriz de armazenamento e back-ends de armazenamento Ceph
Ceph em OpenStack
Integração do Ceph e do Cinder
GoPráticas antigas para implantações Ceph
Verificação dos serviços Cinder
Barbican - Chave Management Serviço
Arquitetura do Barbacã
Armazenamento de frases-passe
Geração e armazenamento de chaves de encriptação simétrica
Mecanismos de encriptação de volumes
Configuração do tipo de armazenamento Cinder para encriptação de volumes
Limitações da encriptação de volumes
Armazenamento de pacotes de certificados X.509
Swift - Armazenamento de objectos
Swift componentes e processos
Gerir contentores e objectos
Gerir listas de controlo de acesso
Configurar a expiração de objectos
O anel e as políticas de armazenamento
Monitorização do espaço de armazenamento disponível
Definição de quotas
Verificação dos serviços Swift
Calor - Orquestração
Modelo de orquestração do Heat e seus componentes
Criar pilha de calor
Verificação da pilha de calor
Atualização da pilha de calor
Verificação dos serviços Heat
Resolução de problemas básicos
Analisar ficheiros de registo
Registo centralizado
Depuração de consultas de clientes OpenStack
Gestão da base de dados OpenStack
Extração de informações das bases de dados de serviços
Cópia de segurança OpenStack
Analisar o estado do nó de computação
Analisar o estado da instância
Resolução de problemas de instâncias no nó de computação (libvirt)
Analisando o corretor AMQP (RabbitMQ)
Resolução de problemas RabbitMQ
Serviços de metadados
Modo geral de diagnosticar problemas OpenStack
Resolução de problemas de rede
Resolução de problemas de desempenho da rede
Cópia de segurança e recuperação da instância
2. Tópicos avançados
Octavia - Balanceamento de carga como um serviço
Arquitetura
Objectos e fluxo de pedidos
Sabores do Octavia
Zonas de disponibilidade do Octavia
Criar o balanceador de carga HTTP
Criar o balanceador de carga TCP
Criando o balanceador de carga HTTPS passthrough
Ouvintes, pools e monitores de saúde
Balanceamento de carga da camada 7 no Octavia
Criando a imagem do Amphora
Failover LB
Networking e detalhes de monitoramento
Solução de problemas do Octavia
Considerações sobre hardware e planeamento da capacidade
Hardware de computação
Conceção da rede
Conceção do armazenamento
Dimensionamento do sabor
Compromisso excessivo de recursos
Plano de controlo altamente disponível
Serviços HA em OpenStack
Base de dados HA
Fila de mensagens HA
Implementações Ativo-Ativo vs Ativo-Passivo
Implementações em várias regiões
Particionamento de nuvens e filtros de agendamento
Porquê e como implementar partições na nuvem (agregados de anfitriões)
Filtros do agendador Nova
Mergulhar no código do filtro
Migração de cargas de trabalho
Migração a frio e em direto
Ajustes de migração em direto
Exercícios de migração e resolução de problemas
Políticas e autorização em OpenStack
Oslo.policy
Criar uma nova função significativa com ficheiros de políticas
Verificação do acesso à API para o utilizador específico
Redes em profundidade OpenStack (SDN) (2-3h)
Tipos de rede (local, plana, vlan, vxlan, gre)
Fluxo e arquitetura de rede detalhados em várias implementações de neutrões
Tráfego Este-Oeste em redes de inquilinos
Tráfego Norte-Sul nas redes dos lojistas
Tráfego em implementações só de fornecedor
Plugins Neutron
Linux Ponte
Abrir o vSwitch
Resolução de problemas e exercícios do OVS
Resolução de problemas de grupos de segurança (iptables, tcpdump)
Ajustes de segurança de porta e gestão de vIP
Routers virtuais distribuídos
LBaaS + projeto Octavia
VPNaaS
OpenStack monitorização e telemetria
Serviço de ceilómetro
Controlo externo
Avanços nas funcionalidades de nuvem/hipervisor
Arquitetura CPU pinning / NUMA
SR-IOV
Personalização da imagem e da instalação na nuvem
Serviço de metadados
Obter informações do serviço de metadados
Backends de armazenamento em bloco
LVM
Ceph RBD
Aparelhos físicos
Considerações sobre a rede de armazenamento
Atualização OpenStack
Estratégias e procedimentos de atualização
Atualização sem tempo de inatividade
Aprovisionamento bare-metal com OpenStack
Módulo Ironic
Conceitos de sub-nuvem e sobre-nuvem
Vários exercícios sobre resolução de problemas OpenStack cluster
Exemplos de tarefas de exame
Futuro da OpenStack