【在ansible服务器操作 】
在ansible服务器创建一个普通用户(比如aa),用来管理ansible
useradd leon
passwd leon
输入密码:
确认密码:
【在所有受管主机操作】
在所有受管主机创建用来远程的专用用户(比如aa),用来远程管理用的
useradd aa
passwd aa
输入密码:
确认密码:
【在ansible服务器操作】
创建leon自己的ansible配置文件,ansible主机清单
使用leon登录ansible服务器:leon@192.168.10.10
在leon家目录下创建一个ansible(名字随意)工作目录,存放所有关于ansible的内容
mkdir ansible
在ansible工作目录下,创建leon的ansible.cfg配置文件
cd ansible
vim ansible.cfg
[defaults]
inventory = ./leon-hosts 或 /home/leon/ansible/leon-hosts
remote_user = aa
[privilege_escalation]
become = True
become_method = sudo
become_user = root
become_ask_pass = False
保存退出
3)创建leon用户的主机清单(注意与配置文件路径需要一致)
touch /home/leon/ansible/leon-hosts
4)与受管主机做aa用户的免密登录
制作 leon用户的密钥
ssh-keygen
将密钥以aa用户远程拷贝到所有受管主机
ssh-copy-id aa@192.168.10.30
需要输一次aa用户的密码
ssh-copy-id aa@192.168.10.223
需要输一次aa用户的密码
5)在清单中加入受管主机root用户的帐号变量信息
192.168.10.30 ansible_become_method='su' ansible_become_user='root' ansible_become_pass='123456'
192.168.10.223 ansible_become_method='su' ansible_become_user='root' ansible_become_pass='123456'
使用ansible服务器普通用户leon,管理ansible事务
例1:
1.为所有操作系统为Centos7的受管主机安装vim
2.为所有总内存小于2000M的受管主机卸载httpd
- hosts: all
gather_facts: yes
tasks:
- name: install vim
yum:
name: vim
state: present
when: ansible_distribution == "CentOS"
- name: uninstall httpd
yum:
name: httpd
state: absent
when: ansible_memtotal_mb < 2000