Kubernetes Básico

Mergulhe no futuro da infraestrutura

Kubernetes Básico Somente ebook
× Kubernetes Básico

Kubernetes Básico

Autores: Brendan Burns
Joe Beda
Kelsey Hightower

ISBN impresso: 978-85-7522-824-1
ISBN ebook: 978-85-7522-827-2
Ano: 2020
Páginas: 288
Preço: R$ 79,00

Opine sobre este livro

Descrição do livro

O Kubernetes veio para ficar. Em apenas cinco anos, esse orquestrador de contêineres mudou radicalmente o modo como os desenvolvedores e o pessoal de operações fazem o desenvolvimento, a implantação e a manutenção de aplicações na nuvem. A edição atualizada deste livro popular explica como o Kubernetes pode ajudar sua empresa a atingir novos patamares de velocidade, agilidade, confiabilidade e eficiência – não importa se os sistemas distribuídos são uma novidade para você ou se você já vem implantando aplicações nativas de nuvem há algum tempo.

Brendan Burns, Joe Beda e Kelsey Hightower – todos com participação ativa na conceitualização e no desenvolvimento do Kubernetes desde o princípio – mostram como esse sistema está presente no ciclo de vida de uma aplicação distribuída. Você aprenderá a usar ferramentas e APIs para automatizar sistemas distribuídos escaláveis para serviços online, aplicações de machine learning ou até mesmo para um cluster de computadores Raspberry Pi.

  • Crie e execute um cluster simples para saber como o Kubernetes funciona.

  • Explore os detalhes da implantação de uma aplicação usando o Kubernetes, Pods, Services, Ingress e ReplicaSets.

  • Faça a integração de armazenagem em microsserviços conteinerizados no Kubernetes.

  • Conheça os objetos especializados do Kubernetes, como DaemonSets, Jobs, ConfigMaps e secrets.

  • Veja exemplos práticos de como desenvolver e implantar aplicações do mundo real no Kubernetes.

Ver menos ▲

Sumário

  • Prefácio
  • Capítulo 1 Introdução
    • Velocidade
      • Importância da imutabilidade
      • Configuração declarativa
      • Sistemas autocorretivos
    • Escalando seu serviço e suas equipes
      • Desacoplamento
      • Como escalar facilmente as aplicações e os clusters
      • Como escalar equipes de desenvolvimento com microsserviços
      • Separação de responsabilidades para consistência e escalabilidade
    • Abstraindo a infraestrutura
    • Eficiência
    • Resumo
  • Capítulo 2 Criando e executando contêineres
    • Imagens de contêiner
      • Formato de imagem Docker
    • Construindo imagens de aplicações com o Docker
      • Dockerfiles
      • Otimizando os tamanhos das imagens
      • Segurança da imagem
    • Construções de imagens em várias etapas
    • Armazenando imagens em um registro remoto
    • Runtime de contêineres Docker
      • Executando contêineres com o Docker
      • Explorando a aplicação kuard
      • Limitando o uso de recursos
    • Limpeza
    • Resumo
  • Capítulo 3 Implantação de um cluster Kubernetes
    • Instalando o Kubernetes em um provedor de nuvem pública
      • Google Kubernetes Engine
      • Instalando o Kubernetes com o Azure Kubernetes Service
      • Instalando o Kubernetes no Amazon Web Services
    • Instalando o Kubernetes localmente com o minikube
    • Executando o Kubernetes no Docker
    • Executando o Kubernetes no Raspberry Pi
    • Cliente Kubernetes
      • Verificando o status do cluster
      • Listando os nós de trabalho no Kubernetes
    • Componentes de um cluster
      • Kubernetes proxy
      • Kubernetes DNS
      • Kubernetes UI
    • Resumo
  • Capítulo 4 Comandos comuns do kubectl
    • Namespaces
    • Contextos
    • Visualizando objetos da API do Kubernetes
    • Criando, atualizando e removendo objetos Kubernetes
    • Usando rótulos e anotações em objetos
    • Comandos de depuração
    • Preenchimento automático de comandos
    • Alternativas para visualizar seu cluster
    • Resumo
  • Capítulo 5 Pods
    • Pods no Kubernetes
    • Raciocinando com Pods
    • Manifesto do Pod
      • Criando um Pod
      • Criando um manifesto de Pod
    • Executando Pods
      • Listando Pods
      • Detalhes sobre os Pods
      • Removendo um Pod
    • Acessando seu Pod
      • Usando encaminhamento de portas
      • Obtendo mais informações com logs
      • Executando comandos em seu contêiner com exec
      • Copiando arquivos de e para os contêineres
    • Verificações de sanidade
      • Liveness probe
      • Readiness Probe
      • Tipos de verificação de sanidade
    • Gerenciamento de recursos
      • Requisições de recursos: mínimo de recursos necessário
      • Restringindo o uso de recursos com os limites
    • Persistência de dados com volumes
      • Usando volumes com Pods
      • Maneiras diferentes de usar volumes com Pods
      • Persistência de dados usando discos remotos
    • Reunindo tudo
    • Resumo
  • Capítulo 6 Rótulos e anotações
    • Rótulos
      • Aplicando rótulos
      • Modificando rótulos
      • Seletores de rótulo
      • Seletores de rótulo em objetos da API
      • Rótulos na arquitetura do Kubernetes
    • Anotações
      • Definindo as anotações
    • Limpeza
    • Resumo
  • Capítulo 7 Descoberta de serviços
    • O que é a descoberta de serviços?
    • Objeto Service
      • DNS para serviços
      • Verificações de readiness
    • Olhando para além do cluster
    • Integração com a nuvem
    • Detalhes mais sofisticados
      • Endpoints
      • Descoberta de serviços manual
      • kube-proxy e IPs de cluster
      • Variáveis de ambiente do IP do cluster
    • Conectando-se com outros ambientes
    • Limpeza
    • Resumo
  • Capítulo 8 Balanceamento de carga HTTP com Ingress
    • Especificação de Ingress versus controladores de Ingress
    • Instalando o Contour
      • Configurando o DNS
      • Configurando um arquivo hosts local
    • Usando o Ingress
      • Uso mais simples possível
      • Usando nomes de host
      • Usando paths
      • Limpeza
    • Tópicos avançados e armadilhas relacionados ao Ingress
      • Executando vários controladores de Ingress
      • Vários objetos Ingress
      • Ingress e namespaces
      • Reescrita de paths
      • Servindo TLS
    • Implementações alternativas de Ingress
    • Futuro do Ingress
    • Resumo
  • Capítulo 9 ReplicaSets
    • Laços de reconciliação
    • Relacionando Pods e ReplicaSets
      • Adotando contêineres existentes
      • Deixando os contêineres em quarentena
    • Design com ReplicaSets
    • Especificação de um ReplicaSet
      • Templates de Pod
      • Rótulos
    • Criando um ReplicaSet
    • Inspecionando um ReplicaSet
      • Encontrando um ReplicaSet a partir de um Pod
      • Encontrando um conjunto de Pods para um ReplicaSet
    • Escalando os ReplicaSets
      • Como escalar de forma imperativa com kubectl scale
      • Como escalar de forma declarativa com kubectl apply
      • Escalando automaticamente um ReplicaSet
    • Removendo ReplicaSets
    • Resumo
  • Capítulo 10 Deployments
    • Seu primeiro deployment
      • Funcionamento interno de um deployment
    • Criando deployments
    • Gerenciando deployments
    • Atualizando deployments
      • Escalando um deployment
      • Atualizando uma imagem de contêiner
      • Histórico de rollouts
    • Estratégias de deployment
      • Estratégia Recriate
      • Estratégia RollingUpdate
      • Rollouts mais lentos para garantir a saúde do serviço
    • Removendo um deployment
    • Monitorando um deployment
    • Resumo
  • Capítulo 11 DaemonSets
    • Escalonador de DaemonSets
    • Criando DaemonSets
    • Limitando os DaemonSets a nós específicos
      • Adicionando rótulos em nós
      • Seletores de nós
    • Atualizando um DaemonSet
      • Atualização contínua de um DaemonSet
    • Removendo um DaemonSet
    • Resumo
  • Capítulo 12 Jobs
    • Objeto Job
    • Padrões para jobs
      • Job one shot
      • Paralelismo
      • Fila de tarefas
    • CronJobs
    • Resumo
  • Capítulo 13 ConfigMaps e secrets
    • ConfigMaps
      • Criando ConfigMaps
      • Usando um ConfigMap
    • Secrets
      • Criando secrets
      • Consumindo secrets
      • Registros privados do Docker
    • Restrições quanto à nomenclatura
    • Gerenciando ConfigMaps e secrets
      • Listar
      • Criar
      • Atualizar
    • Resumo
  • Capítulo 14 Controle de acesso baseado em perfis no Kubernetes
    • Role-Based Access Control
      • Identidade no Kubernetes
      • Compreendendo os perfis e as vinculações de perfis
      • Perfis e vinculações de perfis no Kubernetes
    • Técnicas para gerenciar o RBAC
      • Testando a autorização com o can-i
      • Gerenciando o RBAC no sistema de controle de versões
    • Tópicos avançados
      • Agregando ClusterRoles
      • Usando grupos para vinculações
    • Resumo
  • Capítulo 15 Integrando soluções de armazenagem no Kubernetes
    • Importando serviços externos
      • Serviços sem seletores
      • Limitações aos serviços externos: verificação de sanidade
    • Executando singletons confiáveis
      • Executando um singleton MySQL
      • Provisionamento dinâmico de volumes
    • Armazenagem nativa do Kubernetes com StatefulSets
      • Propriedades dos StatefulSets
      • Replicando o MongoDB manualmente com StatefulSets
      • Automatizando a criação do cluster MongoDB
      • Volumes persistentes e StatefulSets
      • Observação final: os liveness probes
    • Resumo
  • Capítulo 16 Estendendo o Kubernetes
    • O que significa estender o Kubernetes
    • Pontos de extensão
    • Padrões para recursos personalizados
      • Somente dados
      • Compiladores
      • Operadores
      • Por onde começar
    • Resumo
  • Capítulo 17 Implantando aplicações no mundo real
    • Jupyter
    • Parse
      • Pré-requisitos
      • Construindo o parse-server
      • Implantando o parse-server
      • Testando o Parse
    • Ghost
      • Configurando o Ghost
    • Redis
      • Configurando o Redis
      • Criando um serviço Redis
      • Implantação do Redis
      • Testando o nosso cluster Redis
    • Resumo
  • Capítulo 18 Organizando a sua aplicação
    • Princípios que devem ser seguidos
      • Sistema de arquivos como fonte da verdade
      • A função da revisão de código
      • Flags e guardas para as funcionalidades
    • Gerenciando sua aplicação no sistema de controle de versões
      • Layout do sistema de arquivos
      • Gerenciando versões periódicas
    • Estruturando sua aplicação para desenvolvimento, testes e implantação
      • Metas
      • Progressão de uma release
    • Parametrizando sua aplicação com templates
      • Parametrizando com o Helm e com templates
      • Layout do sistema de arquivos para parametrização
    • Implantando sua aplicação pelo mundo
      • Arquiteturas para implantação no mundo todo
      • Implementando um deployment pelo mundo
      • Painéis de controle e monitoração de implantações pelo mundo
    • Resumo
  • Apêndice A Construindo um cluster Kubernetes com Raspberry Pis
Ver sumário completo ▼

Sobre os autores

Brendan Burns

Brendan Burns é um dos criadores do Kubernetes e Distinguished Engineer na Microsoft Azure, onde lidera equipes com foco em DevOps, Open Source e Microsserviços.… Ver perfil completo ▶

Joe Beda

Joe Beda é um dos criadores do Kubernetes e engenheiro-líder na VMware. Joe é cofundador da Heptio e atuou como CTO na empresa até ela ter sido adquirida pela VMware. Além disso, ajudou a direcionar a estratégia do Kubernetes na VMware.… Ver perfil completo ▶

Kelsey Hightower

Kelsey Hightower, Principal Developer Advocate do Google Cloud Platform, assumiu inúmero cargos durante sua carreira em tecnologia e gosta de posições de liderança com foco em lançamento de software.… Ver perfil completo ▶

Títulos relacionados