SlideShare uma empresa Scribd logo
Kubernetes
Iniciando com
Meetup GDG Uberlândia 2018
Diogo Alves Miranda Barbosa
Prazer meu nome é
Atualmente sou
● Arquiteto de Soluções na Cedro Technologies;
● Entusiasta pela cultura DevOps;
● Possuo 13 anos de experiência em diversas empresas de TI e possuo
certificações como AWS Solutions Architect, Ethical Hacker(CEH), LPI e
Outras…
● Atuo como Instrutor em alguns treinamentos profissionais para certificação
LPI;
Meetup GDG Uberlândia 2018
Não tem como falar de Kubernetes sem
falar sobre Containers Docker...
● Docker surgiu em meados de 2013 como alternativa para virtualização para isolar e empacotar
aplicações, basicamente o Docker funciona em uma camada do Kernel chamada LXC(Linux
Container) permitindo a execução de processos de maneira isolada parcialmente ou totalmente,
e atualmente substituído pela LibContainer.
● Containers Docker são criados baseados a partir de imagens hospedadas em repositórios
providos pela empresa chamado “Dockerhub”
https://hub.docker.com/
Meetup GDG Uberlândia 2018Meetup GDG Uberlândia 2018
O que é Kubernetes?
Solução “Open Source” desenvolvida pela Google para orquestração do
cluster de containers para atender apenas demandas internas da própria
empresa, em 2014 foi concedido todo o projeto para iniciativa “Cloud
Native Computing Foundation” que atua junto com a “Linux Foundation”.
https://www.cncf.io/ https://www.linuxfoundation.org/
Meetup GDG Uberlândia 2018Meetup GDG Uberlândia 2018
Benefícios do Kubernetes?
● Container sempre online: verifica a saúde da aplicação e recria o container se identificar alguma
anomalia.
● Autoscaling: obtém métricas e verifica se há necessidade de crescer horizontalmente.
● Descoberta de Serviço: containers recebem um endereço IP e conseguem enxergar um ao outro
por meio de uma rede virtual.
● Crescimento Horizontal: com um simples comando é possível aumentar o número de
containers da mesma imagem.
● Balanceador de Carga: utiliza load balancer para dividir a carga de requisições recebidas entre
os containers.
● Rollbacks automáticos: se algo der errado, Kubernetes volta automaticamente à versão anterior
da aplicação.
● Execução em Batch: permite rodar comandos em batch como containers.
Meetup GDG Uberlândia 2018Meetup GDG Uberlândia 2018
Como o Kubernetes Funciona
● Master = Host que gerencia
Minions e Pods no cluster;
● Minions ou Nodes = São os
hosts partes do cluster;
● Pods = Grupos de Containers.
Meetup GDG Uberlândia 2018Meetup GDG Uberlândia 2018
Chega de papo e
Mão na Massa
Meetup GDG Uberlândia 2018
Para esta receita vamos precisar….
● 03 hosts - Servidores(Físico ou Virtual)
● Docker(Pode ser a última versão)
● Kubeadm(Para construir o cluster)
● Kubectl(Para gerenciar o cluster)
● Kubelet(Cliente que é instalado no cluster para obter as informações)
Meetup GDG Uberlândia 2018
Servidores
● 03 hosts - Servidores
Vamos utilizar 03 servidores no Google Cloud usando Ubuntu 16.04 LTS
com a seguintes nomenclaturas e configurações:
- Master - 2GB RAM - 1 vCPU
- Node1 - 2GB RAM - 1 vCPU
- Node2 - 2GB RAM - 1 vCPU
Meetup GDG Uberlândia 2018
Instalando o Docker
● Execute o seguinte comando:
# curl -fsSL https://get.docker.com | bash
● Verificando a versão do Docker:
# docker --version
Meetup GDG Uberlândia 2018
Atualizando o Sistema e pré requisitos
● Execute o seguinte comando:
# apt-get update && apt-get install -y apt-transport-https
● Instalando a chave para o repositório do Kubernetes
# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg |
apt-key add -
Meetup GDG Uberlândia 2018
Atualizando o Sistema e pré requisitos
● Configurar o repositório do kubernetes:
# echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" >
/etc/apt/sources.list.d/kubernetes.list
● Atualizando o Sistema operacional:
# apt-get update
Meetup GDG Uberlândia 2018
E por fim instalando o Kubernetes
● Execute o seguinte comando:
# apt-get install -y kubelet kubeadm kubectl
Meetup GDG Uberlândia 2018
Iniciando o cluster
● Execute o seguinte comando:
# kubeadm init --apiserver-advertise-address $(hostname -i)
aguardar a saída...
Meetup GDG Uberlândia 2018
Iniciando o cluster
● Execute o seguinte comando:
# mkdir -p $HOME/.kube
# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# chown $(id -u):$(id -g) $HOME/.kube/config
Meetup GDG Uberlândia 2018
Configurando a rede virtual do cluster
● Execute o seguinte comando:
# kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64
| tr -d 'n')"
Meetup GDG Uberlândia 2018
Adicionando Minions ao Cluster
● Execute o seguinte comando:
# kubeadm join --token 39c341.a3bc3c4dd49758d5 IP_DO_MASTER:6443
--discovery-token-ca-cert-hash sha256:37092
Meetup GDG Uberlândia 2018
Gerenciando o Cluster
● Verificar se todos os nodes do nosso cluster estão ok:
# kubectl get nodes
# kubectl describe node node-name
Meetup GDG Uberlândia 2018
Gerenciando o Cluster
● Está ruim de ficar digitando? use o auto-complete:
# source <(kubectl completion bash)
Meetup GDG Uberlândia 2018
Gerenciando o Cluster
● Verificar se todos os Pods do nosso cluster estão ok::
# kubectl get pods
# kubectl get pods -n kube-system -o wide
Meetup GDG Uberlândia 2018
Finalmente nosso primeiro Deploy!
● Vamos subir nosso primeiro pod:
# kubectl run gdg-nginx --image nginx
# kubectl get deployments
Meetup GDG Uberlândia 2018
Escalando nosso Pod
● Execute o comando abaixo:
# kubectl scale deployment gdg-nginx --replicas=10
Meetup GDG Uberlândia 2018
Expondo nosso Pod
● Execute o comando abaixo:
# kubectl run gdg-nginx --image=nginx --port=80
--image-pull-policy=Never
# kubectl expose deployment gdg-nginx --type=LoadBalancer
Meetup GDG Uberlândia 2018
Deletando nosso Pod
● Execute o comando abaixo:
# kubectl delete deployment gdg-nginx
Meetup GDG Uberlândia 2018
Dúvidas
Meetup GDG Uberlândia 2018
Kubernetes
Então #partiu ?
Meetup GDG Uberlândia 2018
Contatos
diogo.alves.barbosa@gmail.com
Instagram: @diogo.alvesoficial
linkedin.com/in/diogoalvesbarbosa
Referências:
https://kubernetes.io/docs/tutorials/kubernetes-basics/
https://kubernetes.io/docs/setup/independent/install-kubeadm/
Meetup GDG Uberlândia 2018

Mais conteúdo relacionado

Mais procurados

Kubernetes New Contributors Workshop - Brasil 2022
Kubernetes New Contributors Workshop - Brasil 2022Kubernetes New Contributors Workshop - Brasil 2022
Kubernetes New Contributors Workshop - Brasil 2022
Ricardo Katz
 
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
tdc-globalcode
 
Drupal Camp CI&T - Kubernetes and Google Container Engine
Drupal Camp CI&T - Kubernetes and Google Container EngineDrupal Camp CI&T - Kubernetes and Google Container Engine
Drupal Camp CI&T - Kubernetes and Google Container Engine
Francis Fernandes da Luz
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
Renato Groff
 
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
 
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
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
tdc-globalcode
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unha
tdc-globalcode
 
Docker
DockerDocker
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
 
Workshop Docker
Workshop DockerWorkshop Docker
Workshop Docker
Rafael Gomes
 
iBeer: Docker
iBeer: DockeriBeer: Docker
iBeer: Docker
Diego Negrelli
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
Evandro Couto
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting docker
Rafael Gomes
 
Bem vindo ao Docker
Bem vindo ao DockerBem vindo ao Docker
Bem vindo ao Docker
Leonardo de Oliveira
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
Rafael Gomes
 
Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
MOSS Open Source Services
 
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Renato Groff
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
Tobias Sette
 

Mais procurados (19)

Kubernetes New Contributors Workshop - Brasil 2022
Kubernetes New Contributors Workshop - Brasil 2022Kubernetes New Contributors Workshop - Brasil 2022
Kubernetes New Contributors Workshop - Brasil 2022
 
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
 
Drupal Camp CI&T - Kubernetes and Google Container Engine
Drupal Camp CI&T - Kubernetes and Google Container EngineDrupal Camp CI&T - Kubernetes and Google Container Engine
Drupal Camp CI&T - Kubernetes and Google Container Engine
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
 
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
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unha
 
Docker
DockerDocker
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
 
Workshop Docker
Workshop DockerWorkshop Docker
Workshop Docker
 
iBeer: Docker
iBeer: DockeriBeer: Docker
iBeer: Docker
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting docker
 
Bem vindo ao Docker
Bem vindo ao DockerBem vindo ao Docker
Bem vindo ao Docker
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
 
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
 

Semelhante a Iniciando com kubernetes

ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
Renato Groff
 
Criando operators para kubernetes usando go
Criando operators para kubernetes usando goCriando operators para kubernetes usando go
Criando operators para kubernetes usando go
Matheus Moraes
 
Curso de Verão - Aula 02 - Orquestração de Contêineres
Curso de Verão - Aula 02 - Orquestração de ContêineresCurso de Verão - Aula 02 - Orquestração de Contêineres
Curso de Verão - Aula 02 - Orquestração de Contêineres
GuilhermeJorgeAragod
 
k6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetes
k6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetesk6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetes
k6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetes
Kelvin Silva
 
Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag...
Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag...Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag...
Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag...
Renato Groff
 
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
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
Evandro Silvestre
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
dadalt1
 
Publicando WSO2 API Manager no Kubernetes (Portuguese)
Publicando WSO2 API Manager no Kubernetes (Portuguese)Publicando WSO2 API Manager no Kubernetes (Portuguese)
Publicando WSO2 API Manager no Kubernetes (Portuguese)
WSO2
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
Marcelo Santos
 
DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017
Jonathan Baraldi
 
Beers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoBeers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualização
Carlos Smaniotto
 
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Renato Groff
 
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
Renato Groff
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linha
matheuscmpm
 
Escalonando o mundo com kubernetes
Escalonando o mundo com kubernetesEscalonando o mundo com kubernetes
Escalonando o mundo com kubernetes
Mundo Docker
 
Acelerando sua startup com kubernetes
Acelerando sua startup com kubernetesAcelerando sua startup com kubernetes
Acelerando sua startup com kubernetes
Valdomiro Bilharvas
 
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
Renato Groff
 
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaKubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Renato Groff
 
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
 

Semelhante a Iniciando com kubernetes (20)

ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
 
Criando operators para kubernetes usando go
Criando operators para kubernetes usando goCriando operators para kubernetes usando go
Criando operators para kubernetes usando go
 
Curso de Verão - Aula 02 - Orquestração de Contêineres
Curso de Verão - Aula 02 - Orquestração de ContêineresCurso de Verão - Aula 02 - Orquestração de Contêineres
Curso de Verão - Aula 02 - Orquestração de Contêineres
 
k6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetes
k6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetesk6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetes
k6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetes
 
Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag...
Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag...Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag...
Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag...
 
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...
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Publicando WSO2 API Manager no Kubernetes (Portuguese)
Publicando WSO2 API Manager no Kubernetes (Portuguese)Publicando WSO2 API Manager no Kubernetes (Portuguese)
Publicando WSO2 API Manager no Kubernetes (Portuguese)
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017
 
Beers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoBeers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualização
 
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
 
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linha
 
Escalonando o mundo com kubernetes
Escalonando o mundo com kubernetesEscalonando o mundo com kubernetes
Escalonando o mundo com kubernetes
 
Acelerando sua startup com kubernetes
Acelerando sua startup com kubernetesAcelerando sua startup com kubernetes
Acelerando sua startup com kubernetes
 
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
 
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaKubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
 
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
 

Último

Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 

Último (8)

Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 

Iniciando com kubernetes

  • 2. Diogo Alves Miranda Barbosa Prazer meu nome é Atualmente sou ● Arquiteto de Soluções na Cedro Technologies; ● Entusiasta pela cultura DevOps; ● Possuo 13 anos de experiência em diversas empresas de TI e possuo certificações como AWS Solutions Architect, Ethical Hacker(CEH), LPI e Outras… ● Atuo como Instrutor em alguns treinamentos profissionais para certificação LPI; Meetup GDG Uberlândia 2018
  • 3. Não tem como falar de Kubernetes sem falar sobre Containers Docker... ● Docker surgiu em meados de 2013 como alternativa para virtualização para isolar e empacotar aplicações, basicamente o Docker funciona em uma camada do Kernel chamada LXC(Linux Container) permitindo a execução de processos de maneira isolada parcialmente ou totalmente, e atualmente substituído pela LibContainer. ● Containers Docker são criados baseados a partir de imagens hospedadas em repositórios providos pela empresa chamado “Dockerhub” https://hub.docker.com/ Meetup GDG Uberlândia 2018Meetup GDG Uberlândia 2018
  • 4. O que é Kubernetes? Solução “Open Source” desenvolvida pela Google para orquestração do cluster de containers para atender apenas demandas internas da própria empresa, em 2014 foi concedido todo o projeto para iniciativa “Cloud Native Computing Foundation” que atua junto com a “Linux Foundation”. https://www.cncf.io/ https://www.linuxfoundation.org/ Meetup GDG Uberlândia 2018Meetup GDG Uberlândia 2018
  • 5. Benefícios do Kubernetes? ● Container sempre online: verifica a saúde da aplicação e recria o container se identificar alguma anomalia. ● Autoscaling: obtém métricas e verifica se há necessidade de crescer horizontalmente. ● Descoberta de Serviço: containers recebem um endereço IP e conseguem enxergar um ao outro por meio de uma rede virtual. ● Crescimento Horizontal: com um simples comando é possível aumentar o número de containers da mesma imagem. ● Balanceador de Carga: utiliza load balancer para dividir a carga de requisições recebidas entre os containers. ● Rollbacks automáticos: se algo der errado, Kubernetes volta automaticamente à versão anterior da aplicação. ● Execução em Batch: permite rodar comandos em batch como containers. Meetup GDG Uberlândia 2018Meetup GDG Uberlândia 2018
  • 6. Como o Kubernetes Funciona ● Master = Host que gerencia Minions e Pods no cluster; ● Minions ou Nodes = São os hosts partes do cluster; ● Pods = Grupos de Containers. Meetup GDG Uberlândia 2018Meetup GDG Uberlândia 2018
  • 7. Chega de papo e Mão na Massa Meetup GDG Uberlândia 2018
  • 8. Para esta receita vamos precisar…. ● 03 hosts - Servidores(Físico ou Virtual) ● Docker(Pode ser a última versão) ● Kubeadm(Para construir o cluster) ● Kubectl(Para gerenciar o cluster) ● Kubelet(Cliente que é instalado no cluster para obter as informações) Meetup GDG Uberlândia 2018
  • 9. Servidores ● 03 hosts - Servidores Vamos utilizar 03 servidores no Google Cloud usando Ubuntu 16.04 LTS com a seguintes nomenclaturas e configurações: - Master - 2GB RAM - 1 vCPU - Node1 - 2GB RAM - 1 vCPU - Node2 - 2GB RAM - 1 vCPU Meetup GDG Uberlândia 2018
  • 10. Instalando o Docker ● Execute o seguinte comando: # curl -fsSL https://get.docker.com | bash ● Verificando a versão do Docker: # docker --version Meetup GDG Uberlândia 2018
  • 11. Atualizando o Sistema e pré requisitos ● Execute o seguinte comando: # apt-get update && apt-get install -y apt-transport-https ● Instalando a chave para o repositório do Kubernetes # curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - Meetup GDG Uberlândia 2018
  • 12. Atualizando o Sistema e pré requisitos ● Configurar o repositório do kubernetes: # echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list ● Atualizando o Sistema operacional: # apt-get update Meetup GDG Uberlândia 2018
  • 13. E por fim instalando o Kubernetes ● Execute o seguinte comando: # apt-get install -y kubelet kubeadm kubectl Meetup GDG Uberlândia 2018
  • 14. Iniciando o cluster ● Execute o seguinte comando: # kubeadm init --apiserver-advertise-address $(hostname -i) aguardar a saída... Meetup GDG Uberlândia 2018
  • 15. Iniciando o cluster ● Execute o seguinte comando: # mkdir -p $HOME/.kube # cp -i /etc/kubernetes/admin.conf $HOME/.kube/config # chown $(id -u):$(id -g) $HOME/.kube/config Meetup GDG Uberlândia 2018
  • 16. Configurando a rede virtual do cluster ● Execute o seguinte comando: # kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d 'n')" Meetup GDG Uberlândia 2018
  • 17. Adicionando Minions ao Cluster ● Execute o seguinte comando: # kubeadm join --token 39c341.a3bc3c4dd49758d5 IP_DO_MASTER:6443 --discovery-token-ca-cert-hash sha256:37092 Meetup GDG Uberlândia 2018
  • 18. Gerenciando o Cluster ● Verificar se todos os nodes do nosso cluster estão ok: # kubectl get nodes # kubectl describe node node-name Meetup GDG Uberlândia 2018
  • 19. Gerenciando o Cluster ● Está ruim de ficar digitando? use o auto-complete: # source <(kubectl completion bash) Meetup GDG Uberlândia 2018
  • 20. Gerenciando o Cluster ● Verificar se todos os Pods do nosso cluster estão ok:: # kubectl get pods # kubectl get pods -n kube-system -o wide Meetup GDG Uberlândia 2018
  • 21. Finalmente nosso primeiro Deploy! ● Vamos subir nosso primeiro pod: # kubectl run gdg-nginx --image nginx # kubectl get deployments Meetup GDG Uberlândia 2018
  • 22. Escalando nosso Pod ● Execute o comando abaixo: # kubectl scale deployment gdg-nginx --replicas=10 Meetup GDG Uberlândia 2018
  • 23. Expondo nosso Pod ● Execute o comando abaixo: # kubectl run gdg-nginx --image=nginx --port=80 --image-pull-policy=Never # kubectl expose deployment gdg-nginx --type=LoadBalancer Meetup GDG Uberlândia 2018
  • 24. Deletando nosso Pod ● Execute o comando abaixo: # kubectl delete deployment gdg-nginx Meetup GDG Uberlândia 2018
  • 26. Kubernetes Então #partiu ? Meetup GDG Uberlândia 2018