@waldyrfelix
@waldyrfelix
@waldyrfelix
dev.to/wfelix
Head de Arquitetura de Software no
LinkApi, mais de 13 anos
desenvolvendo produtos escaláveis,
eterno estudante, professor e
palestrante.
Kubernetes
Kubernetes é uma plataforma que gerencia serviços em
forma de containers, que facilita configuração e automação
de ambientes.
Kubernetes vem de 15 anos de experiência do Google
automatizando, gerenciando e escalando ambientes em
produção. Hoje em dia o Kubernetes é open source.
+
Anatomia dos microsserviços
Evolução dos ambientes
Continuous integration (CI) e continuous
deployment (CD) de forma confiável e
frequente com fácil e rápido build e rollback.
Separação de responsabilidades de dev e
devops, pois a imagem do container é criada
em tempo de desenvolvimento e não quando
o deploy é realizado.
Ambiente da aplicação consistente em todas as
fases de desenvolvimento, teste e produção.
O que executa no notebook do dev é exatamente
igual ao que executa no ambiente de QA e
produção.
Permite que as aplicações sejam divididas em
pedaços menores, que podem ser gerenciados e
escalados independentemente.
Foco na aplicação e não na infraestrutura
ou no sistema operacional.
Cria um nível de abstração que permite
portabilidade para qualquer ambiente.
Funcionamento do Kubernetes (K8s)
Tudo é controlado pela CLI
Nodes
Representam uma máquina física ou
virtual que faz parte de um cluster
Kubernetes.
Pods
Grupo de um ou mais containers que
compartilham o mesma rede e disco.
Os pods são a menor unidade gerenciável
do Kubernetes.
Services
Encapsulam um conjunto de Pods de um
mesmo tipo provendo um serviço para os
clientes externos.
Deployments
Representam o estado atual da aplicação
sendo executada dentro do cluster.
Demonstração
na prática
github.com/waldyrfelix/rocketseat-kubernetes
λ kubectl version
Obrigado :)
dev.to/wfelix
insta / twitter / linkedin
@waldyrfelix

Kubernetes: Escalando containers do Docker