O documento discute o uso do Kubernetes no SERPRO para criar uma plataforma chamada Estaleiro que fornece infraestrutura como serviço de forma escalável, segura e ágil. O Estaleiro visa resolver problemas de lentidão e falta de padronização na criação de infraestrutura e produção de serviços no SERPRO. Ele oferece plataforma, armazenamento e banco de dados como serviço usando containers gerenciados pelo Kubernetes.
2. Eu, rapidão :)
● CKA e LPIC3 (essa venceu…)
● Gerente de engenharia de
Nuvem no SERPRO - Projeto
Estaleiro
● Nesse mundo Linux desde
2004, no SERPRO desde
2009, mexendo com esses
trecos desde 2014
● Curioso, aficionado por aviação
● Corinthiano
● A carinha bonita do Projeto…
(pra vocês verem como só tem
gente feia no SERPRO!)
4. O problema que tentamos resolver
● Lentidão na criação de Infraestrutura
● Lentidão na resolução de problemas
● Diversidade de plataformas cada vez maior
● Soluções cada vez mais complexas
● Falta de um padrão de produção de serviços
● Crescimento exponencial de servidores
5.
6. O SERPRO precisa de uma nova
plataforma de produção de
serviços escalável, segura,
performática e ágil
8. Conceitos
● Container - Menor unidade existente no Host - Um PROCESSO
● Labels - Identificador para cada objeto no Kubernetes
● PODs - Objeto que representa o conjunto de 1 a N agregados, que
compartilham REDE, CPU e Memória, storage, etc - Uma aplicação
rodando (e a menor unidade em um Cluster Kubernetes)
● Services - Objeto que representa a abstração lógica para um conjunto de
PODs idênticos - 1 IP fixo que identifica 1 a N PODs
● Deployment - Objeto que controla um conjunto de PODs, quantidade de
réplicas, volumes, etc
● Network Policy - Objeto que controla permissões de comunicação de
PODs
11. O que é o Estaleiro?
● Nuvem privada para a produção de serviços desenvolvidos pelo SERPRO
● Maior poder e autonomia ao desenvolvimento
● Maior responsabilidade do desenvolvimento sobre os serviços produzidos
● Infraestrutura única para desenvolvimento, testes e produção dos serviços
● Padronização - maior agilidade na disponibilização de produtos
● Hoje: Plataforma, Armazenamento e Banco de Dados como Serviço
12. O que NÃO é o Estaleiro?
● Solução para aplicação lenta/bugada/com alto consumo de memória
● Suporte para qualquer arquitetura de aplicação
● Plataforma para experimentação de novas tecnologias
● Containers como Serviço
● Solução mágica para se colocar um sistema rapidamente em produção
20. E a segurança?
● DevSecOps
● Auditoria em todas as APIs
○ Graylog
● Segmentação de rede entre Containers com o uso de Calico
○ Network Policy restritiva para Ingress e Egress
○ Segregação lógica de ambientes Produção e Não Produção
● Cotas e limites implementados por padrão
● Análises periódicas de vulnerabilidades e pacotes das imagens
○ Clair, vulnscan, Anchore
22. Contribuições para a comunidade
● + 8 mil linhas de código devolvidas para a comunidade
● Novas funcionalidades no NGINX Ingress Controller
○ Sticky Session, autenticação mutua, Brotli, etc
● Novas ferramentas desenvolvidas - João Morais
○ Ingress HAProxy, Omaha Server,
● Novos módulos para o Beats / Elastic
○ https://www.elastic.co/blog/beats-6-0-0-released- @amandahla - Ceph, RabbitMQ,
vSphere
● Melhorias em produtos diversos
○ VMWare Harbor, Openshift s2i, cAdvisor
● Traduções, documentações