%2C%20%C2%BFc%C3%B3mo%20solucionar%20m%C3%A1s%20problemas%3F.png)
Mi clúster RabbitMQ no cambia al estado listo (las sondas de preparación fallan), ya que tiene problemas al iniciarse.
El clúster se implementó utilizando el operador oficial RabbitMQ. Lamentablemente, los registros no contienen ninguna información valiosa.
El recurso RabbitmqCluster es más o menos el ejemplo predeterminado de hola mundo:
cat <<EOF | kubectl apply -f -
apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
name: why-not-ready
spec:
persistence:
storageClassName: nfs-client
---
EOF
Salida del registro:
rabbitmq 09:06:44.95
rabbitmq 09:06:44.96 Welcome to the Bitnami rabbitmq container
rabbitmq 09:06:44.96 Subscribe to project updates by watching https://github.com/bitnami/containers
rabbitmq 09:06:44.96 Submit issues and feature requests at https://github.com/bitnami/containers/issues
rabbitmq 09:06:44.96
rabbitmq 09:06:44.96 INFO ==> ** Starting RabbitMQ setup **
rabbitmq 09:06:44.98 INFO ==> Validating settings in RABBITMQ_* env vars..
rabbitmq 09:06:44.99 INFO ==> Initializing RabbitMQ...
rabbitmq 09:06:45.03 INFO ==> Starting RabbitMQ in background...
rabbitmq 09:09:03.93 ERROR ==> Couldn't start RabbitMQ in background.
Intenté habilitar el registro adicional, desafortunadamente no hubo más resultados visibles:
cat <<EOF | kubectl apply -n rabbitmq -f -
apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
name: why-not-ready
spec:
persistence:
storageClassName: nfs-client
rabbitmq:
additionalConfig: |
log.default.level = debug
log.file = false
log.console = true
log.console.stdio = stdout
log.console.level = debug
---
EOF
El contenedor de configuración parece funcionar bien > todos los archivos se copian correctamente en las ubicaciones deseadas con un contenido válido:
> cat /var/lib/rabbitmq/.erlang.cookie
uxdvZFvkpHFMdAgXM5azu0LOCE283kzY
> cat /operator/enabled_plugins
[rabbitmq_peer_discovery_k8s,rabbitmq_prometheus,rabbitmq_management].
> cat /var/lib/rabbitmq/.rabbitmqadmin.conf
[default]
username = default_user_l4yC9XizAcUHQEIe3Ep
password = zjvyy5XYCss-kFxu2dCnH2vDrd3AUsbu
Algunas ideas adicionales de la depuración:
- /var/lib/rabbitmq/mnesia/ se puede escribir desde el interior del contenedor y también se actualiza en el volumen persistente.
- Luego verifiqué cómo Rabbitmq inicia la aplicación. Hay un script de configuración /opt/bitnami/scripts/rabbitmq/setup.sh, que se llama al inicio. Dentro se llama a Rabbitmq_initialize, lo que provoca la siguiente línea estándar
INFO ==> Starting RabbitMQ in background...
como se ve en los registros. Desafortunadamente, no proporciona ningún resultado adicional una vez que invoco el script manualmente.
¿Alguien tiene una idea de qué falla al iniciar o cómo habilitar registros de depuración adicionales? ¡Cualquier ayuda sería apreciada!
Gracias y BR,
Felipe
Respuesta1
Creo que este caso fue muy especial > aún así me hubiera gustado tener algún tipo de registro para Rabbitmq_initialize, ya que actualmente falta.
En mi caso, fue un core-dns no accesible (debido a una configuración de enrutamiento K8 no válida), que parece ser necesario al iniciar Rabbitmq.
También pude reproducir el problema eliminando los privilegios de escritura en el volumen persistente. Sin embargo, esto fue sólo porque me estaba quedando sin ideas :).