Leanpub Header

Skip to main content

Kubernetes para Todos

Construa um datacenter do zero

Kubernetes para Todos

A maioria dos livros de Kubernetes ensina YAML. Este ensina a construir um datacenter: você começa com #!/usr/bin/env bash e termina com um comando que provisiona, recarrega e desmonta um cluster completo. Sem mágica, sem caixas-pretas.

This book is a translation into Portuguese (Brazilian) of Kubernetes for All which was originally written in English

Minimum price

$19.00

$29.00

You pay

Author earns

$

Also available for 1 book credit with a Reader Membership

PDF
EPUB
WEB
APP
About

About

About the Book

A experiência do desenvolvedor é infraestrutura. A diferença entre uma equipe que entrega todo dia e outra que teme os deploys raramente é talento; quase sempre são as ferramentas: ciclos de feedback rápidos, deploys imutáveis, clusters que se autorreparam e sistemas observáveis.

A maioria dos tutoriais de Kubernetes para no kubectl apply. O que costuma faltar é o sistema que une tudo: um fluxo de trabalho repetível que cria um cluster em segundos, reconstrói imagens, recarrega serviços sem derrubar conexões e diz exatamente o que deu errado.

Kubernetes para Todos ensina Kubernetes do zero fazendo você construir uma plataforma cloud-native completa. Com um único script Bash, você cria seu próprio datacenter multinó, implanta aplicações, automatiza operações, implementa GitOps, adiciona observabilidade com Prometheus e Grafana e acompanha requisições com OpenTelemetry.

Você vai trabalhar com Kind, Helm, Pods, Deployments, Services, Ingress, ConfigMaps, Secrets, Persistent Volumes, StatefulSets e a API do Kubernetes. No final, o script datacenter.sh implantará 16 microsserviços, PostgreSQL, Kafka em modo KRaft e um frontend web.

Para engenheiros que querem ferramentas de Kubernetes que possam entender, modificar e em que possam confiar. Não é necessária experiência prévia: apenas Docker, Kind, um terminal e vontade de construir algo real.

Share this book

This book is a translation into Portuguese (Brazilian) of Kubernetes for All which was originally written in English

Author

About the Author

Joel Bryan Juliano

Hi, I'm Joel.

I am Dutch-Filipino Software Engineer with 20+ years of experience.

And with over 20 years in the game, I’ve seen it all and loved every minute of it.

My journey has taken me through a variety of industries, from sports streaming to cybersecurity, both in the private sector and for the Dutch government, and everything in between.

Along the way, I’ve picked up a diverse set of skills and experiences, in which I document into books.

Translations

Translations

Contents

Table of Contents

Introdução: Colando o Kubernetes com Bash

  1. Pré-requisitos
  2. Por que Bash?
  3. O que Vamos Construir
  4. O Ponto de Entrada: setup.sh
  5. Iniciando datacenter.sh
  6. Exercícios Práticos

Configurações de Segurança, Inicialização e Hooks de Ciclo de Vida

  1. Opções Globais de Set
  2. Lint em Seus Scripts Shell: shellcheck
  3. Inicialização do Script
  4. O Controlador Principal
  5. Manipulador de Erros
  6. Manipulador de Saída
  7. Juntando Tudo
  8. Exercícios Práticos

Códigos de Saída e Saídas Controladas

  1. A Função script_exit
  2. Convenções de Código de Saída
  3. Revisão de Padrões de Segurança Bash
  4. Script Atualizado
  5. Exercícios Práticos

Modo Cron e Redirecionamento de E/S

  1. O Que o Modo Cron Faz
  2. Descritores de Arquivo
  3. Redirecionando para o Modo Cron
  4. Atualizando o Manipulador de Erros
  5. Atualizando o Manipulador de Saída
  6. Registrando cron_init em main
  7. Script Atualizado
  8. Exercícios Práticos

O Padrão de Biblioteca: Organizando uma Base de Código Bash

  1. O Diretório lib/
  2. Carregando Bibliotecas em main
  3. Escrevendo um Arquivo de Biblioteca
  4. Convenções de Nomenclatura
  5. O Grafo de Dependências
  6. Duas Bibliotecas Utilitárias que Vale a Pena Conhecer
  7. Exercícios Práticos

Cores do Terminal e Logging

  1. A Biblioteca de Logging
  2. Inicialização de Cores
  3. A Função log
  4. verbose_print — Saída em Modo Verboso
  5. Atualizando o init
  6. Atualizando o main
  7. Atualizando o Manipulador de Erros
  8. Exercícios Práticos

Auxiliares de Validação e Verificações de Binários

  1. lib/script.sh
  2. check_binary — Detecção de Ferramenta Necessária
  3. check_required_binaries — Pré-condições do Sistema
  4. is_kind — Detecção de Modo
  5. check_arguments — Validação de Presença de Variável
  6. check_directories — Validação de Caminho
  7. check_files — Validação de Presença de Arquivo
  8. check_repos — Guarda de Presença de Repositórios
  9. build_path — Construção de PATH
  10. Usando os Auxiliares na Cadeia init
  11. Exercícios Práticos

Gerenciamento de Configuração

  1. O Arquivo de Configuração
  2. lib/config.sh
  3. get_configurations — Configuração Interativa
  4. Lendo a Configuração em main
  5. Modos de Rede Docker
  6. Exercícios Práticos

Bloqueio de Script: Prevenindo Execuções Concorrentes

  1. Por Que um Diretório, Não um Arquivo
  2. lock_init
  3. Tratamento de Bloqueios Obsoletos
  4. Hands-On Exercises

Análise Completa de Parâmetros

  1. parse_params
  2. script_usage — O Texto de Ajuda
  3. Conectando parse_params a main
  4. Exercícios Práticos

Modo Local e Gerenciamento do Cluster Kind

  1. Por Que Kind
  2. lib/kind.sh
  3. start_env — Criando um Cluster Kind
  4. stop_env — Parando o Cluster
  5. delete_env — Destruindo o Cluster
  6. Carregando Imagens no Kind
  7. Sem Troca de Ambiente Docker
  8. Hands-On Exercises

Operações Docker

  1. lib/docker.sh
  2. safe_docker — O Wrapper Base
  3. safe_docker_build — Construindo Imagens
  4. safe_docker_run — Executando Contêineres
  5. Carregando Imagens no Kind
  6. Operações Docker Compose
  7. docker_cleanup — Removendo Contêineres e Imagens Mortos
  8. Exercícios Práticos

Kubernetes com kubectl

  1. lib/kubectl.sh
  2. safe_kubectl — O Wrapper Base
  3. kubectl_install_resource_from_file
  4. kubectl_install_database — Configuração do PostgreSQL
  5. kubectl_restart — Reinicialização Progressiva
  6. Gerenciamento de DNS
  7. Reinicializando Todos os Deployments
  8. Exercícios Práticos

Helm: Gerenciamento de Pacotes para Kubernetes

  1. lib/helm.sh
  2. safe_helm — O Wrapper Base
  3. Helm Charts em k8s/
  4. helm_install_service — Instalador Genérico de Serviços
  5. helm_install_core_service — Serviços Baseados em Template
  6. Instalar Releases de Configuração
  7. Funções de Atualização — Upgrades no Local
  8. Traefik — O Controlador de Ingress
  9. Exercícios Práticos

Construindo Serviços

  1. O Pipeline de Build
  2. lib/build.sh
  3. build_service — A Função Central de Build
  4. Funções de Grupo de Serviço
  5. build_images_init — O Despachante de Build
  6. lib/install_deps.sh
  7. check_registry
  8. Exercícios Práticos

Provisionamento do Zero

  1. Arquitetura do Sistema
  2. A Sequência Completa de Provisionamento
  3. Passo a Passo
  4. Funções de Suporte
  5. Parâmetros do Cluster Kubernetes
  6. Referência de Manifestos Kubernetes
  7. Exercícios Práticos
  8. Como é o Sucesso

Operações de Recarga e Recuperação

  1. lib/reload_services.sh
  2. reload_services — Atualização Leve de Serviço
  3. reload_services_init — O Despachante de Recarga
  4. lib/reload_kubernetes.sh
  5. reload_all_kubernetes — Reconstrução Completa do Cluster
  6. Exercícios Práticos

Desmontagem e Limpeza

  1. Parando o Ambiente
  2. Excluindo o Ambiente
  3. Desmontagem Completa do Kubernetes
  4. Limpeza Docker
  5. O Manipulador de Saída: Versão Completa
  6. Juntando o Script Completo
  7. A Função main() Completa
  8. A Função init Completa
  9. O Ciclo de Vida Completo
  10. A Experiência de Desenvolvimento Que Você Construiu
  11. Exercícios Práticos

GitOps com ArgoCD

  1. lib/argocd.sh
  2. safe_argocd — O Wrapper Base
  3. helm_install_argocd — Instalando o Controller
  4. argocd_wait_ready — Confirmando a Inicialização
  5. argocd_login — Autenticando a CLI
  6. argocd_create_app — Registrando uma Application
  7. argocd_sync — Disparando um Sync
  8. argocd_wait_healthy — Aguardando a Conclusão do Sync
  9. argocd_delete_app — Removendo uma Application
  10. Integrando o ArgoCD ao datacenter.sh
  11. Uma Nota sobre o OpenShift
  12. Exercícios Práticos

Métricas e Dashboards com Prometheus e Grafana

  1. lib/monitoring.sh
  2. helm_install_monitoring — A Stack Completa
  3. monitoring_wait_ready — Confirmando a Inicialização
  4. monitoring_port_forward — Acesso Local
  5. monitoring_apply_servicemonitor — Scrape dos Seus Serviços
  6. monitoring_get_grafana_password — Recuperação de Credenciais
  7. Integrando o Monitoramento ao datacenter.sh
  8. O que o kube-prometheus-stack Oferece
  9. Exercícios Práticos

Rastreamento Distribuído com OpenTelemetry

  1. lib/otel.sh
  2. safe_otel — O Wrapper Base
  3. helm_install_otel_operator — Instalando o Operator
  4. otel_wait_ready — Confirmando que o Operator Está em Execução
  5. otel_apply_collector — Implantando o Collector
  6. otel_apply_instrumentation — Auto-Instrumentação sem Código
  7. otel_wait_collector_ready — Confirmando o Collector
  8. Grafana Tempo — O Backend de Traces
  9. Integrando o OTel ao datacenter.sh
  10. Conectando Traces, Métricas e Logs
  11. Exercícios Práticos

Apêndice: Referência de Comandos datacenter.sh

  1. setup.sh
  2. datacenter.sh
  3. Códigos de Saída
  4. Parâmetros Encadeáveis vs Não-Encadeáveis
  5. Fluxos de Trabalho Comuns
  6. Solução de Problemas

Glossário

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub