Operadores do Kubernetes
Automatizando a plataforma de orquestração de contêineres
Descrição do livro
Os Operadores são uma forma de empacotar, implantar e administrar aplicações no Kubernetes. Eles facilitam automatizar o ciclo de vida de programas complexos, com estados, permitindo que um cluster Kubernetes tenha capacidades específicas de uma aplicação. Os exemplos realistas deste livro mostram como os Operadores funcionam e como criá-los usando o Operator Framework e SDK.
Os Operadores conhecem o estado interno de suas aplicações, de modo que possam coordenar a instalação e os upgrades, atuar na reparação de falhas e automatizar trabalhos de manutenção repetitivos e intrincadamente coordenados. Os autores Jason Dobies e Joshua Wood mostram como criar Operadores para estender o plano de controle do Kubernetes e a API, ajudando as equipes de operações e os desenvolvedores de aplicações a implantar e gerenciar serviços e componentes essenciais de forma confiável.
Ver menos ▲Sumário
- Dedicatória
- Prefácio
- Capítulo 1 ■ Operadores ensinam novos truques ao Kubernetes
- Como o Kubernetes funciona
- Exemplo: servidor web stateless
- Aplicações com estado são complicadas
- Operadores são SREs de software
- Como os Operadores funcionam
- CRs do Kubernetes
- De que são compostos os Operadores
- Exemplo: o Operador etcd
- Caso da ausência de um participante
- Para quem os Operadores foram criados?
- Adoção dos Operadores
- Vamos prosseguir!
- Capítulo 2 ■ Executando os Operadores
- Criando um laboratório para os Operadores
- Requisitos sobre versões no cluster
- Requisitos de autorização
- Ferramentas e técnicas padrões
- Configurações sugeridas para o cluster
- Verificando a versão de seu cluster
- Executando um Operador simples
- Um ponto de partida comum
- Adquirindo os manifestos do Operador etcd
- CRs: Endpoints de API personalizados
- Quem sou eu: definindo uma conta de serviço para o Operador
- Implantando o Operador etcd
- Declarando um cluster etcd
- Exercitando o etcd
- Escalando o cluster etcd
- Falha e recuperação automática
- Fazendo upgrade de clusters etcd
- Limpeza
- Resumo
- Criando um laboratório para os Operadores
- Capítulo 3 ■ Operadores na interface do Kubernetes
- Escalando de forma padrão: o recurso ReplicaSet
- Custom Resources
- CR ou ConfigMap?
- Controladores personalizados
- Escopo dos Operadores
- Escopo no namespace
- Operadores com escopo no cluster
- Autorização
- Contas de serviço
- Perfis
- RoleBindings
- ClusterRoles e ClusterRoleBindings
- Resumo
- Capítulo 4 ■ Operator Framework
- Origens do Operator Framework
- Modelo de Maturidade do Operador
- Operator SDK
- Instalando a ferramenta Operator SDK
- Operator Lifecycle Manager
- Operator Metering
- Resumo
- Capítulo 5 ■ Aplicação de exemplo: o Visitors Site
- Visão geral da aplicação
- Instalação com manifestos
- Implantação do MySQL
- Backend
- Frontend
- Implantando os manifestos
- Acessando o Visitors Site
- Limpeza
- Resumo
- Sumário
- Capítulo 6 ■ Operadores Adaptadores
- Operador Helm
- Criando o Operador
- Preenchendo o CRD
- Revendo as permissões do Operador
- Executando o Operador Helm
- Operador Ansible
- Criando o Operador
- Preenchendo o CRD
- Revendo as permissões do Operador
- Executando o Operador Ansible
- Testando um Operador
- Resumo
- Recursos
- Operador Helm
- Capítulo 7 ■ Operadores em Go com o Operator SDK
- Iniciando o Operador
- Escopo do Operador
- Custom Resource Definitions
- Definindo os tipos em Go
- Manifesto do CRD
- Permissões do Operador
- Controlador
- Função Reconcile
- Dicas para escrever Operadores
- Obtendo o recurso
- Criação de recursos-filhos
- Remoção de recursos-filhos
- Nomenclatura dos recursos-filhos
- Idempotência
- Impacto do Operador
- Executando um Operador localmente
- Exemplo Visitors Site
- Resumo
- Recursos
- Capítulo 8 ■ Operator Lifecycle Manager
- Recursos personalizados do OLM
- ClusterServiceVersion
- CatalogSource
- Subscription
- InstallPlan
- OperatorGroup
- Instalando o OLM
- Usando o OLM
- Explorando o Operador
- Removendo o Operador
- Arquivos de metadados de bundles OLM
- Custom Resource Definitions
- Arquivo CSV
- Arquivo de manifesto do pacote
- Escrevendo um arquivo CSV
- Gerando o esqueleto de um arquivo
- Metadados
- CRDs pertencentes ao Operador
- CRDs necessários
- Modos de instalação
- Numeração de versões e atualização
- Escrevendo um arquivo de manifesto de pacote
- Executando localmente
- Pré-requisitos
- Criando o bundle OLM
- Instalando o Operador com o OLM
- Testando o Operador em execução
- Exemplo de Operador para o Visitors Site
- Resumo
- Recursos
- Recursos personalizados do OLM
- Capítulo 9 ■ Filosofia dos Operadores
- SRE para todas as aplicações
- Tarefas penosas
- Passível de ser automatizado: trabalhos de que seu computador iria gostar
- Correndo sem sair do lugar: trabalho desprovido de valor durável
- Dificuldades crescentes: trabalho que se expande com o sistema
- Operadores: engenharia de confiabilidade para aplicações Kubernetes
- Gerenciando o estado da aplicação
- Sinais de ouro enviadas ao software
- Sete hábitos de Operadores extremamente bem-sucedidos
- Resumo
- Capítulo 10 ■ Colabore
- Requisição de funcionalidades e relatório de bugs
- Colaborando
- Compartilhando Operadores
- Resumo
- Sumário
- Apêndice A ■ Executando um Operador como um deployment em um cluster
- Apêndice B ■ Validação de recursos personalizados
- Apêndice C ■ Role-Based Access Control (RBAC)
- Fazendo ajustes minuciosos no perfil
- Sobre os autores
- Colofão
Sobre os autores
Jason Dobies é evangelista de software (developer advocate) na Red Hat e professor-adjunto de engenharia de software e projetos sênior na Villanova University.… Ver perfil completo ▶
Joshua Wood é evangelista de software (developer advocate) na Red Hat e cria programas utilitários com softwares de código aberto.… Ver perfil completo ▶






