Gerenciando seu
cluster com Kubernetes
Uma introdução…
Sobre mim…
• Fazendo gambiarra com java
desde 2009…
• Formado pela Fatec-TQ e MBA
em Eng. de Softare pela FIAP-
SP
• Líder técnico de alguns times na
s2it
• Sempre pesquisando e
discutindo sobre engenharia de
software…
• Jogando algo quando sobra
tempo : )
!@#$Cluster!@#$
!@#$Container!@#$

!@#Kubernetes!@#
Cluster
Container

Kubernetes
Por que
containers ?
• Run anywhere

• Ambiente consistente

• Ocupa menos espaço

• Isolamento
• Kubernetes ou k8s (κυβερνήτης, em
grego significa “piloto”)

• Orquestrador de containers

• Suporte a multiplas soluções de cloud e
“bare-metal”.

• Inspirado e baseado nas experiências
do google e de seus sistemas internos

• Plataforma para automatizar entregas,
escalabilidade e operações de
aplicações espalhadas em mais de um
host
O que é Kubernetes
“Gerencia aplicações, não máquinas”
• Derivado do projeto BORG

• Opensource

• Escrito em GO

• Arquitetura cliente-servidor

• API utilizando json de fácil
integração
O que é Kubernetes
“Gerencia aplicações, não máquinas”
• Pods

• Deployments

• Services

• ReplicaSets

• Ingress

• etc…
Recursos
• Menor unidade de recursos
do k8s

• Criado pelo cliente e
alocado nos hosts

• Geralmente é criado em
função de outros recursos
Pods
• Utilizado para garantir que
sempre um determinado
numero de pods estejam
rodando

• Quando criado, leva a
criação de N pods, de
acordo com o especificado
ReplicaSet
• Cria ReplicaSets e Pods de
acordo com o especificado

• Torna os recursos criados
gerenciáveis pelo cluster
Deployments
• É a abstração de um serviço
de software

• Possui uma porta local onde
o proxy deve escutar

• Através dos labels,
determina quais pods vão
responder para uma
solicitação nesse serviço
Service
• Configuração de um
DaemonSet

• Faz com que esse daemon
execute em todos os nodes
do container.
DaemonSet
• Coleção de regras para
trafego de entrada

• Permite que os serviços
internos sejam expostos ao
mundo exterior

• Consegue definir dominios
para serviços e aplicações
distintas
Ingress
Demo
https://github.com/omegamendes/api-go-hostname.git
Referências
• https://www.docker.com/what-container

• https://super.abril.com.br/tecnologia/como-cai-um-aviao/

• https://www.aprendacloud.com.br/containers-docker-vms/

• https://medium.com/@anilktalla/why-container-virtualization-abb8bfc04048

• https://qconsp.com/system/files/presentation-slides/estendendo_o_kubernetes_-
_ricardo_katz.pdf

• https://kubernetes.io/docs/concepts/services-networking/ingress/

• https://github.com/nginxinc/kubernetes-ingress/tree/master/examples

• https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#ingresslist-v1beta1-
extensions

• https://github.com/omegamendes/api-go-hostname.git
Perguntas?
Valeu !
Twitter @omegamendes_

Github /omegamendes

Introdução ao Kubernetes

  • 1.
    Gerenciando seu cluster comKubernetes Uma introdução…
  • 2.
    Sobre mim… • Fazendogambiarra com java desde 2009… • Formado pela Fatec-TQ e MBA em Eng. de Softare pela FIAP- SP • Líder técnico de alguns times na s2it • Sempre pesquisando e discutindo sobre engenharia de software… • Jogando algo quando sobra tempo : )
  • 3.
  • 6.
    Por que containers ? •Run anywhere • Ambiente consistente • Ocupa menos espaço • Isolamento
  • 8.
    • Kubernetes ouk8s (κυβερνήτης, em grego significa “piloto”) • Orquestrador de containers • Suporte a multiplas soluções de cloud e “bare-metal”. • Inspirado e baseado nas experiências do google e de seus sistemas internos • Plataforma para automatizar entregas, escalabilidade e operações de aplicações espalhadas em mais de um host O que é Kubernetes “Gerencia aplicações, não máquinas”
  • 9.
    • Derivado doprojeto BORG • Opensource • Escrito em GO • Arquitetura cliente-servidor • API utilizando json de fácil integração O que é Kubernetes “Gerencia aplicações, não máquinas”
  • 11.
    • Pods • Deployments •Services • ReplicaSets • Ingress • etc… Recursos
  • 12.
    • Menor unidadede recursos do k8s • Criado pelo cliente e alocado nos hosts • Geralmente é criado em função de outros recursos Pods
  • 13.
    • Utilizado paragarantir que sempre um determinado numero de pods estejam rodando • Quando criado, leva a criação de N pods, de acordo com o especificado ReplicaSet
  • 14.
    • Cria ReplicaSetse Pods de acordo com o especificado • Torna os recursos criados gerenciáveis pelo cluster Deployments
  • 15.
    • É aabstração de um serviço de software • Possui uma porta local onde o proxy deve escutar • Através dos labels, determina quais pods vão responder para uma solicitação nesse serviço Service
  • 16.
    • Configuração deum DaemonSet • Faz com que esse daemon execute em todos os nodes do container. DaemonSet
  • 17.
    • Coleção deregras para trafego de entrada • Permite que os serviços internos sejam expostos ao mundo exterior • Consegue definir dominios para serviços e aplicações distintas Ingress
  • 18.
  • 19.
    Referências • https://www.docker.com/what-container • https://super.abril.com.br/tecnologia/como-cai-um-aviao/ •https://www.aprendacloud.com.br/containers-docker-vms/ • https://medium.com/@anilktalla/why-container-virtualization-abb8bfc04048 • https://qconsp.com/system/files/presentation-slides/estendendo_o_kubernetes_- _ricardo_katz.pdf • https://kubernetes.io/docs/concepts/services-networking/ingress/ • https://github.com/nginxinc/kubernetes-ingress/tree/master/examples • https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#ingresslist-v1beta1- extensions • https://github.com/omegamendes/api-go-hostname.git
  • 20.
  • 21.