変数の命名
数字、下線、文字のみを含める
ことができ、下線または文字でのみ開始できます
可変レベル
グローバル:コマンドラインからの構成ファイルまたは
プレイ中の設定:プレイ内で設定および
ホスト内の関連構造:ファクトまたは登録済みタスクのリスト
変数の優先度:狭い範囲および広い範囲の
変数設定で使用さ
れます
プレイブックで変数を直接定義するプレイブックを書く
vimuser.yml
ファイル内の変数を定義し
た変数定義
のvimユーザリスト
のvim user.yml
設定ホスト変数と在庫変数が
使用
vimの在庫を
vimのuser.ymlをホスト変数と在庫変数を定義するとき
##ディレクトリ設定変数
mkdir group_vars
mkdir host_vars
vim group_vars / list2
vim user.yml
vim host_vars / 172.25.2.254
vim user.yml
複数のファイルが存在する場合、1つの変数が読み取り順序に従い、最後に読み取られた変数が前の変数を上書きします
##コマンドを使用して変数を上書きする
vim user.yml
ansible-playbook user.yml
ansible-playbook user.yml -e“ user = linux”
配列を使用して変数を設定する
vim user_var.yml
vim user.yml
変数
registerを登録して、モジュール出力を指定された文字
vimhostname.ymlに登録します。
vim showrc.yml
実行、これはプレイブックの実行情報です
この情報を表すために変数を使用します(ignore_errors = yesは、前の再生が実行に失敗したことを意味し、デフォルトはnoです)
実行
nod1の/ mnt / fileを削除し、ansible nod1.westos.com -m file -a'path = / mnt / file state =
Absent ' ansible-playbook file.ymlを
実行すると、操作が失敗したにもかかわらず、実行されていることがわかります。
ファクト変数
ファクト変数は、制御対象ホストでansibleによって自動的に検出される変数です。
ファクト変数には、ホスト関連の情報が含まれます。ホスト関連の情報
を使用する必要がある場合は、値を収集して割り当てる必要はありません。直接呼び出すだけです。変数情報はシステム情報であるため、できません。任意の設定は情報収集のみであるため、ファクト変数になります。
たとえば、ip
vimip.ymlを確認してください。
プレイブックの演習nod1.westos.comで制御対象ホストのIP、ホストホスト、およびメモリを収集し、/ mnt / host
vimvhost.ymlに保存します。
実行して表示
テンプレート変数
hostvars:ansibleソフトウェアの内部情報
group_names:現在の管理対象ホストのグループ
グループ:リスト内のすべてのグループとホストを一覧表示します
Inventory_hostname:インベントリに設定されている現在の管理対象ホストの名前が含まれます
JINJA2テンプレート
Jinja2は、Pythonで次に広く使用されているテンプレートエンジンです。
彼のデザインアイデアは、Djangoのテンプレートエンジンから派生し、その構文と一連の強力な関数を拡張しました。最も注目すべきものは、サンドボックス実行関数とオプションの追加です。ループvimuser.ymlのアドレス解決の書き込みなど
、自動変換機能J2テンプレートの書き込みルール
vim users.j2
vim user.yml
実行して表示
演習
すべての制御対象ホストのIPとホスト名を収集し、制御対象ホストの/ mnt / host
vimhost.j2に保存します。
vim host.yml
実行して表示
判断があれば
実験的なプレイブックを書く
vimuser_messages.yml
vim user_messages.j2
vim user_messages.yml
実行して表示
Ansibleでの暗号化制御ファイルの作成と確立ansible-vaultcreate westos
見る
ansibleを使用してパスワードを表示および入力します
ansible-vaultview westos
ファイルにはパスワード
vimwestos-vaultが含まれています
ansible-vault create --vault-password-file = westos-vault westos
view(
westos-vaultに記述された文字列をパスワードとして使用)ansible-vault view --vault-password-file = westos-vault westos
既存のファイルを暗号化する
vimwestos.yml
ansible-vaultはwestos.ymlを暗号化します
見る
ansibleを使用して、表示するパスワードを入力します
暗号化されたファイルを編集します(インデントに注意してください)
ansible-vault edit westos.yml
ansibleで表示
ファイルパスワード編集
ansible-vaultedit --vault-password- file = westos-vault westos
ansibleで表示
ファイルの
復号化ansible-vault復号化westos
復号化された暗号化ファイルは別のファイルになり、元のファイルは変更されません
。ansible-vault復号化westos.yml --output = linux.yml
パスワードを変更する
ansible-vaultrekey westos.yml
ファイル変更パスワード
ansible-vaultrekey westos.yml --new-vault-password-file = key1(パスワードを書き込むにはkey1ファイルを編集する必要があります)
暗号化されたファイルの操作
ファイルが暗号化された後は、playbookコマンドのみを実行できません。
ansible-playbook westos、yml --ask-vault-pass