目录
一、运行机制
二、安装
1.下载ansible
2.配置免密
3.修改配置文件
4.创建主机清单
5.远程安装
6.远程卸载
一、运行机制
Ansible: ansible的核心模块
Host Inventory:主机清单,也就是被管理的主机列表
Playbooks:ansible的剧本,可想象为将多个任务放置在一起,一块执行
Core Modules:ansible的核心模块
Custom Modules:自定义模块
Connection Plugins:连接插件,用于与被管控主机之间基于SSH建立连接关系
Plugins:其他插件,包括记录日志、邮件等
二、安装
1.下载ansible
[root@localhost ~] yum install -y epel-release
[root@localhost ~] yum install -y ansible
2.配置免密
[root@localhost ~] ssh-keygen -t rsa #获取钥匙
[root@localhost ~] ssh-copy-id root@192.168.1.133 #将钥匙传给副服务器
3.修改配置文件
[root@localhost ~] vim /etc/ansible/ansible.cfg
[defaults]
inventory = /etc/ansible/hosts
remote_user =root
这将设置Ansible使用 /etc/ansible/hosts 文件作为主机清单,并使用 root 用户进行远程连接。
4.创建主机清单
[root@localhost ~] vim /etc/ansible/hosts
[web]
192.168.1.133
[db]
192.168.1.135
这将创建两个组:web和db,其中web组包含一个主机,db组包含一个主机。
这是一个简单的主机清单,其中包含了两个IP地址。其中,前一个IP地址(192.168.1.133)被标记为web,这可能意味着这个IP地址是用于托管Web服务器的主机。另外一个IP地址(192.168.1.135)被标记为db,这可能意味着这些IP地址是用于托管数据库服务器的主机。这些IP地址是在一个局域网中使用的,而不是在公共互联网上可访问的。
5.远程安装
现在可以使用Ansible进行yum安装。例如,要在web组中的主机上安装 nginx ,可以使用以下命令:
ansible web -m yum -a "name=nginx state=present"
这将使用 yum 模块在 web 组中的所有主机上安装 nginx 软件包。
[root@localhost ~] ansible web -m yum -a "name=nginx state=present"
[root@localhost ~] ps -ef |grep nginx #服务器成功下载nginx
root 9190 8669 0 21:30 pts/0 00:00:00 grep --color=auto nginx
6.远程卸载
要卸载`nginx`软件包,可以使用以下命令
这将使用 yum 模块在 web 组中的所有主机上卸载 nginx 软件包。
[root@localhost ~]# ansible web -m yum -a "name=nginx state=absent"