nginxinc.nginx_management_suite
Ansible NGINX Management Suite ロール
このロールは、NGINX Management Suite(NMS)をインストールするだけです。
注意: このロールは現在も開発中です。未確認の問題があるかもしれません。また、開発が進むにつれて変数が変更される可能性があります。
要件
- NGINX Management Suite ライセンスファイル
- NGINX Ansible ロール (nginxinc.nginx)
NGINX Management Suite 証明書ファイル
NMSをインストールするには、リポジトリにアクセスするためのNMS証明書ファイルが必要です。MyF5にログインするか、トライアルアクティベーションメールのリンクをたどって、NMSリポジトリの**.crtと.key**ファイルをダウンロードしてください:
- nginx-mgmt-suite-trial.key
- nginx-mgmt-suite-trial.crt
注意: これらのファイルの名前をそれぞれnginx-repo.keyとnginx-repo.crtに変更してください。
NGINX インスタンス
NMSには、NGINX OSSまたはNGINX Plusのいずれかのインスタンスが必要です。このロールは、NGINX Ansible ロール(名前はnginxinc.nginx)に依存して処理します。この依存関係のため、このロールを使用する際にnginxinc.nginxに関連する変数を設定できます。例えば、nginx_typeはnginxinc.nginxの変数で、他のAnsible変数と同様に設定できます。したがって、プレイブックでnginx_type: plusと定義すると、このNMSロールはnginxinc.nginxロールを呼び出し、NGINX Plusをインストールします。詳しくはAnsible ロール NGINXを参照してください。
NGINX OSSまたはNGINX Plusの使用の主な違いは、使用する認証オプションによります。
Ansible
このロールは、メンテナンスされているAnsibleコアのバージョン(
2.12以上)で開発およびテストされています。このロールは、nginxinc.nginxバージョン0.24.0を使用して開発およびテストされました。
- 2024年6月24日更新:エッジのnginxinc.nginxバージョンを使用します。
requirements.ymlの例はこちらです。
- 2024年6月24日更新:エッジのnginxinc.nginxバージョンを使用します。
このロールを使用する場合、以下のコレクションをインストールする必要があります。これらのコレクションのインストールに関する追加情報は、インストールセクションにあります。
- ansible.posix
- community.general
- community.crypto
- community.docker(Moleculeを使用する予定がある場合のみ必要)
このロールは、Ansibleの
becomeパラメータを使用して、rootユーザーとして実行する必要があります。ターゲットホストに適切な許可が設定されていることを確認してください。Ansibleのインストール方法については、Ansibleのウェブサイトを参照してください。
Jinja2
- このロールはJinja2テンプレートを使用しています。AnsibleコアはデフォルトでJinja2をインストールしますが、インストールやアップグレードの経路によっては、古いバージョンを使用している可能性があります。このロールが正常に機能するために必要なJinja2の最小バージョンは
3.1です。 - Jinja2のインストール方法については、Jinja2のウェブサイトを参照してください。
Molecule(オプション)
このAnsibleロールに貢献する場合は、これを使用することをお勧めします。
Moleculeは、このロールのさまざまな機能をテストするために使用されます。このロールをテストするために推奨されるMoleculeのバージョンは
4.0.1です。Moleculeのインストール方法については、Moleculeのウェブサイトを参照してください。Molecule Dockerドライバーもインストールする必要があります。
Moleculeテストを実行するには、NMSライセンスをロールの
files/licenseフォルダーにコピーする必要があります。別の方法として、NGINX Management Suiteリポジトリ証明書とキーをローカル環境に追加することもできます。以下のコマンドを実行して、これらのファイルをBase64エンコードされた変数としてエクスポートし、Moleculeテストを実行します:
export NGINX_CRT=$( cat <証明書ファイルのパス> | base64 ) export NGINX_KEY=$( cat <キーファイルのパス> | base64 ) molecule test -s plus
使用法
このAnsibleロールを使用してNGINX Management Suite(NMS)をインストールするための手順は次のとおりです。
インベントリファイルを作成
次の内容でinventoryというインベントリファイルを作成します。
[nms]
<hostname> ansible_user=<adminUserName> ansible_become=yes
必要なロールとコレクションをインストール
このロールが必要とするパッケージ要件をインストールします。以下の内容のrequirements.ymlファイルを作成します。
---
roles:
- name: nginxinc.nginx_management_suite
version: 0.3.0
collections:
- name: ansible.posix
version: 1.5.1
- name: community.general
version: 6.4.0
- name: community.crypto
version: 2.11.0
- name: community.docker # Moleculeを使用する予定がある場合のみ必要
version: 3.4.2
次のコマンドを使用して、Ansibleロールとコレクションをインストールします。
ansible-galaxy install -r requirements.yml
すでにインストールされているが、新しいバージョンに更新する必要がある場合は、以下のコマンドを使用します。
ansible-galaxy install -fr requirements.yml
NGINX証明書を知られた場所に移動
ここでは、NGINX証明書をNMSインストールのプレイブックファイルを作成するのと同じディレクトリに移動します。
プレイブックを作成
以下の例を使用して、nms-install.ymlというプレイブックファイルを作成します。ここでは、NGINX PlusでNMSをインストールしています。
NGINX証明書のあるパスを指定してください。ここでは、プレイブックと同じパスにあります。
- name: Install NGINX Management Suite
hosts: nms
tasks:
- name: Install NMS
ansible.builtin.include_role:
name: nginxinc.nginx_management_suite
vars:
nms_setup: install
nms_user_name: admin
nms_user_passwd: default
nginx_type: plus
nginx_selinux: true
nginx_selinux_enforcing: false
nginx_license:
certificate: nginx-repo.crt
key: nginx-repo.key
NMSをインストール
以下のコマンドを実行して、NMSをインストールするプレイブックを実行します。
ansible-playbook -i inventory nms-adm-install.yml
NMS Ansibleロールの最新エッジ、つまりmainブランチを使用する
このロールの最新エッジを使用したい場合はいくつかの方法があります。
requirements.ymlに以下のスニペットを使用します。roles: - src: https://github.com/nginxinc/ansible-role-nginx-management-suite.git version: maingit clone https://github.com/nginxinc/ansible-role-nginx-management-suite.gitを使用して、GitHubからロールの最新エッジコミット(mainブランチ)を取得します。
プラットフォーム
このAnsibleロールは、NGINX Management Suiteでサポートされているすべてのプラットフォームをサポートしています:
NGINX Management Suite
Amazon Linux 2:
- いつでも
CentOS:
- 7.4以上
Debian:
- buster (10)
- bullseye (11)
Oracle Linux:
- 7.4以上
- 8
Red Hat:
- 7.4以上
- 8
- 9
Ubuntu:
- bionic (18.04)
- focal (20.04)
- jammy (22.04)
注意: 準拠していないプラットフォームにNGINX Management Suiteをインストールするには、自分のリスクで行ってください。
ロール変数
このロールには複数の変数があります。これらの変数の説明とデフォルトは、**defaults/main/**フォルダー内の次のファイルに見つかります:
| 名前 | 説明 |
|---|---|
main.yml |
NMSインストール変数 |
同様に、事前設定された変数の説明とデフォルトは、**vars/**フォルダー内の次のファイルに見つかります:
| 名前 | 説明 |
|---|---|
main.yml |
サポートされているNMSインストール変数のリスト |
例プレイブック
機能するプレイブックの例は、**molecule/**フォルダー内の次のファイルに見つかります:
| 名前 | 説明 |
|---|---|
default/converge.yml |
NGINX OSSとNMSをインストール |
plus/converge.yml |
NGINX PlusとNMSをインストール |
upgrade/converge.yml |
NMSをアップグレード |
modules/converge.yml |
NGINX OSSとNMS及びAPI接続マネージャーモジュールをインストール |
service-stopped/converge.yml |
NGINX OSSとNMSをインストールし、サービスを選択した状態にする |
このリポジトリをAnsible Galaxyを介してインストールする場合、サンプルプレイブック中のロール変数は、ansible-role-nginx-management-suiteからnginxinc.nginx_management_suiteに置き換える必要があります。
その他のNGINX Ansibleコレクションとロール
NGINX Open Source、NGINX Plus、NGINX App Protectをインストールおよび構成するためのAnsible NGINXコアコレクションのロールは、こちらにあります。
NGINXを構成するためのAnsible NGINX構成ロールは、こちらにあります。
NGINX UnitをインストールするためのAnsible NGINX Unitロールは、こちらにあります。
ライセンス
作者情報
© F5, Inc. 2023
ansible-galaxy install nginxinc.nginx_management_suite