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へのpassword
、permissions
、policies
。
デフォルトでは、起動時に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-mode
はexactly
に設定されており、これは キュー(ミラーズ)のミラーリングノードの正確な数。 ノードの数は ha-params
で制御されます。
詳細な情報やカスタム設定については、公式の RabbitMQ ドキュメンテーションを参照してください。
環境変数#
いくつかのオプションは環境変数を通じて設定可能です。
環境変数 | デフォルト | 説明 |
---|---|---|
RABBITMQ_DEFAULT_USER | guest | 管理UIへのアクセス用のユーザ名。 |
RABBITMQ_DEFAULT_PASS | guest | 管理UIへのアクセス用のパスワード。 |
RABBITMQ_DEFAULT_VHOST | / | RabbitMQのメインの仮想ホスト。 |
RABBITMQ_DEFAULT_HA_PATTERN | ^$ | ミラーリングキューにマッチする正規表現。 |