他の言語で読む:
 英語,
 英語,  日本語,
 日本語,  ブラジルのポルトガル語,
 ブラジルのポルトガル語,  フランス語,
 フランス語,  スペイン語.
 スペイン語.
この演習では、Ansibleを使用してRed Hat Enterprise Linuxサーバーで基本的なシステム設定タスクを行います。dnfやuserなどの基本的なAnsibleモジュールに慣れ親しんで、プレイブックの作成と実行方法を学びます。
Ansibleのプレイブックは、基本的にYAML形式で書かれたスクリプトです。Ansibleがサーバーに適用するタスクと設定を定義するために使用されます。
まず、プレイブック用のYAML形式のテキストファイルを作成します。覚えておくべきこと:
---)から始めます。主な概念:
hosts: プレイブックが実行される対象のサーバーやデバイスを指定します。tasks: Ansibleが実行するアクションです。become: 権限の昇格(権限を持った状態でタスクを実行)を可能にします。注: Ansibleのプレイブックは冪等性が設計されています。つまり、同じホストに対して複数回実行しても、望ましい状態を保証し、冗長な変更を加えないことを意味します。
最初のプレイブックを作成する前に、~/lab_inventoryに移動して正しいディレクトリにいることを確認します:
cd ~/lab_inventory
次に、基本的なシステム設定を行うsystem_setup.ymlという名前のプレイブックを作成します:
myuserという新しいユーザーを作成します。基本的な構造は以下の通りです:
---
- name: Basic System Setup
  hosts: node1
  become: true
  tasks:
    - name: Update all security-related packages
      ansible.builtin.dnf:
        name: '*'
        state: latest
        security: true
    - name: Create a new user
      ansible.builtin.user:
        name: myuser
        state: present
        create_home: true
注: パッケージの更新はAnsibleのプレイブックが完了する前に数分かかる場合があります。
dnfモジュールについて: このモジュールは、RHELおよびその他のFedoraベースのシステムでDNF(Dandified YUM)を使用したパッケージ管理に使用されます。
userモジュールについて: このモジュールは、ユーザーアカウントの管理に使用されます。
ansible-navigatorコマンドを使用してプレイブックを実行します:
[student@ansible-1 lab_inventory]$ ansible-navigator run system_setup.yml -m stdout
各タスクが正常に完了したことを確認するために出力を確認してください。
次に、設定後のチェック用にsystem_checks.ymlという名前の2つ目のプレイブックを作成しましょう:
---
- name: System Configuration Checks
  hosts: node1
  become: true
  tasks:
    - name: Check user existence
      ansible.builtin.command:
        cmd: id myuser
      register: user_check
    - name: Report user status
      ansible.builtin.debug:
        msg: "User 'myuser' exists."
      when: user_check.rc == 0
チェック用のプレイブックを実行します:
[student@ansible-1 lab_inventory]$ ansible-navigator run system_checks.yml -m stdout
ユーザー作成が成功したことを確認するために出力を確認してください。
ナビゲーション