收藏文章 楼主

Ansible—主机分组管理(hosts)

版块:ansible.playbook.yml   类型:普通   作者:小绿叶技术博客   查看:2277   回复:0   获赞:0   时间:2021-04-06 16:56:00

 任务

Ansible主机配置

ansible_ssh_port=22                  # 远程主机登陆端口

ansible_ssh_user=root                # 远程主机登陆用户名

ansible_ssh_pass=chekir              # 远程主机登陆用户名的密码

ansible_ssh_private_key_file=/etc/ansible/hosts   

# 指定管理主机群列表文件

host_key_checking=False              # 跳过第一次连接检测询问是否登陆的提示(YES/NO)



#---- Ansible 模块语法 ----#

ansible [管理主机信息或者主机组信息] -m [模块名称] -a [相关模块参数] 


主机信息:远程主机IP地址;远程主机组名称;远程所有主机all

-m: # 指定相应模块

-a: # 利用模块中某些参数功能

-f : # 定义每次输出内容的数量

Ansible # 注意事项颜色信息:

绿色: # 对远程节点不进行相应修改,或者只是对远程节点信息进行查看

红色: # 操作执行命令有异常

黄色: # 对远程节点进行相应修改

深紫色: # 表示对命令执行发出警告信息(可能存在的问题,给你提示建议)


批量定义主机文件及主机分组方法

#---- inventory作用 ----#

作用:通常用于定义要管理主机的认证信息,例如ssh登录用户名,密码等相关信息

缺省文件:/etc/ansible/hosts


#----- 定义主机组方式 ----#

echo "

[eisc]

# 新建一个 ansible 组 :eisc


192.168.1.31

192.168.1.32

# 组下的服务器地址

" >> /etc/ansible/hosts


ansible eisc -uroot -k -m ping -o # ansible命令组 eisc ;使用 root 用户进行 ping


#----- 批量定义主机 -----#

echo "

[webservers]

192.168.1.[31:34]

# 其中中括号31冒号34 表示:31 32 33 34  生成范围里的所有参数

" >> /etc/ansible/hosts



ansible webservers -uroot -k -m ping -o

# ping 测试


#----  内置参数:用户名和密码;命令行不用输入-u和-k选项  ----#

echo "

[webservers]

192.168.1.[31:32] ansible_ssh_user='root' ansible_ssh_pass='redhat'

" >> /etc/ansible/hosts


ansible webservers  -m ping -o  # 由于配置信息里面加入了用户参数,执行时候不用加上



#---- 内置参数:ssh端口 ----#

echo "

[webservers]

192.168.1.[31:32] ansible_ssh_user='root' ansible_ssh_pass='redhat' ansible_ssh_port='22'

" /etc/ansible/hosts


#---- vars变量 :定义主机的内置参数 ----#

echo "

[webservers]

192.168.1.[31:32]

# 定义一个组


[webservers:vars]

ansible_ssh_user='root'

ansible_ssh_pass='redhat'

ansible_ssh_port='22'

# 给组增加参数

" >> /etc/ansible/hosts


#----- 子组分类变量:children(可与3)批量定义主机组合使用)-----#

echo "

[nginx]

192.168.1.31


[apache]

192.168.1.32


[webservers:children]

apache

nginx


[webservers:vars]

ansible_ssh_user='root'

ansible_ssh_pass='redhat'

ansible_ssh_port='22'

" >> /etc/ansible/hosts 


ansible webservers -m ping -o

ansible nginx -m ping -o

ansible apache -m ping -o


#---- 自定义主机清单文件 ----#

ansible -i /etc/ansible/webservices webservers -m ping -o


ansible webservers --list-host 查看组中的主机列表



提供企业建站服务,免费网防系统,提交信息登录 http://yundun.ddoss.cn 邮箱: proposal@ddoss.cn 
回复列表
默认   热门   正序   倒序

回复:Ansible—主机分组管理(hosts)

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息