Ansible のインストールと構成
前のステップで、自動化サーバーがプロビジョニングされ、初期オペレーティング・システム構成が完了しています。 このステップでは、以下のタスクが実施されます。
Ansible NSX-T コレクションをインストールする際には、オプションのステップがあります。 オプションのステップが必要になるのは、Ansible® を使用してサンドボックスを作成する場合のみです。
Ansible のインストール
自動化サーバーのコマンド・ラインで、以下のコマンドを実行します。
sudo apt update
sudo apt install ansible -y
sudo apt install python3-pip -y
ansible --version
これらのコマンドは、以下の項目に使用されます。
- システムのパッケージ索引をリフレッシュする。
- Ansible® ソフトウェアをインストールする。
- Ansibleで WinRM を使用する場合に、その使用に必要な pip パッケージをインストールする。
- Ansible がインストールされていることを確認する。
Ansible コレクションの追加
Ansible コレクションは追加モジュールです。 このデプロイメントでは、以下のコマンドを使用して必要なコレクションを追加します。
ansible-galaxy collection install ansible.posix
ansible-galaxy collection install community.general
ansible-galaxy collection install ansible.windows
ansible-galaxy collection install community.windows
ansible-galaxy collection install juniper.device
ansible-galaxy collection install junipernetworks.junos
juniper.device
コレクションおよび junipernetworks.junos
コレクションは、隔離されたリカバリー環境を構築する場合にのみ必要になります。
Ansible インベントリー・ファイルの作成
-
Ansible ファイルのディレクトリー構造を作成し、初期インベントリー・ファイルを作成して Ansible ホストへの Ansible 接続をテストします。 Ansible ユーザーとして接続されている場合は、以下のコマンドを使用します。
sudo mkdir /swlib sudo mkdir /swlib/ansible
-
2 つのグループ [LHBR] と [VBR] を持つ
hosts
という名前のインベントリー・ファイルを作成します。これには、強化 Linux® リポジトリーと Veeam® バックアップ・サーバーの、IP アドレスまたは FQDN を指定します。touch /swlib/ansible/hosts vi /swlib/ansible/hosts
例
変更不可能バックアップ用の hosts
ファイル。
[lhbr]
lhbr01.test.ibmcloud.local ansible_user=root
[vbr]
prodbackup ansible_host=10.38.207.157 ansible_user=sa-ansible ansible_connection=winrm ansible_winrm_server_cert_validation=ignore
隔離されたリカバリー環境用の hosts
ファイル。
[lhbr]
lhbr01.test.ibmcloud.local ansible_user=root
[vbr]
prodbackup ansible_host=10.38.207.157 ansible_user=sa-ansible ansible_connection=winrm ansible_winrm_server_cert_validation=ignore
[vsrx]
gateway01 ansible_host=10.5.37.138 ansible_user=sa-ansible
ファイルを暗号化するための Ansible ボールトの使用
Ansible ボールトを使用すると、値とデータ構造を暗号化して重要データを保護できます。ここで、重要データとは、パスワードや秘密鍵のように、Ansible の再生を正常に実行するために必要ではある一方で公開されていないものです。 Ansible は、鍵が指定されると、ボールトで暗号化されたコンテンツを実行時に自動的に暗号化解除します。
ボールトはファイル・レベルの細分性で実装されます。つまり、ファイルは完全に暗号化されているか、暗号化されていないかのどちらかです。 これは、AES256 アルゴリズムを使用して、ユーザー提供のパスワードを鍵とする対称暗号化を提供します。 コンテンツの暗号化と暗号化解除には、同じパスワードが使用されます。 ansible-vault
コマンドは、最初にファイルを暗号化し、次にデータを閲覧、編集、復号化するために使われます。
- Ansible設定ファイルを作成し、
hosts
ファイルとvaultパスワードファイルの場所を詳細に記述します。 sa-ansible
ユーザがVeeamバックアップ・サーバにアクセスするためのパスワードを保持するgroup_vars/vbr.yml
というファイルを作成し、暗号化します。 Veeam バックアップ・サーバーのパスワードがここに含まれている理由は、ansible vbr -m win_ping
コマンドを機能させるためです。vault
というファイルを作成して暗号化します。このファイルは強化バックアップ・リポジトリーのパスワードと、オプションで vSRX アプライアンスのパスワードを保持します。
vault_pass
ファイルを使用することはオプション・タスクです。ボールトに対するパスワードを保持するファイルを作成して保護します。 このタスクを実行しないと、Ansible コマンドの実行時にプロンプトにパスワードを入力する必要があります。
-
ボールト・パスワードの入力を求めるプロンプトを表示させないためには、以下のコマンドを入力してください。
touch ~/.vault_pass vi ~/.vault_pass
-
ボールト用に使用するパスワードを入力し、ファイルを保存します。
-
アクセス権を変更して、Ansible ユーザーのみが
chmod 600 ~/.vault_pass
の読み取りまたは書き込みを行えるようにします。 -
Ansible 構成ファイルを以下のように作成します。
cd /swlib/ansible touch ansible.cfg vi ansible.cfg
-
次に、ファイル内で以下のテキストを使用します。
[defaults] inventory = /swlib/ansible/hosts vault_password_file = ~/.vault_pass
-
Windows® サーバーのパスワードを、暗号化されたファイルに保存する必要があります。 Ansible は、group_vars および host_vars というディレクトリーから変数を含むファイルを自動的に読み取り、それらをファイル名によってグループとホストに関連付けます。 次のコマンドを指定すると、インベントリー・ファイル内の vbr グループ [vbr] に一致する
vbr.yml
という名前の暗号化ファイルが作成されます。mkdir group_vars ansible-vault create group_vars/vbr.yml
-
エディターに、パスワードを入力します。
ansible_password: <password>
-
Esc
を押し:wq
を入力して終了します。 -
必要に応じてファイルを変更する場合は、以下のコマンドを使用します。
ansible-vault edit group_vars/vbr.yml
- このコマンドはファイルを編集します。ansible-vault decrypt group_vars/vbr.yml
-このコマンドは、別のエディター (nano
など) を使用して表示または変更できるようにファイルを暗号化解除します。ansible-vault encrypt group_vars/vbr.yml
- このコマンドは、ファイルが表示または変更された後に、そのファイルを暗号化します。
-
次のコマンドは、
vault
という名前の暗号化ファイルを作成します:ansible-vault create vault
。 -
エディターで以下のコマンドを入力します。ここで、
<lhbr_password>
および<sa_ansible_password>
は計画段階で定義されたパスワードです。
vault_lhbr_password: <lhbr_password>
vault_sa_ansible_password: <sa_ansible_password>
Esc
を押し:wq
を入力して終了します。
接続のテスト
以下のコマンドを使用して、接続をテストします。
ansible lhbr -m ping
ansible vbr -m win_ping
正常に実行された場合、出力にはコマンドごとに SUCCESS
が表示されます。
Ansible NSX-T コレクションのインストール
このステップはオプションであり、Ansible がサンドボックスの構成に使用される場合にのみ必要です。
-
Ansible ユーザーとして Ansible コントロール・ノードに接続します。
-
python をインストールします:
sudo pip3 install --upgrade pyvmomi pyvim requests
。 -
以下のコマンドを実行して、次のタスクを実行します。
- ダウンロード用のフォルダーの作成。
- Git リポジトリーの複製。
- Ansible コレクションの構築。
- ローカルに作成されたコレクションのインストール。
cd /swlib mkdir downloads cd downloads git clone https://github.com/vmware/ansible-for-nsxt.git cd ansible-for-nsxt ansible-galaxy collection build ansible-galaxy collection install vmware-ansible_for_nsxt-1.0.0.tar.gz