outlook 发表于 2018-7-29 12:53:34

ansible的安装及配置文件更改

  一 安装:
  http://ask.apelearn.com/question/9781
  概况:
  l不需要安装客户端,通过sshd去通信
  l基于模块工作,模块可以由任何语言开发
  l不仅支持命令行使用模块,也支持编写yaml格式的playbook
  l支持sudo
  l有提供UI(浏览器图形化)www.ansible.com/tower10台主机以内免费
  l开源UIhttps://github.com/alaxli/ansible_ui 文档 http://download.csdn.net/detail/liyang23456/7741185
  安装:只需要安装服务端,客户端不需要安装任何东西
  l两台机器 172.7.15.106172.7.15.111
  l只需要在106上安装ansible即可
  lyum install -y epel-release
  lyum install -y ansible
  设置秘钥
  l106上生成密钥对
  ssh-keygen -t rsa直接回车即可,不用设置密钥密码
  l把公钥(id_rsa.pub)内容放到对方机器(111)的/root/.ssh/authorized_keys里面
  方法:scp .ssh/id_rsa.pub172.7.15.111:/root/.ssh/authorized_keys
  l本机也要操作
  cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
  lchmod 600 /root/.ssh/authorized_keys
  l关闭selinux
  setenforce 0
  如何验证你的秘钥是否成功,可以用ssh 客户端ip 然后看看是否要输入密码,如果直接连接就代表你的秘钥成功了。
  二 配置文件
  1 在服务端上面
  lvi/etc/ansible/hosts//增加
  l
  l127.0.0.1
  l172.7.15.111
  l说明: testhost为主机组名字,自定义的。 下面两个ip为组内的机器ip。
  2 实例:
  lansible testhost -m command -a 'w'
  l这样就可以批量执行命令了。这里的testhost为主机组名,-m后边是模块名字,-a后面是命令。当然我们也可以直接写一个ip,针对某一台机器来执行命令。
  例子:ansible127.0.0.1 -mcommand -a 'hostname'
  l错误: "msg": "Aborting, target uses selinux but python bindings (libselinux-python) aren't installed!"
  l解决: yum install -y libselinux-python
  l还有一个模块就是shell同样也可以实现
  ansible testhost -m shell -a 'w'
  3 shell 和comand区别
  shell可以实现command的功能,但是command不能实现所有shell的功能
页: [1]
查看完整版本: ansible的安装及配置文件更改