Ansible制御ノードのセットアップ
Ansible制御ノードをセットアップするには、SUSE Manager Web UIから次のステップを実行します。
|
クライアントをAnsible制御ノードとして設定するには、そのシステムにAnsibleパッケージがインストールされている必要があります。 通常、Ansibleパッケージは、 オペレーティングシステムベンダの公式レポジトリから取得する必要があります。 たとえば、SUSE Linux Enterprise 15 SP6およびSP7では、Ansibleは、 |
Only for older SUSE Linux Enterprise 15 clients, Ansible is available through SLES 15 Client tools but there it will be dropped in the future.
-
SUSE Manager Web UIで、に移動し、
SUSE Linux Enterprise Server 15 SP6 x86_64(以降)とSystems Management Moduleおよび必要なPython 3 Moduleが選択および同期されていることを確認します。 -
SUSE Linux Enterprise 15 SP6 (またはそれ以降)のクライアントを配備します。
-
SUSE Manager Web UIで、クライアントのページに移動します。 を選択し、クライアントを
SUSE Linux Enterprise Server 15 SP6 x86_64(またはそれ以降のSP)、Systems Management Module、およびPython 3 Moduleチャンネルにサブスクライブします。 -
クライアントのを選択します。 [
付属エンタイトルメント]リストで[Ansible制御ノード]を有効にして、プロパティの更新をクリックします。 -
クライアントの概要ページに移動し、を選択して、highstateの適用をクリックします。
-
イベントタブを選択して、highstateの状態を確認します。
|
SUSE Linux Enterprise 15 SP4またはSP5クライアントに新しいAnsibleをインストールする場合は、 |
|
Ansibleの新しいバージョンでは、古いPythonバージョンを搭載したノードの管理はサポートされなくなりました。 管理対象ノードが依然として古いPythonバージョンをデフォルトとして設定している場合、playbookの実行中に接続エラーや障害が発生する可能性があります。 これに対処するには、可能であれば管理対象ノードのPythonをアップグレードし、Ansibleのインベントリまたは設定で正しいPythonインタープリタを設定する必要があります。 |
1. Ansibleインベントリファイルの作成
Ansible統合ツールは、playbookをインベントリファイルとして配備します。 _Table 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_private_key_file=/etc/ansible/my_ansible_private_key
-
SUSE Manager Web UIで、[
Ansible]タブからに移動して、制御ノードにインベントリファイルを追加します。 -
[
playbookディレクトリ]セクションで、[Add a Playbook Directories](playbookディレクトリの追加)フィールドに/usr/share/scap-security-guide/ansibleを追加し、保存をクリックします。 -
[
インベントリファイル]の下の[インベントリファイルの追加]フィールドにインベントリファイルの場所を追加し、保存をクリックします。Listing 2. 例/etc/ansible/sles15 /etc/ansible/sles12 /etc/ansible/centos7
その他のplaybookの例については、https://github.com/ansible/ansible-examplesを参照してください。
2. Ansibleノードとの通信の確立
-
インベントリで使用しているSSHキーを作成します。
ssh-keygen -f /etc/ansible/my_ansible_private_key
-
生成されたSSHキーをAnsible管理対象クライアントにコピーします。 例:
ssh-copy-id -i /etc/ansible/my_ansible_private_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
これで修復を実行できます。詳細については、コードとしてのコンプライアンスを参照してください。