インベントリのホスト変数とグループ変数
接続設定と構成変数をホストに割り当てます
「インベントリのホスト変数とグループ変数」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
変数をホストとともに管理
インベントリに記載するのは名前だけではありません。ホストやグループに変数を付けて、マシンごとにタスクの動作を変えられます。
INIのホスト変数
INIでは、ホスト名の直後にkey=valueの組を同じ行に記述します。これらはそのホスト1台だけに適用されます。
web1.example.com http_port=8080接続変数が特に重要
ansible_userやansible_hostのような特殊な変数は、設定内容だけでなく、Ansibleが接続する方法を指定します。
db1.example.com ansible_user=deploy ansible_port=2222実際のアドレスを上書き
ansible_hostを使うと、インベントリでは分かりやすい名前を使いながら、実際には背後にあるIPアドレスへ接続できます。
app1 ansible_host=10.0.0.21INIのグループ変数
[group:vars]セクションを使うと、グループ内のすべてのホストに1つの値を適用できます。一度設定すれば、どこでも共有できます。
[web:vars]
ansible_user=ubuntuYAMLインベントリの変数
YAMLでは、グループにvarsブロックを追加するか、空のコロンの代わりにホストへ値のマッピングを指定します。
web:
vars:
ansible_user: ubuntu
hosts:
web1.example.com:ホストごとのYAML変数
ホストキーの下に値を入れ子にすると、1台のホストに固有の値を設定できます。空だったコロンの位置がマッピングになります。
hosts:
web1.example.com:
http_port: 8080ホストがグループに優先
ホストとそのグループが同じ変数を設定している場合は、ホストの値が優先されます。常に具体的な設定が一般的な設定を上書きします。
タスクで変数を使用
二重の中括弧でインベントリ変数を参照します。ここではタスクがホストの定義からhttp_portを直接読み取ります。
- debug:
msg: "Serving on port {{ http_port }}"解決済みの値を確認
--hostフラグを使うと、ホストに最終的に適用されるすべての変数を確認できます。実際にどの値が使われたかをデバッグするのに便利です。
ansible-inventory -i inventory.ini --host web1.example.comインベントリをシンプルに保つ
インライン変数をいくつか使うのは問題ありませんが、複雑な設定は後でgroup_varsファイルに移します。インベントリには、詳しい設定方法ではなく対象だけを記載します。
確認テスト
ホストとそのグループが、どちらもansible_userを定義しています。Ansibleはどちらの値を使いますか。
まとめ
INIまたはYAMLでホストやグループに変数を付け、接続や設定の値を指定できます。値が競合した場合は、グループよりホストが優先されます。🔧
よくある質問
「インベントリのホスト変数とグループ変数」レッスンは無料ですか?
はい。「インベントリのホスト変数とグループ変数」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「インベントリのホスト変数とグループ変数」で何を学びますか?
接続設定と構成変数をホストに割り当てます ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「インベントリのホスト変数とグループ変数」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- INIとYAMLのインベントリファイル
- ホストのグループ化:web、db、app
- ネストしたグループとchildrenキーワード
- インベントリのホスト変数とグループ変数