他の言語で読む:
英語, 日本語, ブラジルのポルトガル語, フランス語, スペイン語.
この演習では、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
ユーザー作成が成功したことを確認するために出力を確認してください。
ナビゲーション