drupal camp ci&t - kubernetes and google container engine
TRANSCRIPT
Francis Fernandes LuzGraduado em Analise e Desenvolvimento de Sistemas pela Anhanguera Campinas e MBA em Engenharia de Software pela Metrocamp de Campinas.Atualmente sou Google Sales Engineer na C&IT Software [email protected]
Google tem rodado parte do seu negócio em containers por uma década e começa mais de 2 milhões de containers por semana
Images by Connie Zhou
Google Cloud Compute
Cloud infra-estrutura
Gerenciamento de ContainersGoogle Container Engine Kebernets
Gerenciamento de Instâncias virtuais
Google Compute Engine
● Sistema de gerenciamento de container
cluster Open source
● Baseado em 10 anos de experiência em
produção no Google
● Pronto para o mundo multi-cloud:
○ publico
○ privado
○ hibrido
● Desenho modular
● Pode ser rodado quase em qualquer lugar
Introdução ao Kubernetes “K8s”
Grupos de Pods containers com afinidade, e co-programados em nós
Cada Pod recebe o seu próprio endereço IP e partes localhost e volumes
Containers compartilham partes de um pod
Componentes Kubernetes
Pods são unidades efêmeras que são usados para gerenciar um ou mais containers fortemente acoplados.
Eles permitem o compartilhamento de dados e de comunicação entre os seus componentes constituintes.
Node
Pod 1 Pod 2
Pods
Labels te permitem:
Responder a questão: “Quais são os nós carregados no ‘Data Center=East’?”
Executar ações: “Atualizar a nova versão do SSL para os nós em ‘production’ e ‘front end’”
Componentes Kubernetes
Labels
Labels são metadados que estão ligados aos objetos como pods.
Eles permitem a organização e seleção de subconjuntos de objetos dentro de um cluster.
Node
Pod 1 Pod 2
data_center=east
tier=frontend
stage=production
stage=preproduction
Controladores de replicação:
Poll para assegurar que um determinado número de Pods com um determinado conjunto de Labels estão em execução
Eles fazem do Kubernetes um sistema declarativo (versus imperativo).
Componentes Kubernetes
Controladores de replicação criam novos pods "réplicas" de um modelo e garante que um número configurável desses pods estejam em execução.
Replication Controllers
Node
Pod A1 Pod A2
Node
Pod A3 Pod A4
Serviços de endpoints estáveis como clusters que podem crescer, encolher, e são reconfigurados através de novos nós.
K8s mantém o controle de mapeamento do Serviço para os pods, usando labels
Eles removem a dor de cabeça de manter o controle de endereçamento para os componentes do aplicativo dentro de um cluster
Componentes Kubernetes
Um serviço oferece baixa sobrecarga para rotear pedidos para um conjunto lógico de pod backends no cluster com base em um seletor de labels.
Os serviços também fornecem um mecanismo para componentes legados, tais como bancos de dados em um cluster
Services
● Criar um cluster usando o cloud console com uma image Drupal
● Hello-word link
● Hello-drupal link○ Docker image link
● Documentação○ Kubernetes github Link
Kubernetes DEMO
Executa containers Docker no Google Cloud Platform, sobre o Kubernetes (k8s).
Container Engine (GKE) cuida do provisionamento e manutenção da máquina virtual container cluster, escalando sua aplicação e logística operacional como logging, monitoring, and health management.
Introdução ao GKE
● Agora em Beta
● Construído sobre e estende o Kubernetes
● Composto por uma instância master que
agenda o trabalho dos nós no cluster
● Utiliza os recursos do GCE
● Suporte para aplicações contêinerizadas
multi-cloud (com Kubernetes em outra
cloud)
● A maneira mais fácil de começar com
Kubernetes and Docker
GKE - Google Container Engine
● Criar um cluster no GKE usando o cloud console
● Exemplo guestbook link
GKE DEMO