Clúster Kubernetes Multimaster en Amazon usando Kops

Introducción a Kubernetes 1.4 con Spring Boot y Couchbase explica cómo empezar a utilizar Kubernetes 1.4 en Amazon Web Services. A
El servicio Couchbase se crea en el clúster y una aplicación Spring Boot almacena un documento JSON en la base de datos. Utiliza kube-up.sh de la descarga binaria de Kubernetes en github.com/kubernetes/kubernetes/releases/download/v1.4.0/kubernetes.tar.gz  para iniciar el clúster. Este script es capaz de crear un clúster Kubernetes con un único maestro. Este es un defecto fundamental de las aplicaciones distribuidas en las que el maestro se convierte en un único punto de fallo.

Conozca kops - abreviatura de Kubernetes Operations.

Esta es la forma más sencilla de poner en marcha un clúster Kubernetes de alta disponibilidad. El sitio kubectl es la CLI para ejecutar comandos contra clusters en ejecución. Piensa en kops como kubectl para cluster.
Este blog mostrará cómo crear un clúster Kubernetes de alta disponibilidad en Amazon utilizando kops. Y una vez creado el cluster, creará un servicio Couchbase en él y ejecutará una aplicación Spring Boot para almacenar el documento JSON
en la base de datos.

Muchas gracias a justinsbsarahz, razic, jaygorrell, shrugs, bkpandey y otros en Canal Slack de Kubernetes ¡por ayudarme con los detalles!

Descargar kops y kubectl

  • Descargar Última publicación de Kops. Este blog ha sido probado con 1.4.1 en OSX.Conjunto completo de comandos para
    kops se puede ver:
  • Descargar kubectl:
  •  Incluya kubectl en su SENDERO.

Crear registros Bucket y NS en Amazon

Por el momento, hay que realizar algunos ajustes, pero esperamos que se solucionen en las próximas versiones. Crear un clúster en AWS proporcionan pasos detallados y más antecedentes.
Esto es lo que siguió el blog:

  • Elija un dominio donde se alojará el clúster Kubernetes. Este blog utiliza kubernetes.arungupta.me dominio. Puede elegir un dominio de nivel superior o un subdominio.
  • Ruta 53 de Amazon es un servicio DNS altamente disponible y escalable. Acceda a Consola Amazon y creó un zona alojada para este dominio utilizando el servicio Route 53.
    kops-hosted-zone
    Zona creada parece:
    kops-hosted-zone-created
    Los valores indicados en el Valor son importantes, ya que se utilizarán más adelante para crear registros NS.
  • Crear un bucket S3 utilizando Consola Amazon para almacenar la configuración del cluster - esto se llama tienda estatal.
    kops-s3-bucket
  • El dominio kubernetes.arungupta.me está alojada en GoDaddy. Para cada valor mostrado en la columna Valor de la zona alojada en Route53, cree un registro NS utilizando Centro de control de dominios de GoDaddy para
    Seleccione el tipo de registro:
    kops-godaddy-add-zone-record
    Para cada valor, añada el registro como se muestra:
    kops-godaddy-add-ns-record
    El conjunto completo de registros tiene el siguiente aspecto:
    kops-godaddy-ns-records

Iniciar clúster multimaster Kubernetes

Entendamos un poco las regiones y zonas de Amazon:

Amazon EC2 se hospeda en varias ubicaciones de todo el mundo. Estas ubicaciones se componen de regiones y zonas de disponibilidad. Cada región es un área geográfica independiente. Cada región tiene varias ubicaciones aisladas conocidas como zonas de disponibilidad.

Se puede crear un clúster Kubernetes de alta disponibilidad entre zonas, pero no entre regiones.

  • Averigüe las zonas de disponibilidad dentro de una región:
  • Crear un clúster multimaestro:

    La mayoría de los interruptores se explican por sí mismos. Algunos interruptores necesitan un poco de explicación:

    • Especificación de varias zonas mediante --master-zones (debe ser un número impar) crear múltiples maestros a través de AZ
    • --cloud=aws es opcional si la nube puede deducirse de las zonas
    • --sí se utiliza para especificar la creación inmediata del cluster. De lo contrario, solo se almacena el estado en el bucket y el clúster debe crearse por separado.

    Se puede ver el conjunto completo de interruptores CLI:

  • Una vez creado el clúster, obtenga más detalles sobre el clúster:

  • Compruebe la versión del cliente y del servidor del clúster:

  • Compruebe todos los nodos del clúster:

    O averigua sólo los nodos maestros:

  • Comprueba todos los grupos:

Complemento Kubernetes Dashboard

Por defecto, un clúster creado usando kops no tiene el panel de control UI. Pero esto se puede añadir como un complemento:

Ahora se pueden ver todos los detalles sobre el clúster:

Y el dashboard de Kubernetes UI está en la URL mostrada. En nuestro caso, es https://api.kubernetes.arungupta.me/ui y parece:

Las credenciales para acceder a este cuadro de mandos pueden obtenerse utilizando la función kubectl config vista comando. Los valores se muestran como:

Despliegue del servicio Couchbase

Como se explica en Introducción a Kubernetes 1.4 con Spring Boot y Couchbasevamos a ejecutar un servicio Couchbase:

Este archivo de configuración se encuentra en github.com/arun-gupta/kubernetes-java-sample/blob/master/maven/couchbase-service.yml. Obtenga la lista de servicios:

Describa el servicio:

Coge las vainas:

Ejecutar aplicación Spring Boot

La aplicación Spring Boot se ejecuta contra el servicio Couchbase y almacena en él un documento JSON. Inicia la aplicación Spring Boot:

Este archivo de configuración se encuentra en github.com/arun-gupta/kubernetes-java-sample/blob/master/maven/bootiful-couchbase.yml. Ver lista de todas las vainas:

Compruebe los registros de la vaina completa:

El salpicadero actualizado tiene ahora el siguiente aspecto:
kops-dashboard-with-apps

Eliminar el clúster Kubernetes

El clúster Kubernetes se puede eliminar como:

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

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

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.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.