¡Este blog es posible gracias a este tweet!

kubernetes-logo

Kubernetes es un sistema de orquestación de código abierto de Google para contenedores Docker. Gestiona aplicaciones en contenedores a través de múltiples hosts y proporciona mecanismos básicos para el despliegue, mantenimiento y escalado de aplicaciones. Permite al usuario proporcionar primitivas declarativas para el estado deseado, por ejemplo "necesito 5 servidores Couchbase". Los mecanismos de autorreparación de Kubernetes, como el reinicio automático, la reprogramación y la replicación de contenedores, garantizan que se cumpla este estado. El usuario sólo tiene que definir el estado y Kubernetes se asegura de que se cumpla en todo momento en el clúster. Conceptos clave de Kubernetes explica los conceptos clave de Kubernetes. Esta serie de blogs de varias partes mostrará cómo ejecutar Couchbase en Kubernetes de múltiples maneras. La primera parte comienza con una configuración sencilla utilizando Vagrant.

Introducción a Kubernetes

Hay múltiples maneras de ejecutar Kubernetes, pero he encontrado la forma más sencilla (no necesariamente predecible ;) es ejecutar utilizando Vagrant.

  • Descargar la última Lanzamiento de Kubernetes1.1.8 a partir de este momento, y ampliar el archivo.
  • Inicie el clúster Kubernetes como:

    Esto muestra la salida como:

Ejecutar Couchbase en Kubernetes Cluster

La forma más sencilla de empezar a ejecutar un contenedor Docker en Kubernetes es utilizando el comando kubectl run comando. El uso del comando es:

El comando ejecuta una imagen particular, posiblemente replicada. La replicación de la imagen se realiza mediante la creación de un controlador de replicación para gestionar el contenedor o contenedores creados. La lista completa de opciones para ejecutar este comando se puede ver usando:

Contenedor Docker Couchbase explica los diferentes contenedores Docker para Couchbase. Para este blog, usaremos arungupta/couchbase ya que está preconfigurado.

Esto muestra la salida:

La salida confirma que se ha creado un controlador de replicación. Vamos a verificarlo:

Ahora, comprueba las vainas:

Comprobemos el estado del pod:

La quinta línea de la salida dice que la IP del nodo es 10.245.1.4. Esta dirección se utilizará más tarde para acceder a la consola web. La última línea de esta salida muestra que el pod ya está listo. Compruebe de nuevo el estado del pod:

Consola web de Couchbase en clúster Kubernetes

Ahora que su contenedor Couchbase se está ejecutando en el clúster Kubernetes, es posible que desee ver el archivo Consola web. A cada pod se le asigna una dirección IP única, pero esta dirección sólo es accesible dentro del cluster. Se puede exponer utilizando el kubectl exponer comando. Este comando toma un Controlador de Replicación, Servicio o Pod y lo expone como un nuevo Servicio Kubernetes. Esto se puede hacer dando el comando:

En este comando:

  • --target-port es el nombre o número del puerto del contenedor al que el servicio debe dirigir el tráfico
  • --port es el puerto en el que debe servir el servicio
  • --external-ip es la dirección IP externa a establecer para el servicio. Nota, esta dirección IP se obtuvo con kubectl describe pod antes.

Ahora, puedes acceder a la Consola Web de Couchbase en http://10.245.1.4:8091 y su aspecto es el siguiente:
Couchbase Web Console on Kubernetes
Introduzca las credenciales de contraseña como Administrador/contraseña.

Couchbase Web Console in Kubernetes
¡Voilà!
Hable con nosotros en StackOverflow o Foros de Couchbase. También puede seguirnos en @couchbasedev y @couchbase.

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