kubernetes-logo

Este blog es parte de una serie de blogs de varias partes que muestra cómo ejecutar sus aplicaciones en Kubernetes. Se utilizará el Couchbaseuna base de datos documental distribuida NoSQL de código abierto, como contenedor Docker.

La primera parte (Couchbase en Kubernetes) se explica cómo iniciar el clúster Kubernetes utilizando Vagrant. La segunda parte (Kubernetes en Amazon) explicó cómo ejecutar esa configuración en Amazon Web Services.

Esta tercera parte lo demostrará:

  • Cómo configurar e iniciar el clúster Kubernetes en Google Cloud
  • Ejecutar el contenedor Docker en el clúster Kubernetes
  • Exponer Pod en Kubernetes como Servicio
  • Apagar el clúster

He aquí un breve resumen:

Kubernetes Cluster on Google Cloud

Entremos en detalles.

Introducción a Google Compute Engine proporcionan instrucciones detalladas sobre cómo configurar Kubernetes en Google Cloud.

Descargar y configurar Google Cloud SDK

Hay un poco de configuración necesaria si nunca has accedido a Google Cloud en su máquina. Esto fue un poco abrumador y deseo se puede simplificar.

  • Crear una cuenta facturable en Nube de Google
  • Instale SDK de Google Cloud
  • Configurar credenciales: gcloud auth login
  • Crea un nuevo proyecto de Google Cloud y nómbralo couchbase-on-kubernetes
  • Fija el proyecto: gcloud config set project couchbase-on-kubernetes
  • Establecer zona por defecto: gcloud config set compute/zone us-central1-a
  • Crea una instancia: gcloud compute instances create example-instance --machine-type n1-standard-1 --image debian-8
  • SSH en la instancia: gcloud compute ssh ejemplo-instancia
  • Elimina la instancia: gcloud compute instances delete ejemplo-instancia

Configuración del clúster Kubernetes en Google Cloud

El clúster Kubernetes se puede crear en Google Cloud como:

Asegúrese de que KUBERNETES_PROVIDER se establece en gce o no establecerlo en absoluto. Por defecto, esto aprovisiona un clúster Kubernetes de 4 nodos con un maestro. Esto significa que se crean 5 máquinas virtuales.

Si ha descargado Kubernetes desde github.com/kubernetes/kubernetes/releasestodos los valores pueden modificarse en cluster/aws/config-default.sh.

Iniciar Kubernetes en Google Cloud muestra el siguiente registro. Google Cloud SDK se comportaba un poco raro, pero tomando los valores predeterminados parecen funcionar:

Hay un par de variables no vinculadas y un mensaje de ADVERTENCIA, pero eso no parece romper el script. Google Cloud Console muestra: Google Cloud Compute Instances On Kubernetes Cluster

Se crean cinco instancias como se muestra - una para el nodo maestro y cuatro para los nodos trabajadores.

Ejecutar un contenedor Docker en un clúster Kubernetes en Google Cloud

Ahora que el clúster está en marcha, obtenga una lista de todos los nodos:

Muestra cuatro nodos trabajadores. Crea un pod de Couchbase:

Observe que el nombre de la imagen puede especificarse en la CLI. Este comando crea un controlador de replicación con un único pod. El pod utiliza arungupta/couchbase Imagen Docker que proporciona un servidor Couchbase preconfigurado. Aquí se puede especificar cualquier imagen Docker.

Consigue todos los recursos de RC:

Esto muestra el Controlador de Replicación que se crea para usted.

Consigue todos los Pods:

La salida muestra el Pod que se crea como parte del Replication Controller.

Más información sobre el Pod:

Exponer Pod en Kubernetes como Servicio

Ahora que nuestro pod está funcionando, ¿cómo accedo al servidor Couchbase? Necesitas exponerlo fuera del cluster Kubernetes. El kubectl exponer toma un pod, servicio o controlador de replicación y lo expone como un Servicio Kubernetes.

Vamos a exponer el controlador de replicación creado anteriormente y exponerlo:

Más información sobre el Servicio:

En Entrada del Loadbalancer le proporciona la dirección IP del equilibrador de carga que ahora es de acceso público. Espera 3 minutos para que el equilibrador de carga se asiente. Accede a él usando el puerto 8091 y aparecerá la página de inicio de sesión de la Consola Web de Couchbase: Google Cloud Kubernetes Couchbase Login Page

Introduzca las credenciales como "Administrador" y "contraseña" para ver la Consola Web: Google Cloud Kubernetes Couchbase Web Console

Y así acabas de acceder a tu pod fuera del clúster Kubernetes.

Apagar el clúster Kubernetes

Por último, apague el clúster mediante cluster/kube-down.sh guión.

¡Que aproveche!

Autor

Publicado por Arun Gupta, Vicepresidente, Defensa del Desarrollador, Couchbase

Arun Gupta es vicepresidente de promoción de desarrolladores en Couchbase. Ha creado y dirigido comunidades de desarrolladores durante más de 10 años en Sun, Oracle y Red Hat. Tiene una gran experiencia en liderar equipos multidisciplinares para desarrollar y ejecutar estrategias, planificar y ejecutar contenidos, campañas de marketing y programas. Anteriormente dirigió equipos de ingeniería en Sun y es miembro fundador del equipo Java EE. Gupta es autor de más de 2.000 entradas de blog sobre tecnología. Tiene una amplia experiencia como conferenciante en más de 40 países sobre innumerables temas y es una JavaOne Rock Star desde hace tres años consecutivos. Gupta también fundó el capítulo Devoxx4Kids en Estados Unidos y sigue promoviendo la educación tecnológica entre los niños. Autor de varios libros sobre tecnología, ávido corredor, trotamundos, campeón de Java, líder de JUG, miembro del Dream Team de NetBeans y capitán de Docker, es fácilmente accesible en @arungupta.

Dejar una respuesta