クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

Ansible の基本

レッスン全文をここで読めます。無料アカウントを作成すると、実際のラボで実践できます。

仮想マシンラボ読了目安 8分コマンド4個

このレッスンですること

パソコンやサーバーを手作業で設定すると時間がかかりますし、手順を全部覚えている人もいません。Ansible は、マシンをどんな状態にしたいかを プレイブック(playbook)というファイルに書いておくと、マシンをその状態に合わせてくれるツールです。このレッスンでは、プロジェクトを見て、プレイブックを読み、実行し、マシンの状態を Ansible に尋ねます。プレイブックを完成させることはしません。それはラボ自身の課題です。

始める前に

メモ

このレッスンの上のバーにある ラボを起動 を押してください。このラボは、あなた専用の Ubuntu マシン まるごとです。コンテナより起動に少し時間がかかります。下の 実行 ボタンは、マシンのターミナルにコマンドを順番に入力します。「マシンはまだ起動中です」と出たら、数秒待ってからもう一度押してください。実行の様子を見たり、自分でコマンドを打ったりするときは、バーの ターミナルを開く(新しいタブ) を押します。

1. プロジェクトを見る

ラボは、ホームフォルダに ansible-lab というフォルダを置いています。ls -l で中身の一覧が出ます。site.yml がプレイブックです。inventory.ini は Ansible が管理するマシンを書いたファイルで、ここでは今のマシン1台だけです。ansible.cfg は設定ファイルで、templates には空欄のあるファイルが入っています。

コマンド
ls -l ansible-lab

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

2. プレイブックを読む

プレイブックは タスク(task)の一覧で、YAML という書き方で書きます。このプレイブックのタスクは、メッセージを表示する1つだけです。また 変数(variable)site_name があり、中身は Riverside College です。その下に TODO の行が3つあります。ラボの3つの仕事を書く場所です。

コマンド
cat ansible-lab/site.yml

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

3. 実行する

ansible-playbook はプレイブックを読んで、書いてあるとおりに実行します。最後の数行が recap(まとめ)です。ok=2 は2つのタスクがうまくいったこと、changed=0 は何も変わらなかったことを表します。メッセージの表示では何も変わらないからです。マシンが正しい状態になれば、よいプレイブックは何度実行しても changed=0 になります。これを idempotent(何度実行しても同じ結果になること)といいます。

コマンド
ansible-playbook -i ansible-lab/inventory.ini ansible-lab/site.yml

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

4. モジュールに質問する

どのタスクも モジュール(module)を使います。モジュールは、1つの仕事をする小さなプログラムです。stat はファイルやフォルダの様子を調べます。ラボが作らせたいフォルダ /etc/ansible-lab について尋ねると、"exists": false と "changed": false が返ります。見ただけで、何も変えていないということです。

コマンド
ansible localhost -i ansible-lab/inventory.ini -m ansible.builtin.stat -a path=/etc/ansible-lab

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

ラボに進みましょう

ヒント

足りないものが分かりました。パッケージ、ファイル、ユニットファイルの3つです。これらをプレイブックに加えるのが、このラボの課題です。ターミナルで cat README.md と打って、ホームフォルダの README.md を開いてください。何をするかが書いてありますが、答えは書いてありません。

先生へ

ヒント

このレッスンは ラボで進めるレッスン の小さな例です。手順と 実行 ボタンがレッスンで、ラボは生徒一人ひとりのコピーです。このレッスンは VM ラボで進めます。生徒それぞれが Ansible の入った自分専用の Ubuntu マシンを持ち、実行ボタンはそのターミナルに入力して、出力を表示します。ラボには、生徒のプレイブックを2回実行し、作られたものと、2回目に何も変わらなかったかどうかを採点する確認があります。自分のモジュールにコピーして変更するか、レッスンビルダーの ラボ メニューから一から作ってください。

このラボとソースについて: Ansible のラボ:プレイブックでマシンを設定する(ブラウザーで)

授業で教えていますか?これらのレッスンを生徒に割り当て、採点と生徒ごとのラボを使えます。