前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ansible--hosts文件

ansible--hosts文件

原创
作者头像
陈不成i
修改2021-08-02 17:50:21
3K0
修改2021-08-02 17:50:21
举报
文章被收录于专栏:ops技术分享ops技术分享

all关键字,可以操作多台机器,这里只填写IP即可,他会用秘钥进行操作,同时省略端口等默认信息。 ansible  all  -m ping

代码语言:javascript
复制
192.168.56.108
192.168.56.109

可以用[xx]方式给主机进行分组,但all还是清理里所有主机的意思

代码语言:javascript
复制
[one]192.168.56.108
[two]192.168.56.109

对于这种连续的地址,可以用更加简洁的方式配置。这里注意到109是在2个组里的,这是允许的。别名是不重复的,IP可以重复。并且用all,只会执行一次109。

代码语言:javascript
复制
[one]192.168.56.[108:109]
[two]192.168.56.109

域名也是可以用这种方法进行配置

代码语言:javascript
复制
[one]nginx-a-servernginx-b-server#可改为如下方式
[one]nginx-[a:b]-server

一般对于主机分组是按照服务器功能进行划分,例如作为负载均衡的机器为1组,作为应用的tomcat机器为1组。但有时候需要某些组一起进行操作,例如安装zabbix客户端,这时候就可以用下列方法了。children的意思是在执行本组的时候,执行下列的组,而不是把下列当主机看待。

代码语言:javascript
复制
[nginx]
192.168.56.108
[tomcat]
192.168.56.109
[zabbix-agent:children]
nginxtomcat

当前使用的是ini配置风格,ansible也可以读取YAML风格的配置文件,不过太丑了,这里不进行赘述,有兴趣可以查看ansible主机配置进行了解。

如果是秘钥的,可以这种方式

代码语言:javascript
复制
[one]
192.168.56.[108:109] 
ansible_ssh_user=root

创建一个admin用户,密码654321,也做免密登陆,用这种方式,就可以隔开了。

代码语言:javascript
复制
[one]
one-1 ansible_ssh_host=192.168.56.108 ansible_ssh_user=root
one-2 ansible_ssh_host=192.168.56.109 ansible_ssh_user=root
[two]
two-1 ansible_ssh_host=192.168.56.108 ansible_ssh_user=admin
two-2 ansible_ssh_host=192.168.56.109 ansible_ssh_user=admin

这种方式不行,pwd查看还是admin的,主机名一样,就给覆盖了

代码语言:javascript
复制
[one]
192.168.56.[108:109] ansible_ssh_user=root
[two]
192.168.56.[108:109] ansible_ssh_user=admin

Ansible配置 指定单独秘钥管理

代码语言:javascript
复制
#ssh root@服务器B
#ssh-keygen 如果要重命名可以自己指定, 回车后生成密钥对
# echo ~/.ssh/id_rsa.pub >> known_hosts 这里把生成的公钥放入known_hosts
如果自己配置了ssh_config, 关闭了known_hosts, 可能就需要写进~/.authorized_keys里面去了.
把服务器B上的私钥回传到ansible执行的服务器A的ssh_keys里, 命名为 
服务器B_ip_.key
给ssh_keys文件夹授权为700, 一定要700, 其它的都会报错.
建立hosts文件里面指定server, 每个server一行.这里我测试就写一行. 
[test_server] 
10.0.1.5 ansible_ssh_private_key_file=ssh_keys/10.0.1.5.key ansible_ssh_user=root

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档