Cómo construir un entorno de clúster mesosfera con capacidades de descubrimiento de servicios
Configuración e inicio de Mesos
Tanto el nodo maestro como el esclavo deben configurarse de esta manera. Agregue todos los nodos maestros al archivo [/etc/mesos/zk], por ejemplo:
zk://$first_master_node_ip: 2181, $segundo_master_node_ip: 2181,.../mesos
Configuración e inicio de Mesos master y marathon
Solo el nodo maestro debe configurarse de esta manera. El nodo marathon es diferente del nodo maestro. Actualmente, instalo marathon en el nodo maestro.
El contenido del archivo de configuración [/etc/mesos-master/quorum] es un número entero mayor que el número de nodos maestros dividido por 2.
El contenido del archivo de configuración [/etc/mesos-master/ip] es la IP del nodo maestro actual
El contenido del archivo de configuración [/etc/mesos- master/hostname] es el nombre de dominio del nodo maestro actual (debe ser resuelto por otros nodos)
mkdir -p /etc/marathon/conf cp /etc/mesos/zk /etc/marathon/conf/master cp /etc/marathon/conf/master /etc/marathon/conf/zk sed –i 's|mesos|marathon|g' /etc/marathon/conf/zk
Agregar la función de descubrimiento de servicios de Mesosphere
Instalado en el nodo maestro.
Debido a que el script recomendado oficialmente es incompatible con Haproxy1.5, utilice mi script
wget '/draculavlad/SetUpMesosphereOnCentos7/blob/master/haproxy-marathon-
Archivo de configuración[/ etc. /haproxy-marathon-bridge/maratones]:
echo "$first_marathon_node_ip:8080" gt;gt; /etc/haproxy-marathon-bridge/marathons echo "$segundo_marathon_node_ip:8080" gt;gt; etc/haproxy-marathon-bridge/marathons echo "$third_marathon_node_ip:8080" gt;gt; /etc/haproxy-marathon-bridge/marathons
Ejecute el script de instalación:
chmod x haproxy-marathon-bridge ./haproxy-marathon-bridge install_cronjob
Iniciar los servicios mesos master y marathon
systemctl start mesos-master systemctl start marathon
mesos Configuración e inicio del nodo esclavo
El contenido del archivo de configuración [/etc/mesos-slave/ip] es la dirección IP del nodo esclavo actual
El archivo de configuración [/etc /mesos-slave/hostname ]El contenido es el nombre de dominio del nodo esclavo actual (debe ser resuelto por otros nodos)
Habilite el nodo esclavo para que admita Docker:
echo ' docker,mesos' gt; /etc/mesos-slave /containerizers echo '5mins' gt; /etc/mesos-slave/executor_registration_timeout
Iniciar mesos esclavo:
systemctl start mesos- esclavo
Script de prueba
p>El script de prueba proviene del vídeo de youtube al que hice referencia
wget '/draculavlad/SetUpMesosphereOnCentos7WithServiceDiscovery/blob/master/launch.sh ' wget '/draculavlad/SetUpMesosphereOnCentos7WithServiceDiscovery/blob/master/nginx-bridge .json' export marathon_node_ip=$your_marathon_node_ip chmod x launch.sh ./launch.sh nginx-bridge.json