%E3%80%82%E3%81%95%E3%82%89%E3%81%AB%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
起動時に問題が発生しているため、RabbitMQ クラスターが準備完了状態に切り替わりません (準備状況プローブが失敗しています)。
クラスターは公式の RabbitMQ オペレーターを使用してデプロイされました。残念ながら、ログには貴重な情報は含まれていません。
RabbitmqCluster リソースは、ほぼデフォルトの hello world の例です。
cat <<EOF | kubectl apply -f -
apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
name: why-not-ready
spec:
persistence:
storageClassName: nfs-client
---
EOF
ログ出力:
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.
追加のログ記録を有効にしようとしましたが、残念ながらそれ以上の出力は表示されませんでした。
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
セットアップ コンテナーは正常に実行されているようです > すべてのファイルが有効なコンテンツで目的の場所に正しくコピーされています。
> 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
デバッグから得られた追加の洞察:
- /var/lib/rabbitmq/mnesia/ はコンテナ内から書き込み可能であり、永続ボリューム上でも更新されます。
- 次に、rabbitmq がアプリケーションをどのように起動しているかを確認しました。起動時に呼び出されるセットアップ スクリプト /opt/bitnami/scripts/rabbitmq/setup.sh があります。内部で rabbitmq_initialize が呼び出され、
INFO ==> Starting RabbitMQ in background...
ログに表示されている次の stdout 行が生成されます。残念ながら、スクリプトを手動で呼び出しても、追加の出力は提供されません。
起動時に何が失敗しているのか、または追加のデバッグ ログを有効にする方法について、何かアイデアをお持ちの方はいらっしゃいますか? ご協力いただければ幸いです。
ありがとう、BR、
フィリップ
答え1
このケースは非常に特殊だと思いますが、rabbitmq_initialize の何らかのログ記録があればよかったのですが、現在はそれが欠けています。
私の場合、コア DNS が到達不能でした (K8s ルーティング構成が無効のため)。これは、rabbitmq を起動するときに必要になるようです。
永続ボリュームの書き込み権限を削除することでも問題を再現できました。ただし、これは単にアイデアが尽きたためです :)。