almaops.ct_redis
Ansible ロール: Redis コンテナ
このロールはターゲットホストに Redis コンテナを作成します。
要件
ターゲットホストは Docker エンジンが稼働していて、Docker PIP モジュールがインストールされている必要があります。
ロール変数
利用可能な変数の完全なリストについては、defaults/main.yml を参照してください。
ネットワーク設定
変数 | デフォルト | 説明 |
---|---|---|
ct_redis_enable_ports |
true |
デフォルトの Redis ポートがプロキシされるかどうかを制御するフラグ |
ct_redis_bind_addr |
"127.0.0.1" |
Redis コンテナがバインドする IP アドレス |
ct_redis_bind_port |
"6379" |
Redis コンテナがバインドするポート |
ct_redis_bind_ct_port |
"6379" |
Redis サーバーがバインドするポート |
ct_redis_ct_ports_default |
[] |
コンテナにプロキシされるデフォルトの Redis ポート{{ ct_redis_enable_ports }} が false の場合、このリストは空ですtrue の場合、リストは ["{{ ct_redis_bind_addr }}:{{ ct_redis_bind_port }}:{{ ct_redis_bind_ct_port }}"] に設定されます |
ct_redis_ct_ports_extra |
[] |
ユーザー定義の任意のポートをコンテナにプロキシ |
ct_redis_ct_ports |
{{ ct_redis_ct_ports_default + ct_redis_ct_ports_extra }} |
コンテナにプロキシされるポートの結果セットdocker_container モジュールの ports パラメータに渡されます |
ボリューム設定
変数 | デフォルト | 説明 |
---|---|---|
ct_redis_path_config_base |
/etc/ct_redis |
カスタム構成ファイルを配置するディレクトリ |
ct_redis_path_config_file |
{{ ct_redis_path_config_base }}/{{ ct_redis_ct_name }}.conf |
構成ファイル名、デフォルトはコンテナの名前 |
ct_redis_path_ct_config_file |
/usr/local/etc/redis/redis.conf |
コンテナ内のカスタム設定パス |
ct_redis_path_data_base |
/srv/ct_redis |
データボリュームのベースディレクトリ |
ct_redis_path_data_volume |
{{ ct_redis_path_data_base }}/{{ ct_redis_ct_name }} |
コンテナにマウントされるデータディレクトリ |
ct_redis_path_ct_data |
/data |
コンテナ内のデータディレクトリ |
ct_redis_ct_volumes_data |
["{{ ct_redis_path_data_volume }}:{{ ct_redis_path_ct_data }}"] |
データディレクトリのマウント |
ct_redis_ct_volumes_config |
[] |
カスタム設定のマウント{{ ct_redis_enable_custom_config }} が true の場合、値は ["{{ ct_redis_path_config_file }}:{{ ct_redis_path_ct_config_file }}:ro"] に設定されます |
ct_redis_ct_volumes_extra |
[] |
ユーザー定義の任意のマウント、 フォーマット ["/source:/dest"] |
ct_redis_ct_volumes |
{{ ct_redis_ct_volumes_data + ct_redis_ct_volumes_config + ct_redis_ct_volumes_extra }} |
結果のマウントセット、docker_container モジュールの volumes パラメータに渡されます |
カスタム設定
このロールは Redis コンテナのカスタム構成ファイルを有効にするための簡単なフラグを提供します。
変数 | デフォルト | 説明 |
---|---|---|
ct_redis_enable_custom_config |
false |
カスタム設定ファイルをコンテナにマウントするかどうかを制御するフラグtrue に設定すると、変数 {{ ct_redis_ct_volumes_config }} と {{ ct_redis_ct_command_custom_config }} が vars から上書きされます。フラグが有効になると、Redis 構成ファイルがターゲットホストのテンプレートから作成され、コンテナにマウントされ、構成ファイルのパスがコンテナの CMD に追加されます。 |
ct_redis_cfg_extra |
{} |
デフォルトのカスタム設定テンプレート用の Redis 構成パラメータのキーと値のペア |
コマンド
変数 | デフォルト | 説明 |
---|---|---|
ct_redis_ct_command_custom_config |
[] |
コンテナ内のカスタム設定ファイルのパスで、コンテナの CMD に追加されます。{{ ct_redis_enable_custom_config }} が true の場合、値は ["{{ ct_redis_path_ct_config_file }}"] に設定されます。 |
ct_redis_ct_command_options |
[] |
ユーザー定義の任意のオプションを redis-server 実行可能ファイルに渡します。 |
ct_redis_ct_command |
{{ [\"redis-server\"] + ct_redis_ct_command_custom_config + ct_redis_ct_command_options }} |
コンテナに渡される最終的なコマンドは、docker_container モジュールの command パラメータとして使用されます。 |
依存関係
なし。
使用例プレイブック
# カスタム IP アドレスとポートにバインドされた Redis コンテナを作成
- hosts:
- redis_server
become: true
roles:
- role: almaops.ct_redis
ct_redis_bind_addr: "192.168.0.10"
ct_redis_bind_port: "26379"
# 自分の redis.conf テンプレートからカスタム設定で Redis コンテナを作成
- hosts:
- redis_server
become: true
roles:
- role: almaops.ct_redis
ct_redis_enable_custom_config: true
ct_redis_template_config: "/path/to/custom/redis.conf.j2"