Uno de los asistentes de Formación en Kubernetes para desarrolladores Java sugirió probar minikube para simplificar el desarrollo y las pruebas de Kubernetes. Este blog mostrará
cómo empezar con minikube utilizando una sencilla aplicación Java.
minikube-logo

Minikube inicia un clúster Kubernetes de un solo nodo en su máquina local para un rápido desarrollo y pruebas. Requisitos enumera
el conjunto exacto de requisitos para los distintos sistemas operativos.

Este blog lo demostrará:

  • Iniciar un clúster Kubernetes de un nodo
  • Ejecutar el servicio Couchbase
  • Ejecutar aplicación Java
  • Ver el panel de control de Kubernetes

Todos los archivos de descripción de recursos de Kubernetes utilizados en este blog se encuentran en github.com/arun-gupta/kubernetes-java-sample/tree/master/maven.

Iniciar un clúster Kubernetes con Minikube

Crear un nuevo directorio con el nombre minikube. En ese directorio, descargue kubectl CLI:

Descargar minikube CLI:

Inicie el clúster:

Se puede ver la lista de nodos:

Se pueden obtener más detalles sobre el clúster utilizando la función kubectl cluster-info mando:

Entre bastidores, se inicia una VM de Virtual Box. El conjunto completo de comandos soportados puede verse usando --ayuda:

Ejecutar el servicio Couchbase

Crear un Couchbase servicio:

Esto iniciará un servicio Couchbase. El servicio utiliza los pods creados por el controlador de replicación. El controlador de replicación crea un servidor Couchbase de nodo único. El archivo de configuración está en github.com/arun-gupta/kubernetes-java-sample/blob/master/maven/couchbase-service.yml y parece:

Ejecutar aplicación Java

Ejecuta la aplicación:

El archivo de configuración se encuentra en github.com/arun-gupta/kubernetes-java-sample/blob/master/maven/bootiful-couchbase.yml y parece:

Esto es trabajo de una sola ejecución que ejecuta una aplicación Java (Spring Boot) y upserts (inserta o actualiza) un documento JSON en Couchbase. En este trabajo, COUCHBASE_URI valor de la variable de entorno
se establece en servicio couchbase. Este es el nombre del servicio creado anteriormente. La imagen Docker utilizada para este servicio es arungupta/bootiful-couchbase y se crea utilizando fabric8-maven-plugin como se muestra en github.com/arun-gupta/kubernetes-java-sample/blob/master/maven/webapp/pom.xml#L57-L68. En concreto, el comando para el Docker
imagen es:

Esto garantiza que COUCHBASE_URI anula la variable de entorno spring.couchbase.bootstrap-hosts tal y como se define en aplicación.propiedades de la aplicación Spring Boot.

Panel de control de Kubernetes

Kubernetes 1.4 incluye un dashboard actualizado. Para minikube, se puede abrir con el siguiente comando:

 

A continuación se muestra la vista por defecto:
minikube-dashboard-1-4
Pero en nuestro caso, algunos recursos ya han sido creados y por lo tanto esto se verá como se muestra:
minikube-dashboard-couchbase

Fíjate, aquí se muestran nuestros Jobs, Replication Controllers y Pods.

Apagar el clúster Kubernetes

El clúster se puede apagar fácilmente:

couchbase.com/contenedores proporcionan más detalles sobre cómo ejecutar Couchbase utilizando diferentes marcos de orquestación. Más referencias:

 

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