Escolar Documentos
Profissional Documentos
Cultura Documentos
Recife, 2022
Motivação
● Reciclagem de hardware
● Serviços open source self hosted
○ Gerenciador de senhas
○ Bots
● Medo empresarial do Baremetal
Introdução
Kubernetes
● Orquestração de containers
○ Praticidade
○ Resiliência
○ Organização
● Provedores na nuvem
○ AWS
○ Azure
○ Digital Ocean
● Provedores locais
○ K3s
○ Minikube
○ Kops
GitOps
● Iterações
● Incrementos
● Continuidade
● Automação
● Self-Service
● Colaboração
● Holismo
Infraestrutura como Código
● Automação do DevOps
● Self-Service
● Imperativa ou Declarativa
○ Ansible e ArgoCD
GitOps
● Git + DevOps
● Foco no desenvolvedor
● Abordagens Push ou Pull
GitOps Push
GitOps Pull
Metodologia
GQM
● Objetivos (Goals)
● Perguntas (Questions)
● Métricas (Metrics)
Objetivos
Permitir a colaboração remota de forma Quais acessos é preciso ter? Número total de acessos/credenciais necessárias
segura sensíveis
Melhorar a experiência de deploy de Qual o número de passos necessários Número de passos manuais para um usuário subir
uma aplicação para o desenvolvedor para subir uma aplicação? uma aplicação
Melhorar a experiência de manutenções Com qual frequência devo realizar Frequência mínima de manutenções
programadas para o administrador manutenções programadas?
Implementação
Instalação do Linux
● Ansible
○ Automação
○ Imperative GitOps
● IP estático
● Dependências
Configuração do Kubernetes
● Ansible
● K3s (Kubernetes para IoT)
○ Leve
○ Fácil de instalar e atualizar
● ArgoCD
○ Instalar
○ Cluster Bootstraping
Cluster Bootstraping
Experimentos e Análise
Arquitetura sem Gitops
Arquitetura com Gitops
Permitir a colaboração remota de forma segura
● Problemas
○ Acesso a rede local
○ Compartilhamento de credenciais
● Perguntas
○ Quais acessos precisamos?
○ Quais os problemas de segurança?
● Métricas
○ Número total de acessos/credenciais sensíveis
○ Lista de vulnerabilidades que podem ser exploradas
Quais acessos precisamos?
● Sem Gitops
○ Acesso a rede local
○ Acesso a senha do servidor
● Com GitOps
○ Nada sensível
Quais os problemas de segurança?
● Sem Gitops
○ Man in the middle attack
○ Spywares
○ DDoS
● Com GitOps
○ DDoS*
Resultados
● Problema
○ Número de passos para o deploy
● Sem GitOps
○ Acessar o servidor
○ Baixar artefato/imagem
○ Instalar dependências
○ Instalar aplicação
● Com GitOps
○ Abrir um Pull Request
Resultados
Ansible v2.10
K3s v1.24
ArgoCD v2.4
Debian v11.5
Frequência de lançamento de versões
novas em dias
Ansible 29
K3s 16
ArgoCD 7
Debian 78
Resultados
Recife, 2022