%2C%20como%20solucionar%20problemas%20adicionais%3F.png)
Meu cluster RabbitMQ não está mudando para o estado pronto (as sondagens de prontidão estão falhando), pois está apresentando problemas na inicialização.
O cluster foi implantado usando o operador oficial RabbitMQ. Infelizmente, os logs não contêm nenhuma informação valiosa.
O recurso RabbitmqCluster é mais ou menos o exemplo padrão do hello world:
cat <<EOF | kubectl apply -f -
apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
name: why-not-ready
spec:
persistence:
storageClassName: nfs-client
---
EOF
Saída de 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.
Tentei ativar o registro adicional, infelizmente não havia mais saída visível:
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
O setup-container parece funcionar bem > todos os arquivos são copiados corretamente para os locais desejados com um conteúdo 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
Alguns insights adicionais da depuração:
- /var/lib/rabbitmq/mnesia/ pode ser gravado de dentro do contêiner e também atualizado no volume persistente.
- Em seguida, verifiquei como o RabbitMQ está iniciando o aplicativo. Existe um script de configuração /opt/bitnami/scripts/rabbitmq/setup.sh, que é chamado na inicialização. Dentro de RabbitMQ_initialize é chamado, o que causa a seguinte linha stdout
INFO ==> Starting RabbitMQ in background...
conforme visto nos logs. Infelizmente, ele não fornece nenhuma saída adicional quando chamo o script manualmente.
Alguém tem uma ideia do que está falhando na inicialização ou como habilitar logs de depuração adicionais? Qualquer ajuda seria apreciada!
Obrigado e BR,
Filipe
Responder1
Acho que este caso foi muito especial> ainda assim, eu gostaria de ter algum tipo de registro para RabbitMQ_initialize, pois está faltando no momento.
No meu caso, era um core-dns inacessível (devido à configuração de roteamento K8s inválida), que parece ser necessário ao iniciar o RabbitMQ.
Também consegui reproduzir o problema removendo privilégios de gravação no volume persistente. No entanto, isso foi só porque eu estava ficando sem ideias :).