二、Ansible自动化运维实战-inventory主机清单

1.增加主机组

  vim /etc/ansible/hosts

————————

[webserver]

host1

host2

—————————

  ansible webserver -m ping -o  可以发现webserver组下的host1和host2同时被调用了

  

 

 

2.增加用户名和密码

  vim /etc/ansible/hosts

————————

[webserver]

host[1:4] ansible_ssh_user='root' ansible_ssh_pass='123456'  # 方便缺不安全

————————

  ansible webserver -m ping -o

 

3.增加端口

  请将host1的sshd程序端口修改成2222  一般用1024-65535之间的端口号,1024之前都被常见软件征用了

  vim /etc/ssh/sshd_config

——————————

Port 2222

——————————

  systemctl restart sshd  # 这样别的主机用ssh远程登录需要输入正确的端口号才能连上

  ssh root@192.169.56.139 -p 2222

 

  vim /etc/ansible/hosts  # ansible的hosts里添加端口号

——————————

192.168.56.139 ansible_ssh_user='root' ansible_ssh_pass='123456' ansible_ssh_port='2222'

——————————

 

4.组:变量

  ansible内部变量可以帮助我们简化主机清单的设置

  vim /etc/ansible/hosts

——————————————

 [webserver]

host[1:4]

[webserver:vars]  # 这样就不用在每个服务器后都写重复的密码

ansible_ssh_user='root'

ansible_ssh_pass='123456'

——————————————

  这里的[webserver:vars]就是组:变量

  

  常用变量

  ansible_ssh_host  定义hsots ssh地址  ansible_ssh_host='192.168.1.100'

  ansible_ssh_port  定义hosts ssh端口  ansible_ssh_port='3000'

  ansible_ssh_user  定义hosts ssh认证用户  ansible_ssh_user='root'

  ansible_ssh_pass  定义hosts ssh认证密码  ansible_ssh_pass='123456'

  ansible_sudo  定义hosts sudo用户  ansible_sudo='www'

  ansible_sudo_pass  定义hosts sudo密码  ansible_sudo_pass='pass'

  ansible_sudo_exe  定义hosts sudo路径  ansible_sudo_exe='/usr/bin/sudo'

  ansible_connection  定义hosts连接方式  ansible_connection='local'

  ansible_ssh_private_key_file  定义hosts私钥  ansible_ssh_private_key_file='/root/key'

  ansible_ssh_shell_type  定义hosts shell类型  ansible_ssh_shell_type='bash'

  ansible_python_interpreter  定义hosts任务执行python路径  ansible_python_interpreter='/usr/bin/python2.6'

  ansible_*_interpreter  定义hosts其他语言解析路径  ansible_*_interpreter='/usr/bin/ruby'

 

5.子分组

  将不同的分组进行组合

  vim /etc/ansible/hosts

————————————————

[apache]

host[1:2]

 

[nginx]

host[3:4]

 

[webserver:children]  # 子分组

apache

nginx

 

[webserver:vars]

ansible_ssh_user='root'

ansible_ssh_pass='123456'

————————————————

  ansible webserver -m ping -o

 

6.自定义主机列表

  vim hostlist

————————————

[dockers]

host1

host2

 

[dockers:vars]

ansible_ssh_user='root'

ansible_ssh_pass='123456'

————————————

  ansible -i hostlist dockers -m ping -o  这里-i是调用文件hostlist,dockers才是主机的组

 

posted @ 2022-03-06 23:24  真渡  阅读(80)  评论(0)    收藏  举报