ansible(二)——inventtory


ansible(二)--inventtory
例は直接公式サイトから抜粋する。住所:http://docs.ansible.com/intro_inventtory.萋id 10
1、Ad-hoc commands
いくつかの高速で実行され、保存されたタスクに書き込む必要がない場合、ansibleはこのような特殊コマンドラインの操作を提供します。ここの公式アドレス:http://docs.ansible.com/intro_adhoc.
公式サイトの説明は面白いです。playbookがこんなに強いのに、なぜこのような特殊なコマンドラインを提供しなければならないのですか?だから、例えば、クリスマスシーズンだけオフにしたい場合、一つのコマンドだけを実行するのは明らかにplaybookファイルを書くより効率がいいです。
準備工作
やる前に、当然ながら、管理対象のホストに公開鍵をコピーするという、ssh秘密鍵なしの登録を実現することである。
基本文法:
ansible 
 
  
 
  
    -m 
   
     -a 
    
      -i:   inventory   ,         hosts all:   hosts          ,             -m:       ,     Ansible     ping                 -u:          -a:     
     
    
  
モード
コマンドラインの特殊モードを理解してください。
all    inventory    hosts 
one.example.com \\
one.example.com:two.example.com \\
192.168.1.50 \\ IP
192.168.1.* \\
#     
webservers
webservers:dbservers

# ,
webservers:!phoenix

# , webservers staging
webservers:&staging

#
webservers:dbservers:&staging:!phoenix

# , -e,
webservers:!{{excluded}}:&{{required}}
#     
*.example.com *.com

#
one*.com:dbservers

#
~(web|db).*\.example\.com
2、inventry
inventryファイルはあなたが管理するホストを定義します。そのデフォルトの位置は/etc/ansible/hostsで、デフォルトの位置に保存しない場合は-iオプションで指定することもできます。
公式サイトを参照してください。ここではinventryは多様な形で多様な形で書くことができます。
mail.example.com \\         hosts      
[webservers]
foo.example.com
bar.example.com

[dbservers]
one.example.com
two.example.com
three.example.com

[test:children] \\
webservers
dbservers
#        SSH   
badwolf.example.com:5309

#
jumper ansible_ssh_port=5555 ansible_ssh_host=192.168.1.50
#     
[webservers]
www[01:50].example.com \\ www01-50.example.com 50

[databases]
db-[a:f].example.com \\ db-a - db-f.example.com
#               
[targets]
localhost ansible_connection=local
other1.example.com ansible_connection=ssh ansible_ssh_user=mpdehaan
other2.example.com ansible_connection=ssh ansible_ssh_user=mdehaan
Host変数
#           playbook   
[atlanta]
host1 http_port=80 maxRequestsPerChild=808
host2 http_port=303 maxRequestsPerChild=909
グループ変数
#              
[atlanta]
host1
host2

[atlanta:vars]
ntp_server=ntp.atlanta.example.com \\ host1 host2
proxy=proxy.atlanta.example.com

#
[atlanta]
host1
host2

[raleigh]
host2
host3

[southeast:children]
atlanta
raleigh

[southeast:vars]
some_server=foo.southeast.example.com
halon_system_timeout=30
self_destruct_countdown=60
escape_pods=2

[usa:children]
southeast
northeast
southwest
northwest
3、Dynamic Inventtory
別のシステムプラットフォームでは、ansibleもテキストに基づいてinventryを記述しています。この部分はまだよく見ていません。後で分かりました。この部分を追加します。
前のページでよく使われていた命令ですが、ここでは多くのデモを行いません。日常の任務を果たすには各モジュールの機能に依存しています。私は基本的にはansibleのこれらの機能だけを使っています。ansibleの核心についても、playbookは後の文章で勉強し、学習過程を分かち合います。