コンテンツにスキップ

RabbitMQ#

管理プラグインがインストールされたLagoon RabbitMQ Dockerfile。公式の rabbitmq:3-management イメージに基づいています。docker-hubでご確認いただけます。

このDockerfileは、スタンドアロンのRabbitMQキューブローカーをセットアップするため、またデフォルトで高可用性キューサポート付きのクラスタをセットアップするためのベースイメージとして使用することを目的としています(ミラーリングキュー参照)。

デフォルトでは、RabbitMQブローカーは単一ノードとして起動します。クラスタを起動する場合は、rabbitmqイメージに加えてrabbitmq_peer_discovery_k8sプラグインを使用したrabbitmq-cluster Dockerイメージを使用する必要があります。

サポートされるバージョン#

  • 3.10 Dockerfile (2023年7月までセキュリティサポートあり) - uselagoon/rabbitmq

Lagoonの適応#

このイメージはLagoonで使用するために準備されています。したがって、すでにいくつかの事項が完了しています:

  • フォルダの権限は、fix-permissions、ランダムなユーザーと一緒にこのイメージが動作します。
  • ファイル/etc/rabbitmq/definitions.jsonは、envplateを通じてパースされ、コンテナエントリーポイントになります。

デフォルトのRabbitMQスキーマ(definitions.json)が含まれています#

  • ミラーリングキューのサポートを有効にするには、少なくとも一つのpolicyが存在しなければなりません。
  • definitions.jsonスキーマファイルでは、コンテナの実行に必要な最小限のエンティティが定義されています: virtualhost(vhost)、username、管理UIへのpasswordpermissionspolicies

デフォルトでは、起動時にlagoon-haというポリシーが作成されますが、キューの名前パターンと一致しないためアクティブではありません(デフォルトの環境変数を参照)。

definitions.json
"policies":[
        {"vhost":"${RABBITMQ_DEFAULT_VHOST}","name":"lagoon-ha","pattern":"${RABBITMQ_DEFAULT_HA_PATTERN}", "definition":{"ha-mode":"exactly","ha-params":2,"ha-sync-mode":"automatic","ha-sync-batch-size":5}}
  ]

デフォルトでは、ha-modeexactlyに設定されており、これは キュー(ミラーズ)のミラーリングノードの正確な数。 ノードの数は ha-params で制御されます。

詳細な情報やカスタム設定については、公式の RabbitMQ ドキュメンテーションを参照してください。

環境変数#

いくつかのオプションは環境変数を通じて設定可能です。

環境変数 デフォルト 説明
RABBITMQ_DEFAULT_USER guest 管理UIへのアクセス用のユーザ名。
RABBITMQ_DEFAULT_PASS guest 管理UIへのアクセス用のパスワード。
RABBITMQ_DEFAULT_VHOST / RabbitMQのメインの仮想ホスト。
RABBITMQ_DEFAULT_HA_PATTERN ^$ ミラーリングキューにマッチする正規表現。