INIとYAMLのインベントリファイル
両方のインベントリ形式でホストを記述します
「INIとYAMLのインベントリファイル」はCoddyKit上の無料Ansible Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAnsible Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ansible Academyコースには全4レッスンが含まれています。
インベントリとは
インベントリは、Ansibleが管理できるホストを一覧にしたファイルです。ホストが1台も記載されていなければ、自動化する対象はありません。
対応している2つの形式
Ansibleは、従来のINI形式と、構造化されたYAML形式という2種類のインベントリを読み取ります。1つのファイルでは、どちらか一方を選びます。
最も簡単なINIインベントリ
INI形式では、1行に1ホストを記述するだけで始められます。このファイルですでに2台のWebサーバーを管理できます。
web1.example.com
web2.example.com角括弧で示すINIグループ
INIグループの見出しは角括弧で囲み、その下にあるすべてのホストが次の見出しまでそのグループに所属します。
[web]
web1.example.com
web2.example.comYAMLで同じ構成
YAML形式では、すべての内容をallというトップレベルのキーの下に置き、その下にグループ、さらにホストを配置します。記述量は増えますが、大規模になるほど明確です。
all:
children:
web:
hosts:
web1.example.com:
web2.example.com:YAMLのホストはコロンで終わる
YAMLでは各ホストがマッピングのキーになるため、コロンで終わり、値は空になります。この空の値には、後から変数を格納できます。
hosts:
db1.example.com:Ansibleにファイルを指定
-iフラグで、コマンドに使用するインベントリを指定します。指定しない場合、Ansibleは/etc/ansible/hostsにフォールバックします。
ansible all -i inventory.ini --list-hostsAnsibleが認識する内容を確認
--list-hostsを実行すると、ファイルを正しく解析でき、想定したホストが表示されることを確認できます。最初の健全性チェックに最適です。
ansible web -i inventory.yml --list-hostsallグループは自動で付く
一覧に記載したすべてのホストは、自動的に組み込みのallグループに所属します。このグループを対象にすると、管理対象全体に一度に処理を実行できます。
ansible all -i inventory.ini -m ping小規模にはINI、大規模にはYAML
簡単でフラットな一覧にはINIを選び、入れ子のグループや多数の変数が必要になったらYAMLを使います。
ファイル拡張子に注意
Ansibleは内容からパーサーを推測しますが、.iniや.ymlのように明確な拡張子を付けると、チームメンバーやエディターにとって扱いやすくなります。
確認テスト
YAML形式のインベントリでホストを記述しています。各ホストはどのように記述されますか。
まとめ
インベントリには、INIまたはYAML形式でホストを一覧にします。INIはフラットで手早く、YAMLはallの下に入れ子にして、より豊かな構造を表現できます。📋
よくある質問
「INIとYAMLのインベントリファイル」レッスンは無料ですか?
はい。「INIとYAMLのインベントリファイル」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ansible Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ansible Academyコースには全4レッスンが含まれています。
「INIとYAMLのインベントリファイル」で何を学びますか?
両方のインベントリ形式でホストを記述します ブラウザで直接実行するハンズオンコードでAnsible Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ansible Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAnsible Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「INIとYAMLのインベントリファイル」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAnsible Academyレッスンでコードを書いて実行できますか?
はい。すべてのAnsible Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- INIとYAMLのインベントリファイル
- ホストのグループ化:web、db、app
- ネストしたグループとchildrenキーワード
- インベントリのホスト変数とグループ変数