kubernetes-logo

Este blog faz parte de uma série de blogs com várias partes que mostra como executar seus aplicativos no Kubernetes. Ele usará o Couchbaseum banco de dados de documentos distribuídos NoSQL de código aberto, como o contêiner do Docker.

A primeira parte (Couchbase no Kubernetes) explicou como iniciar o cluster do Kubernetes usando o Vagrant. A segunda parte (Kubernetes na Amazon) explicou como executar essa configuração no Amazon Web Services.

Esta terceira parte mostrará:

  • Como configurar e iniciar o cluster do Kubernetes no Google Cloud
  • Execute o contêiner do Docker no cluster do Kubernetes
  • Expor o pod no Kubernetes como serviço
  • Desligar o cluster

Aqui está uma visão geral rápida:

Kubernetes Cluster on Google Cloud

Vamos entrar em detalhes!

Primeiros passos com o Google Compute Engine fornecem instruções detalhadas sobre como configurar o Kubernetes no Google Cloud.

Download e configuração do Google Cloud SDK

É necessário um pouco de configuração se você nunca acessou o Google Cloud em sua máquina. Isso foi um pouco complicado e pode ser simplificado.

  • Criar uma conta faturável em Google Cloud
  • Instalar SDK do Google Cloud
  • Configurar credenciais: gcloud auth login
  • Crie um novo projeto do Google Cloud e dê um nome a ele couchbase-em-kubernetes
  • Defina o projeto: gcloud config set project couchbase-on-kubernetes
  • Definir zona padrão: gcloud config set compute/zone us-central1-a
  • Criar uma instância: gcloud compute instances create example-instance --machine-type n1-standard-1 --image debian-8
  • SSH na instância: gcloud compute ssh exemplo-instância
  • Excluir a instância: gcloud compute instances delete example-instance

Configurar o cluster do Kubernetes no Google Cloud

O cluster do Kubernetes pode ser criado no Google Cloud como:

Certifique-se de que PROVEDOR DE KUBERNETES é definido como gce ou não definir nada. Por padrão, isso provisiona um cluster Kubernetes de 4 nós com um mestre. Isso significa que são criadas 5 máquinas virtuais.

Se você baixou o Kubernetes de github.com/kubernetes/kubernetes/releasestodos os valores podem ser alterados em cluster/aws/config-default.sh.

Iniciar o Kubernetes no Google Cloud mostra o seguinte registro. O SDK do Google Cloud estava se comportando de forma um pouco estranha, mas adotar os padrões parece funcionar:

Há algumas variáveis não vinculadas e uma mensagem de AVISO, mas isso não parece prejudicar o script. O Google Cloud Console mostra: Google Cloud Compute Instances On Kubernetes Cluster

Cinco instâncias são criadas conforme mostrado - uma para o nó mestre e quatro para os nós de trabalho.

Executar o contêiner do Docker no cluster do Kubernetes no Google Cloud

Agora que o cluster está em funcionamento, obtenha uma lista de todos os nós:

Ele mostra quatro nós de trabalho. Crie um pod do Couchbase:

Observe como o nome da imagem pode ser especificado na CLI. Esse comando cria um controlador de replicação com um único pod. O pod usa arungupta/couchbase Imagem do Docker que fornece um servidor Couchbase pré-configurado. Qualquer imagem do Docker pode ser especificada aqui.

Obtenha todos os recursos do RC:

Isso mostra o controlador de replicação que foi criado para você.

Obtenha todos os Pods:

A saída mostra o pod que é criado como parte do controlador de replicação.

Obtenha mais detalhes sobre o Pod:

Expor o pod no Kubernetes como serviço

Agora que nosso pod está em execução, como posso acessar o servidor Couchbase? Você precisa expô-lo fora do cluster do Kubernetes. O kubectl expose pega um pod, serviço ou controlador de replicação e o expõe como um serviço do Kubernetes.

Vamos expor o controlador de replicação criado anteriormente e expô-lo:

Obtenha mais detalhes sobre o Service:

O Ingresso do balanceador de carga O atributo fornece o endereço IP do balanceador de carga que agora está acessível publicamente. Aguarde 3 minutos para que o balanceador de carga se estabilize. Acesse-o usando a porta 8091 e a página de login do Console da Web do Couchbase será exibida: Google Cloud Kubernetes Couchbase Login Page

Digite as credenciais como "Administrator" e "password" para ver o console da Web: Google Cloud Kubernetes Couchbase Web Console

Assim, você acabou de acessar seu pod fora do cluster do Kubernetes.

Encerrar o cluster do Kubernetes

Por fim, desligue o cluster usando cluster/kube-down.sh roteiro.

Aproveite!

Autor

Postado por Arun Gupta, vice-presidente de defesa do desenvolvedor, Couchbase

Arun Gupta é o vice-presidente de defesa do desenvolvedor na Couchbase. Ele criou e liderou comunidades de desenvolvedores por mais de 10 anos na Sun, Oracle e Red Hat. Ele tem grande experiência na liderança de equipes multifuncionais para desenvolver e executar estratégias, planejamento e execução de conteúdo, campanhas de marketing e programas. Antes disso, liderou equipes de engenharia na Sun e é membro fundador da equipe Java EE. Gupta é autor de mais de 2.000 postagens em blogs sobre tecnologia. Ele tem uma vasta experiência em palestras em mais de 40 países sobre diversos tópicos e é um JavaOne Rock Star há três anos consecutivos. Gupta também fundou o capítulo Devoxx4Kids nos EUA e continua a promover a educação tecnológica entre as crianças. Autor de vários livros sobre tecnologia, corredor ávido, viajante do mundo inteiro, campeão de Java, líder de JUG, membro do NetBeans Dream Team e capitão do Docker, ele pode ser facilmente acessado em @arungupta.

Deixar uma resposta