Couchbase Server

Cluster Kubernetes no Google Cloud e Exposição do Serviço Couchbase

12 MIN DE LEITURA

kubernetes-logo

Este blog faz parte de uma série de blogs em várias partes que mostra como executar suas aplicações no Kubernetes. Ele usará o Couchbase, um banco de dados de documentos distribuído NoSQL de código aberto, como o contêiner Docker.

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

Esta terceira parte mostrará:

  • Como configurar e iniciar o cluster do Kubernetes no Google Cloud
  • Executar o container Docker no cluster Kubernetes
  • Expor 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 Forneça instruções detalhadas sobre como configurar o Kubernetes no Google Cloud.

Baixar e Configurar o SDK do Google Cloud

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

  • Criar uma conta faturável em Google Cloud
  • Instalar Google Cloud SDK
  • Configurar credenciais: gcloud auth login
  • Crie um novo projeto no Google Cloud e dê a ele o nome de couchbase-on-kubernetes
  • Definir 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
  • Acesse a instância via SSH: gcloud compute ssh example-instance
  • Excluir a instância: gcloud compute instances delete example-instance

Configurar cluster do Kubernetes no Google Cloud

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

Certifique-se KUBERNETES_PROVIDER está definido como gce ou não ser definido. Por padrão, isso provisiona um cluster Kubernetes de 4 nós com um master. Isso significa que 5 Máquinas Virtuais são criadas.

Se você baixou o Kubernetes do github.com/kubernetes/kubernetes/releases, então todos os valores podem ser alterados em cluster/aws/config-default.sh.

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

There are a couple of unbound variables and a WARNING message, but that didn’t seem to break the script. Google Cloud Console shows: Google Cloud Compute Instances On Kubernetes Cluster

Five instances are created as shown – one for master node and four for worker nodes.

Run Docker Container in Kubernetes Cluster on Google Cloud

Now that the cluster is up and running, get a list of all the nodes:

It shows four worker nodes. Create a Couchbase pod:

Notice, how the image name can be specified on the CLI. This command creates a Replication Controller with a single pod. The pod uses arungupta/couchbase Docker image that provides a pre-configured Couchbase server. Any Docker image can be specified here.

Get all the RC resources:

This shows the Replication Controller that is created for you.

Get all the Pods:

The output shows the Pod that is created as part of the Replication Controller.

Get more details about the Pod:

Expor Pod no Kubernetes como Serviço

Now that our pod is running, how do I access the Couchbase server? You need to expose it outside the Kubernetes cluster. The kubectl expose command takes a pod, service or replication controller and expose it as a Kubernetes Service.

Let’s expose the replication controller previously created and expose it:

Get more details about Service:

A Loadbalancer Ingress attribute gives you the IP address of the load balancer that is now publicly accessible. Wait for 3 minutes to let the load balancer settle down. Access it using port 8091 and the login page for Couchbase Web Console shows up: Google Cloud Kubernetes Couchbase Login Page

Enter the credentials as “Administrator” and “password” to see the Web Console: Google Cloud Kubernetes Couchbase Web Console

And so you just accessed your pod outside the Kubernetes cluster.

Shutdown Kubernetes Cluster

Finally, shutdown the cluster using cluster/kube-down.sh script.

Enjoy!

Compartilhe este artigo

Autor

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

Deixe um comentário

Pronto para começar com o Couchbase Capella?

Começar a construir

Confira nosso portal para desenvolvedores para explorar o NoSQL, navegar por recursos e começar com tutoriais.

Use o Capella free

Coloque a mão na massa com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Quer saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.