linux

部署Ansible

ansiblle具有如下特点:

1、部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;

2、默认使用SSH协议对设备进行管理;

3、主从集中化管理;

4、配置简单、功能强大、扩展性强;

5、支持API及自定义模块,可通过Python轻松扩展;

6、通过Playbooks来定制强大的配置、状态管理

7、对云计算平台、大数据都有很好的支持;

安装ansible

centos系统: yum install ansible -y

ubuntu系统: apt install ansible

查看ansible版本

ansible --version

定义主机清单

vim /etc/ansible/hosts

[test_servers]
192.168.1.11 ansible_ssh_user=root
192.168.1.12 ansible_ssh_user=root
192.168.1.13 ansible_ssh_user=root
192.168.1.14 ansible_ssh_user=root
  • [test_servers]:定义一个主机组(可自定义),通过名字test_servers来代表所有主机
  • ansible_ssh_user=root:意思是ansible的各个节点是通过root用户执行操作,可根据系统具体情况换成对应的用户,例如(ubuntu、centos)
建立密钥连接

本地root用户与被监控机root用户建立免密连接

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.11
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.12
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.13
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.14

测试连通性

ansible test_servers -m shell -a "hostname" #获取test_servers组中服务器的用户名

扩展

处于安全考虑,需加密/etc/ansible/hosts配置文件。加密之后,编辑/etc/ansible/hosts文件、执行ansible命令都需输入密码。

ansible-vault encrypt /etc/ansible/hosts

编辑加密文件,需要输入加密的密码

ansible-vault edit /etc/ansible/hosts --ask-vault-pass

执行ansible命令时也需要输入密码

ansible prx_syn -m shell -a "hostname" --ask-vault-pass

注:ansible-vault的其他使用方法如下

创建加密文件
ansible-vault create file
编辑加密文件
ansible-vault edit file
重置密码
ansible-vault rekey file
加密已有文件
ansible-vault encrypt file
解密文件
ansible-vault decrypt file
查看文件
ansible-vault view file

留言

您的电子邮箱地址不会被公开。 必填项已用 * 标注