ansible学習ノート2

1745 ワード

Playbookでコマンドが正しいか間違っているかにかかわらず実行を続けたい場合はcat/root/dlow|/bin/truecat/root/dlowignore_を使用します.errors:True··········
--list-hostホスト列表の表示···
--limit ipはこのホストに対してのみ実行されます
·········
-vvvv詳細の表示
·········
-Cテスト・・・
notify通知handlersトリガに変動がある変更したい・・・tags:actionの後について使用し、ラベルコマンドラインはansible-playbook-t tagsname xxと呼び出す.yml複数のタグ用、複数のactionを区切って1つのタグを共用できる・・・{{変数名}}コマンドライン付与は-e'変数名=xxx'複数の変数をスペースで区切って・・・playbookで直接変数varsを定義する:
  • 変数名1:値1
  • 変数名2:値2
  • ······変数はhostsファイル定義とipの後について直接定義することもできる[グループ名:vars]直接定義の優先度はコマンドラインが単一ホストより大きくグループより大きいことである·····変数は単独ファイルvars_であってもよいfiles:
  • vars.yml

  • Playbookでこのように呼び出されて・・・[root@ansible ansible-test]# cat vars.ymlvar1: ding
    ファイルに変数をこのように設定する・・・・templateテンプレートテンプレートでも変数を引用できる汎用性も柔軟性もある・・・when文でコントロールできる・・{{item}}with_items:
  • xx
  • xx
  • xx

  • 反復・・・・{{item.name}{{item.banji}}with_items:--{'name':'ding','banji':'3'}反復ネスト・・・ports:リストは文字列でも辞書でも構いません
  • x - 'x1':'1'
  • 'y2':'2'

  • x
  • x・・・・・テンプレートに定義されたforループ{%for i in ports%}iが変数であり、portsは定義されたリスト
  • である
    {%endfor%}・・・・{%for i in ports%}{%if x is defiend%}ループにネスト判定{%endif%}{%endfor%}
    roles/
    ├── httpd
    ├── memcache
    ├── mysql
    └── nginx
        ├── tasks
        │   ├── group.yml
        │   ├── main.yml
        │   ├── restart.yml
        │   ├── service.yml
        │   ├── templ.yml
        │   ├── user.yml
        │   └── yum.yml
        └── templates
            └── nginx.conf.j2
    
                    roles  ,           ,  playbook       
                    - hosts: 192.168.3.61
                       remote_user: root
                       roles:
                            - role: nginx