SlideShare uma empresa Scribd logo
Meetup
Containers em produção!
● Evandro Couto - (vandocouto);
● Coordenador de infraestrutura de TI - (iCasei);
● Evangelista da cultura DevOps - (Estabilis);
● Cerca de 14 anos de experiência em tecnologia da
informação;
● Entusiasta de novas tecnologias;
Palestrante
Linkedin - Github - Gmail: /vandocouto
O que é um Container ?
● É um conjunto de processos que são isolados do resto do sistema.
(Junção do cgroups + namespaces).
● Esses processos são executados a partir de uma imagem distinta que fornece
todos os arquivos necessários.
● Uma imagem pode ser construída através de um arquivo (Dockerfile).
● Neste arquivo deverá conter uma série de instruções, comandos e passos.
Como surgiram os Container ?
● Os Containers surgiram inicialmente em meados de 2000 com o FreeBSD Jail;
● É uma tecnologia que permite particionar um sistema em vários subsistemas ou
“Jails”;
● Os jails foram desenvolvidos como ambientes seguros que podiam ser
compartilhados;
Tipos de containers
● O LXC (Linux Containers) é um método de virtualização a nível de sistema
operacional que permite executar múltiplos Sistemas Linux (containers).
(com o objetivo de ser uma alternativa ao chroots).
● OpenVZ (Open Virtuozzo) é uma tecnologia de virtualização de nível de sistema
operacional. Permite que um servidor físico possa executar múltiplas instâncias de
sistema operacional, conhecidas também como (containers).
●
Docker em Cena!
● Em 2008, o Docker entrou em cena (por meio do dotCloud) com sua tecnologia de
container;
● A tecnologia docker é uma combinação do trabalho do LXC com as ferramentas
aprimoradas para desenvolvedores, aumentando, assim, a facilidade da utilização;
● Usando o Docker, você pode facilmente gerenciar suas aplicações, agilizando o
processo construção, manutenção e modificação dos seus serviços.
Por que utilizar Containers ?
● Alta Disponibilidade;
● Escalabilidade;
● Economia de recursos;
● Fácil gestão;
● Portabilidade;
● Velocidade;
Gigantes em Cena!
Clusterização - Swarm
● O Docker Swarm é uma ferramenta nativa do Docker que permite a criação de
clusters Docker.
● O Docker Swarm foi projetado em torno de quatro princípios fundamentais:
○ Simples
○ Poderosos
○ Arquitetura resiliente
○ Zero de ponto único de falha
Clusterização - Kubernetes
● O Kubernetes é o orquestrador pronto para produção, baseia-se na extensa
experiência do Google, com contribuições da red hat, hoje mantido pela CNCF
(Cloud Native Computing Foundation).
○ Fornece uma gama de componentes e ferramentas para administração de
containers.
○ Seus pontos fortes estão no crescimento flexível, na portabilidade agnóstica do
ambiente e na escalabilidade.
○ Possui seu próprio gerenciador de aplicativos/plugins (helm).
Comparando Swarm / Kubernetes
● Embora ambos os orquestradores oferecem uma grande parte da mesma
funcionalidade, existem diferenças fundamentais entre o modo como os dois
operam.
Docker Swarm
● Fácil e rápido para instalar e configurar.
● Com Swarm, a inclusão de um nó, é simples e rápido.
● Possui flexibilidade, permitindo que qualquer novo nó, se una ao cluster.
● Sua API fornece grande parte das funcionalidades.
Kubernetes
● Requer mais trabalho na implantação.
● Existe uma série de configurações "manuais" para unir seus componentes.
● É preciso conhecimentos de administração de Sistema (SysAdmin) para
implantação Bare Metal.
● Depende de outros Softwares, para compor todas as funcionalidades de um cluster.
Scalability - High availability - Load balance
● Ambos fornecem todos os recursos necessários de um cluster.
○ Scalability
■ kubectl scale --replicas=3 helloworld
■ docker service scale helloworld=5
○ High availability
■ kubectl get nodes
■ docker node ls
○ Load balance
■ kubectl expose deployment
■ docker service create
Update e Rollback
● Docker Swarm:
○ A atualização é lançada por etapas, impedindo a interrupção do serviço e
permitindo a reversão se algo der errado.
● Kubernetes:
○ A atualização é sobre o monitoramento progressivo, verificando a saúde do
serviço, mantendo a disponibilidade durante o processo de atualização.
Volumes
● Os volumes são diretórios compartilhados dentro de um ou mais containers / pods.
● Os volumes são criados separadamente ou em um conjunto que podem ser
compartilhado entre vários containers / pods.
● O Kubernetes e o Swarm suportam diversos tipos de volumes.
Docker Swarm - Network
● Docker Swarm forma uma rede de sobreposição (ingress) multi-host que interliga
todo o cluster.
● As conexões entre nós também são automaticamente protegidas através da
autenticação TLS com certificados.
Kubernetes - Network
● Com o Kubernetes é possível escolher qual o tipo do gerenciador de redes (Calico,
Flannel, Weave e outros mais).
● Os contêineres são integrados em uma rede virtual e anunciados através do ETCD
(banco de dados chave/valor).
● A autenticação TLS também é possível, mas exige que os certificados sejam
gerados e instalados manualmente em todos os nós.
Prós e Contras
● Docker Swarm:
○ Prós
■ Configuração fácil e rápida
■ Funciona com outras ferramentas Docker existentes
■ Instalação leve
○ Contras
■ Limitado em funcionalidade
■ Tolerância de falha limitada
Prós e Contras
● Kubernetes:
○ Prós
■ Código fonte aberto
■ Funciona bem em qualquer sistema operacional
■ Fácil organização dos serviços
■ Apoiado pelo Google
○ Contras
■ Complexo para instalar e configurar (Vem diminuindo)
■ Curva de aprendizado é maior
Kops
● KOPS - “O kubect para gerenciar clusters Kubernetes”.
○ O Kops tem como função ajudar a criar, destruir, atualizar e manter clusters
Kubernetes.
○ Suportado atualmente na Amazon AWS
○ Google Cloud - Ainda em BETA
○ VMware vSphere - Ainda em ALFA
Por onde começar ?
● Links oficiais:
○ https://www.docker.com/
○ https://kubernetes.io/
● Links que recomendo:
○ https://www.facebook.com/linuxtipsbr
○ https://github.com/gomex/docker-para-desenvolvedores
○ https://churrops.io/
○ http://tutoriaisgnulinux.com/
Links dos projetos
● Link do projeto Kubernetes com KOPS Meetup2:
○ https://github.com/vandocouto/Meetup2-Churrops.git
● Link do projeto para Deploy do Container:
○ https://github.com/vandocouto/meetup-projeto1
Mão na massa!
Deploy Continuous
● Link do projeto Kubernetes com KOPS Meetup2:
○ https://github.com/vandocouto/Meetup2-Churrops.git
● Link do projeto para Deploy do Container:
○ https://github.com/vandocouto/meetup-projeto1
Obrigado!

Mais conteúdo relacionado

Mais procurados

Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
Hugo Leonardo Costa e Silva
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
Marcel Cattaneo
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
Marcel Cattaneo
 
iBeer: Docker
iBeer: DockeriBeer: Docker
iBeer: Docker
Diego Negrelli
 
Verdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerVerdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre Docker
Luís Bianchin
 
Docker fundamentos
Docker fundamentosDocker fundamentos
Docker fundamentos
João Leonardo Lemos Buzzo
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
Matheus Fidelis
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e Kubernetes
Willian Azevedo
 
Olá docker
Olá dockerOlá docker
Olá docker
Marcos Ellys
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
Michael Castillo Granados
 
Docker - Básico
Docker - BásicoDocker - Básico
Docker - Básico
Thiago Garcia Alves
 
Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
MOSS Open Source Services
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Renato Groff
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
Fabio Janiszevski
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
Mauricio Martins
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
André Justi
 
Docker
DockerDocker
Docker meetup
Docker meetupDocker meetup
Docker meetup
Bianca Cristina
 
Docker: ganhe tempo e seja eficiente na entrega de serviços de TI
Docker: ganhe tempo e seja eficiente na entrega de serviços de TIDocker: ganhe tempo e seja eficiente na entrega de serviços de TI
Docker: ganhe tempo e seja eficiente na entrega de serviços de TI
Ricardo Ferreira Costa
 
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Renato Groff
 

Mais procurados (20)

Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
 
iBeer: Docker
iBeer: DockeriBeer: Docker
iBeer: Docker
 
Verdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerVerdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre Docker
 
Docker fundamentos
Docker fundamentosDocker fundamentos
Docker fundamentos
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e Kubernetes
 
Olá docker
Olá dockerOlá docker
Olá docker
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
 
Docker - Básico
Docker - BásicoDocker - Básico
Docker - Básico
 
Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Docker
DockerDocker
Docker
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
 
Docker: ganhe tempo e seja eficiente na entrega de serviços de TI
Docker: ganhe tempo e seja eficiente na entrega de serviços de TIDocker: ganhe tempo e seja eficiente na entrega de serviços de TI
Docker: ganhe tempo e seja eficiente na entrega de serviços de TI
 
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
 

Semelhante a Containers em produção!

DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017
Jonathan Baraldi
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com Docker
Aécio Pires
 
Docker + Kubernetes (devOps)
Docker + Kubernetes (devOps)Docker + Kubernetes (devOps)
Docker + Kubernetes (devOps)
Andre Straube
 
Aplicações poderosas e elegantes aprenda a usar Kubernetes
Aplicações poderosas e elegantes aprenda a usar KubernetesAplicações poderosas e elegantes aprenda a usar Kubernetes
Aplicações poderosas e elegantes aprenda a usar Kubernetes
Valdomiro Bilharvas
 
Docker
DockerDocker
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Renato Groff
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Renato Groff
 
Orquestração de containers com Rancher
Orquestração de containers com RancherOrquestração de containers com Rancher
Orquestração de containers com Rancher
Alex Ishida
 
Seguranca - docker
Seguranca - dockerSeguranca - docker
Seguranca - docker
Stefani Lima
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes
Rhuan Karlus Silva
 
Flisol 2015
Flisol 2015 Flisol 2015
Flisol 2015
Ricardo Martins ☁
 
Terraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWSTerraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWS
Leandro Freitas
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
André Justi
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Renato Groff
 
iBeer #15 - Docker
iBeer #15 - DockeriBeer #15 - Docker
iBeer #15 - Docker
DCX Resource IT
 
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
Aécio Pires
 
Docker e outras ferramentas Devops
Docker e outras ferramentas DevopsDocker e outras ferramentas Devops
Docker e outras ferramentas Devops
Cristian Trucco
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
dadalt1
 
Docker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimentoDocker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimento
Marcela Carvalho
 
Workshop Docker
Workshop DockerWorkshop Docker
Workshop Docker
Rafael Gomes
 

Semelhante a Containers em produção! (20)

DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com Docker
 
Docker + Kubernetes (devOps)
Docker + Kubernetes (devOps)Docker + Kubernetes (devOps)
Docker + Kubernetes (devOps)
 
Aplicações poderosas e elegantes aprenda a usar Kubernetes
Aplicações poderosas e elegantes aprenda a usar KubernetesAplicações poderosas e elegantes aprenda a usar Kubernetes
Aplicações poderosas e elegantes aprenda a usar Kubernetes
 
Docker
DockerDocker
Docker
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
 
Orquestração de containers com Rancher
Orquestração de containers com RancherOrquestração de containers com Rancher
Orquestração de containers com Rancher
 
Seguranca - docker
Seguranca - dockerSeguranca - docker
Seguranca - docker
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes
 
Flisol 2015
Flisol 2015 Flisol 2015
Flisol 2015
 
Terraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWSTerraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWS
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
 
iBeer #15 - Docker
iBeer #15 - DockeriBeer #15 - Docker
iBeer #15 - Docker
 
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
 
Docker e outras ferramentas Devops
Docker e outras ferramentas DevopsDocker e outras ferramentas Devops
Docker e outras ferramentas Devops
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Docker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimentoDocker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimento
 
Workshop Docker
Workshop DockerWorkshop Docker
Workshop Docker
 

Containers em produção!

  • 2. ● Evandro Couto - (vandocouto); ● Coordenador de infraestrutura de TI - (iCasei); ● Evangelista da cultura DevOps - (Estabilis); ● Cerca de 14 anos de experiência em tecnologia da informação; ● Entusiasta de novas tecnologias; Palestrante Linkedin - Github - Gmail: /vandocouto
  • 3. O que é um Container ? ● É um conjunto de processos que são isolados do resto do sistema. (Junção do cgroups + namespaces). ● Esses processos são executados a partir de uma imagem distinta que fornece todos os arquivos necessários. ● Uma imagem pode ser construída através de um arquivo (Dockerfile). ● Neste arquivo deverá conter uma série de instruções, comandos e passos.
  • 4. Como surgiram os Container ? ● Os Containers surgiram inicialmente em meados de 2000 com o FreeBSD Jail; ● É uma tecnologia que permite particionar um sistema em vários subsistemas ou “Jails”; ● Os jails foram desenvolvidos como ambientes seguros que podiam ser compartilhados;
  • 5. Tipos de containers ● O LXC (Linux Containers) é um método de virtualização a nível de sistema operacional que permite executar múltiplos Sistemas Linux (containers). (com o objetivo de ser uma alternativa ao chroots). ● OpenVZ (Open Virtuozzo) é uma tecnologia de virtualização de nível de sistema operacional. Permite que um servidor físico possa executar múltiplas instâncias de sistema operacional, conhecidas também como (containers). ●
  • 6. Docker em Cena! ● Em 2008, o Docker entrou em cena (por meio do dotCloud) com sua tecnologia de container; ● A tecnologia docker é uma combinação do trabalho do LXC com as ferramentas aprimoradas para desenvolvedores, aumentando, assim, a facilidade da utilização; ● Usando o Docker, você pode facilmente gerenciar suas aplicações, agilizando o processo construção, manutenção e modificação dos seus serviços.
  • 7. Por que utilizar Containers ? ● Alta Disponibilidade; ● Escalabilidade; ● Economia de recursos; ● Fácil gestão; ● Portabilidade; ● Velocidade;
  • 9. Clusterização - Swarm ● O Docker Swarm é uma ferramenta nativa do Docker que permite a criação de clusters Docker. ● O Docker Swarm foi projetado em torno de quatro princípios fundamentais: ○ Simples ○ Poderosos ○ Arquitetura resiliente ○ Zero de ponto único de falha
  • 10. Clusterização - Kubernetes ● O Kubernetes é o orquestrador pronto para produção, baseia-se na extensa experiência do Google, com contribuições da red hat, hoje mantido pela CNCF (Cloud Native Computing Foundation). ○ Fornece uma gama de componentes e ferramentas para administração de containers. ○ Seus pontos fortes estão no crescimento flexível, na portabilidade agnóstica do ambiente e na escalabilidade. ○ Possui seu próprio gerenciador de aplicativos/plugins (helm).
  • 11. Comparando Swarm / Kubernetes ● Embora ambos os orquestradores oferecem uma grande parte da mesma funcionalidade, existem diferenças fundamentais entre o modo como os dois operam.
  • 12. Docker Swarm ● Fácil e rápido para instalar e configurar. ● Com Swarm, a inclusão de um nó, é simples e rápido. ● Possui flexibilidade, permitindo que qualquer novo nó, se una ao cluster. ● Sua API fornece grande parte das funcionalidades.
  • 13. Kubernetes ● Requer mais trabalho na implantação. ● Existe uma série de configurações "manuais" para unir seus componentes. ● É preciso conhecimentos de administração de Sistema (SysAdmin) para implantação Bare Metal. ● Depende de outros Softwares, para compor todas as funcionalidades de um cluster.
  • 14. Scalability - High availability - Load balance ● Ambos fornecem todos os recursos necessários de um cluster. ○ Scalability ■ kubectl scale --replicas=3 helloworld ■ docker service scale helloworld=5 ○ High availability ■ kubectl get nodes ■ docker node ls ○ Load balance ■ kubectl expose deployment ■ docker service create
  • 15. Update e Rollback ● Docker Swarm: ○ A atualização é lançada por etapas, impedindo a interrupção do serviço e permitindo a reversão se algo der errado. ● Kubernetes: ○ A atualização é sobre o monitoramento progressivo, verificando a saúde do serviço, mantendo a disponibilidade durante o processo de atualização.
  • 16. Volumes ● Os volumes são diretórios compartilhados dentro de um ou mais containers / pods. ● Os volumes são criados separadamente ou em um conjunto que podem ser compartilhado entre vários containers / pods. ● O Kubernetes e o Swarm suportam diversos tipos de volumes.
  • 17. Docker Swarm - Network ● Docker Swarm forma uma rede de sobreposição (ingress) multi-host que interliga todo o cluster. ● As conexões entre nós também são automaticamente protegidas através da autenticação TLS com certificados.
  • 18. Kubernetes - Network ● Com o Kubernetes é possível escolher qual o tipo do gerenciador de redes (Calico, Flannel, Weave e outros mais). ● Os contêineres são integrados em uma rede virtual e anunciados através do ETCD (banco de dados chave/valor). ● A autenticação TLS também é possível, mas exige que os certificados sejam gerados e instalados manualmente em todos os nós.
  • 19. Prós e Contras ● Docker Swarm: ○ Prós ■ Configuração fácil e rápida ■ Funciona com outras ferramentas Docker existentes ■ Instalação leve ○ Contras ■ Limitado em funcionalidade ■ Tolerância de falha limitada
  • 20. Prós e Contras ● Kubernetes: ○ Prós ■ Código fonte aberto ■ Funciona bem em qualquer sistema operacional ■ Fácil organização dos serviços ■ Apoiado pelo Google ○ Contras ■ Complexo para instalar e configurar (Vem diminuindo) ■ Curva de aprendizado é maior
  • 21. Kops ● KOPS - “O kubect para gerenciar clusters Kubernetes”. ○ O Kops tem como função ajudar a criar, destruir, atualizar e manter clusters Kubernetes. ○ Suportado atualmente na Amazon AWS ○ Google Cloud - Ainda em BETA ○ VMware vSphere - Ainda em ALFA
  • 22. Por onde começar ? ● Links oficiais: ○ https://www.docker.com/ ○ https://kubernetes.io/ ● Links que recomendo: ○ https://www.facebook.com/linuxtipsbr ○ https://github.com/gomex/docker-para-desenvolvedores ○ https://churrops.io/ ○ http://tutoriaisgnulinux.com/
  • 23. Links dos projetos ● Link do projeto Kubernetes com KOPS Meetup2: ○ https://github.com/vandocouto/Meetup2-Churrops.git ● Link do projeto para Deploy do Container: ○ https://github.com/vandocouto/meetup-projeto1
  • 25. Deploy Continuous ● Link do projeto Kubernetes com KOPS Meetup2: ○ https://github.com/vandocouto/Meetup2-Churrops.git ● Link do projeto para Deploy do Container: ○ https://github.com/vandocouto/meetup-projeto1