doina

一个小菜鸟运维工程师.

Ansible hosts文件

单个组
[groupname]
192.168.1.10
组下面又分多个组
[groupname:children]
groupname_maseter
groupname_salve
groupname_node

[groupname_maseter]
192.168.1.10
[groupname_salve]
192.168.1.11
[groupname_node]
192.168.1.12



指定主机范围 
[webservers]
192.168.0.[1:50]
指定了从192.168.0.到192.168.0.50,webservers组共计50台主
[databases]
db-[a:f].jintian.com
指定了databases组有db-a到db-f共6台主机

指定主机别名
server1 ansible_ssh_port = 1055 ansible_ssh_host = 172.16.3.2 
上面的server1别名就指代了IP为172.16.3.2,ssh连接端口为1055的主机

常用参数
ansible_ssh_host   用于指定被管理的主机的真实IP
ansible_ssh_port    用于指定连接到被管理主机的ssh端口号,默认是22 
ansible_ssh_user    ssh连接时默认使用的用户名 
ansible_ssh_pass    ssh连接时的密码 
ansible_sudo_pass   使用sudo连接用户时的密码 
ansible_sudo_exec   如果sudo命令不在默认路径,需要指定sudo命令路径 
ansible_ssh_private_key_file   秘钥文件路径
host_key_checking=False 第一次连接主机时,提示yes/no,跳过此环节
ansible_shell_type    目标系统的shell的类型,默认sh 
ansible_connection    SSH 连接的类型:local.ssh,paramiko,1.2后智能选择,优先使用ssh
ansible_python_interpreter  用来指定Python解释器的路径,默认为/usr/bin/python 同样可以指定ruby 、perl 的路径 
ansible_*_interpreter    其他解释器路径,用法和ansible_python_interpreter类似,这里"*"可以是ruby或才perl等其他语言

示例:
[test]
192.168.1.1 
ansible_ssh_user=root 
ansible_ssh_pass='P@ssw0rd' 
192.168.1.2 
ansible_ssh_user=breeze 
ansible_ssh_pass='123456' 
192.168.1.3 
ansible_ssh_user=bernie 
ansible_ssh_port=3055 
ansible_ssh_pass='456789' 
三台主机的用密码分别是P@ssw0rd、123456、45789,指定的ssh连接的用户名分别为root、breeze、bernie,ssh 端口分别为22、22、3055 ,这样在ansible命令执行的时候就不用再指令用户和密码等了。


windows配置文件
[windows]
win_1.98 ansible_ssh_host=192.168.1.98  ansible_ssh_pass="Winchannel_2017"
win_1.212 ansible_ssh_host=192.168.1.212 ansible_ssh_pass="fooJei(k1wuquoh~"
[windows:vars]
ansible_ssh_user=Administrator
ansible_ssh_port=5985
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore
点赞

发表评论

邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据