Horizon Cloud Connector 2.0 Cluster Rockets to the Moon

Tabla de contenido


Esta nueva versión tiene como novedad más importante la posibilidad de crear un cluster con el fin de proporcionar tolerancia a fallos a nivel de servicio. En esta entrada te explico como configurarlo.

Como vinos en la entrada anterior dedicada a las novedades de Horizon Cloud Connector 2.0, esta versión además de ofrecer alta disponibilidad (HA) proporcionada por vSphere, incorpora tolerancia a fallos a nivel de servicio, lo que permite crear un clúster compuesto por un nodo principal y un nodo de trabajo. Esto es fundamental para asegurar que el acceso a Horizon Cloud Service y al Universal Broker no se vean afectados por un fallo del conector.

Nodo principal.

El nodo principal ejecuta los servicios de plano de control necesarios para administrar el clúster y también ejecuta la instancia principal de los siguientes servicios:

  • Servicios de aplicación de Horizon Cloud Connector cluster:
    • Servicio de cliente de Connector
    • Servicio de proxy de nube
    • Servicio de proxy de Connection Server
  • Servicio de Cloud Broker Client Service (CBCS).
  • Servicio de supervisión de Connection Server (CSMS).
  • Servicio de ubicación de imágenes (ILS).

Nodo de trabajo.

El nodo de trabajo ejecuta instancias de réplica de los siguientes servicios:

  • Servicios de aplicación de Horizon Cloud Connector cluster:
    • Servicio de proxy de nube
    • Servicio de cliente de Connector
    • Servicio de proxy de Connection Server

En esta nueva versión, el nodo de trabajo solo admite instancias de réplica de los servicios de aplicación de Horizon Cloud Connector. Todos los demás servicios, incluidos CBCS, CSMS, ILS y los servicios de administración de clústeres, se ejecutan como una sola instancia en el nodo principal y dejan de estar disponibles si se produce un error en esa única instancia.

Preparación del entorno.

Para crear un cluster de Horizon Cloud Connector de dos nodos primero es necesario desplegar un nodo de trabajo y agregarlo al clúster que contiene el nodo principal.

1º Vamos a partir de un entorno que ya tiene instalado el nodo principal (PHZCONNECTOR01) y que ha sido desplegado como se indica en esta entrada anterior.

2º El siguiente paso es desplegar un nuevo Horizon Cloud Connector (PHZCONNECTOR02) , pero esta vez deberemos indicar en el asistente de configuración que es un nodo de trabajo.

3º Una vez desplegada la OVA, es necesario conectarse a la consola de la VM desde vCenter para habilitar el acceso SSH de la cuenta ccadmin.

4º Iniciar sesión como root

5º Ejecutar el siguiente comando para establecer una nueva password:

Ejecutar > passwd ccadmin

ccadmin password
ccadmin password

6º Habilitar el acceso SSH ejecutando el siguiente comando:

Ejecutar > /opt/vmware/bin/configure-adapter.py –sshEnable

horizon cloud connector ssh enable

7º El procedimiento recomendado para conectarse al appliance es utilizar una clave privada. Si queremos habilitar SSH para utilizar este método de autenticación, debemos generar una clave privada desde powershell:

Ejecutar > ssh-keygen

ssh-keygen

8º Copiar la clave publica al nuevo appliance:

Ejecutar > type C:\Users\VMWAdmin\.ssh\id_rsa.pub | ssh [email protected] «cat >> .ssh/authorized_keys»

ssh-keygen

Creación del cluster.

1º Configurar el cluster ejecutando el siguiente comando desde el nodo primario, la IP es la del nodo de trabajo.

Ejecutar > /opt/vmware/sbin/primary-cluster-config.sh -as 192.168.1.128

horizon cloud connector cluster

2ª Una vez que el comando finalice, debemos copiar la última línea, los dos últimos valores son IDs que se generaran tras la instalación:

Copiar > /opt/vmware/sbin/worker-cluster-config.sh -a 192.168.1.127 159rda.lvzxb0i0pbadct4v 992f534e9e0906074478105058b78f833e8d8123a815fdffea1dd38303843478

horizon cloud connector cluster

3º Seguidamente hay que conectarse al nodo de trabajo y ejecutar el comando copiado anteriormente para añadir el nodo de trabajo al clúster:

horizon cloud connector cluster config

4ª Si el proceso es correcto, el nodo se habrá agregado:

horizon cloud connector cluster config

5ª Finalmente comprobaremos que el clúster se ha creado correctamente ejecutando el siguiente comando:

Ejecutar > kubectl get nodes -o wide

horizon cloud connector cluster config

6º También podemos comprobar el estado del clúster desde la consola de Horizon Cloud Connector.

horizon cloud connector cluster

Troubleshooting.

Os dejo algunos comandos interesantes a la hora de comprobar posibles errores en el despliegue y la configuración.

Comprobar la conectividad para descartar problemas de salida a internet y proxy ejecutando los siguientes comandos desde el appliance:

SERVICEIP=$(kubectl get service hze-hydraproxy -n hze-system -o jsonpath='{ .spec.clusterIP }’)

curl -I «http://$SERVICEIP:8080/api/login»
La respuesta tendría que ser: HTTP/1.1 200 OK

curl -I «http://$SERVICEIP:8080/view-onboarding/»
La respuesta tendria que ser: HTTP/1.1 200 OK

curl -Ik » https://localhost/view-onboarding/»
La respuesta tendría que ser: HTTP/1.1 200 OK

NGINXIP=$(kubectl get service hze-nginx -n hze-system -o jsonpath='{ .spec.clusterIP }’)

curl -Ik «https://$NGINXIP:11443/view-onboarding/»
La respuesta tendría que ser: HTTP/1.1 200 OK

Comprobar la conectividad con Horizon Connection Server desde el appliance:

curl -ik https://{CS-HOST-NAME}/view-vlsi/rest/v1/domain/list
La respuesta tendría que ser: HTTP/1.1 200 OK

Comprobar que los servicios están levantados:

watch -n 10 kubectl get pods -n hze-system

En todos los servicios, el valor Ready tendría que ser 2/2 y el estatus «Running»

kubectl get pods

Reiniciar los servicios:

kubectl delete pods –all -n hze-system

Como siempre, te dejo los enlaces a la documentación oficial

Guia de Horizon Cloud Connector

Troubleshooting Horizon Cloud Connector Connectivity Issues (79859)

Y si te gusto esta entrada, te invito a compartir la información.

  

INFORMACION DEL PUBLICADOR
Picture of Kamal Majaiti
Kamal Majaiti
Administrador de sistemas e informático por vocación.
COMPARTELO EN REDES
Publica un comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.