Ansible制御ノードのセットアップ
Ansible制御ノードをセットアップするには、SUSE Multi-Linux Manager Web UIから次のステップを実行します。
|
クライアントをAnsible制御ノードとして構成するには、そのシステムにAnsibleパッケージをインストールする必要があります。
通常、Ansibleパッケージはオペレーティングシステムベンダーの公式リポジトリから取得する必要があります。
例えば、SUSE Linux Enterprise 15 SP6 および SP7 では、Ansible は |
SUSE Multi-Linux Manager Web UIで、に移動し、
SUSE Linux Enterprise Server 15 SP6 x86_64(またはそれ以降)が`Systems Management Module`および必要な`Python 3 Module`とともに選択され、同期されていることを確認します。SUSE Linux Enterprise 15 SP6(またはそれ以降)のクライアントをデプロイします。
SUSE Multi-Linux Manager Web UIで、クライアントのページに移動します。 を選択し、クライアントを`SUSE Linux Enterprise Server 15 SP6 x86_64`(またはそれ以降のSP)、
Systems Management Module、および`Python 3 Module`チャネルにサブスクライブします。クライアントのを選択します。 `Add-On System Types`リストから`Ansible Control Node`を有効にし、プロパティの更新をクリックします。
クライアントの概要ページに移動し、を選択して、Highstateの適用をクリックします。
イベントタブを選択し、Highstateの状態を確認します。
SUSE Linux Enterprise 15 SP4 または SP5 クライアントに新しい Ansible をインストールする場合は、Python 3 Module を有効にする必要があります。
|
新しいバージョンのAnsibleは、古いPythonバージョンを使用しているノードの管理をサポートしなくなりました。 管理対象ノードが古いPythonバージョンをデフォルトで使用している場合、接続エラーやプレイブックの実行中にエラーが発生する可能性があります。 これに対処するために、ユーザーは可能であれば管理対象ノードのPythonをアップグレードし、Ansibleインベントリまたは設定で正しいPythonインタープリターを設定する必要があります。 |
1. Ansibleインベントリファイルの作成
Ansible統合ツールは、プレイブックをインベントリファイルとしてデプロイします。 _テーブル 1_にリストされている各オペレーティングシステムのために、1つのインベントリファイルを作成します。
インベントリファイルを作成し、そこにホストを追加してAnsibleによって管理できるようにします。 Ansibleインベントリのデフォルトパスは`/etc/ansible/hosts`です。
Listing 1. インベントリの例client240.mgr.example.org client241.mgr.example.org client242.mgr.example.org client243.mgr.example.org ansible_ssh_private_key_file=/etc/ansible/some_ssh_key [mygroup1] client241.mgr.example.org client242.mgr.example.org [mygroup2] client243.mgr.example.org [all:vars] ansible_ssh_public_key_file=/etc/ansible/my_ansible_private_keySUSE Multi-Linux Manager Web UI内の`Ansible`タブからに移動し、インベントリファイルを追加します。
Playbook Directories`セクションで、/usr/share/scap-security-guide/ansible`を`Add a Playbook Directories`フィールドに追加し、Saveをクリックします。`Inventory Files`で、インベントリファイルの場所を`Add an Inventory file`フィールドに追加し、Saveをクリックします。
Listing 2. 例/etc/ansible/sles15 /etc/ansible/sles12 /etc/ansible/centos7追加のプレイブックの例については、 https://github.com/ansible/ansible-examples.を参照してください。
-
インベントリで使用しているSSHキーを作成します。
ssh-keygen -f /etc/ansible/my_ansible_private_key
-
生成されたSSHキーをAnsible管理対象クライアントにコピーします。 例:
ssh-copy-id -i /etc/ansible/my_ansible_public_key root@client240.mgr.example.org
-
`/etc/ansible/ansible.cfg`で秘密鍵を次のように宣言します。
private_key_file = /etc/ansible/my_ansible_private_key
`my_ansible_private_key`を、秘密鍵を含むファイルの名前に置き換えます。
-
制御ノードから次のコマンドを実行して、Ansibleが動作していることをテストします。
ansible all -m ping ansible mygroup1 -m ping ansible client240.mgr.example.org -m ping
これで修正を実行できます。 詳細については、コードとしてのコンプライアンスを参照してください。