Sto tentando di eseguire Rabbitmq utilizzando Kubernetes su AWS. Sto usando lo official Rabbitmq docker container. Ogni volta che il pod viene riavviato, il contenitore rabbitmq ottiene un nuovo nome host. Ho configurato un servizio (di tipo LoadBalancer) per il pod con un nome DNS risolvibile.La modifica del nome host interrompe Rabbitmq durante l'esecuzione su Kubernetes
Ma quando io uso un EBS per fare il coniglio config/messsage/code persistente tra riavvio si rompe con:
exception exit: {{failed_to_cluster_with,
['[email protected]'],
"Mnesia could not connect to any nodes."},
{rabbit,start,[normal,[]]}}
in function application_master:init/4 (application_master.erl, line 134)
rabbitmq-deployment-2901855891-nord3
è il precedente contenitore hostname RabbitMQ. E 'quasi come mnesia salvato il vecchio hostname: -/
informazioni del contenitore si presenta così:
Starting broker...
=INFO REPORT==== 25-Apr-2016::12:42:42 ===
node : [email protected]
home dir : /var/lib/rabbitmq
config file(s) : /etc/rabbitmq/rabbitmq.config
cookie hash : XXXXXXXXXXXXXXXX
log : tty
sasl log : tty
database dir : /var/lib/rabbitmq/mnesia/rabbitmq
sono in grado di impostare la prima parte del nome del nodo per rabbitmq
utilizzando l'ambiente RABBITMQ_NODENAME
unica variabile.
Impostazione RABBITMQ_NODENAME
ad un nome DNS risolvibile rompe con:
Can't set short node name!\nPlease check your configuration\n"
Impostazione RABBITMQ_USE_LONGNAME
a true
pause con:
Can't set long node name!\nPlease check your configuration\n"
Aggiornamento:
L'impostazione
RABBITMQ_NODENAME
su rabbitmq @localhost funziona ma questo non consente alcuna possibilità alle istanze di cluster.Starting broker... =INFO REPORT==== 26-Apr-2016::11:53:19 === node : [email protected] home dir : /var/lib/rabbitmq config file(s) : /etc/rabbitmq/rabbitmq.config cookie hash : 9WtXr5XgK4KXE/soTc6Lag== log : tty sasl log : tty database dir : /var/lib/rabbitmq/mnesia/[email protected]
Impostazione
RABBITMQ_NODENAME
al nome del servizio, in questo caso, in questo modorabbitmq-service
RabbitMQ @RabbitMQ-service funziona anche dato i nomi dei servizi kubernetes sono internamente risolvibili tramite DNS.Starting broker... =INFO REPORT==== 26-Apr-2016::11:53:19 === node : [email protected] home dir : /var/lib/rabbitmq config file(s) : /etc/rabbitmq/rabbitmq.config cookie hash : 9WtXr5XgK4KXE/soTc6Lag== log : tty sasl log : tty database dir : /var/lib/rabbitmq/mnesia/[email protected]
'questo il modo giusto, però? Sarò ancora in grado di raggruppare più istanze se i nomi dei nodi sono uguali?
Quindi OK, lo scaling dinamico per molte applicazioni è gravemente compromesso da questo. Ma almeno ho una soluzione per cluster manualmente RabbitMQ. –
Penso che a questo punto StatefulSets possa fare al meglio, questa risposta potrebbe essere superata. – OhJeez