Linux-Ansible的简介与安装-湫日
ansible常用命令模块
plaintext
1 | ansible命令的常用模块使用-ad-hoc模式-批量操作实战 |
ansible的相关概念和使用场景
plaintext
1 | ansible是一个自动化的配置管理工具, ansible集成了丰富的模块,以及强大的功能组件,可以通过一个命令行批量完成一系列的操作。进能减少我们重复性的工作,以提高工作的效率。 |
ansible的主要功能
plaintext
1 | 1).批量执行远程命令,可以对N多台主机同时进行命令的执行。 |
ansible的特点
plaintext
1 | 1).学习成本低,学习容易 |
ansible的配置文件
plaintext
1 | [root@localhost ~]# rpm-qc ansible |
ansible的安装方式
plaintext
1 | 1).rpm安装(一般使用yum安装) (推荐使用) |
安装过程
bash
1 | [root@node1 ~]# yum install epel-release #先安装epel-release |
ansible的基本配置
bash
1 | 1)管理端配置主机管理:在hosts文件中添加被管理主机的ip地址列表: |
ansible命令的常用模块使用-ad-hoc模式-批量操作实战
ansible的ad-hoc模式或命令模式简介
plaintext
1 | ansible在命今行中执行的命今,也称为ad-hoc模式,ad-hoc模式其实就是"临时命今"执行完即结束,不会保存用ansible命令模式批量管理主机,对复杂的不方便,需要使用playbook剧本模式。 |
ansible常用的模块使用-通过ad-hoc命令行使用
command或shell模块
bash
1 | 1).command或shell模块,执行远程命令,管理被管理端(ad-hoc模式,其实就是临时命令,执行完即结束,不会保存)(都是批量执行命令, shell更强大,什么都能干,如果需要一些管道等复杂命令的操作,则使用shell, command完成不了, shell还能执行脚木 |
copy模块
bash
1 | 2).copy模块,批量发送文件到被管理端或向被管理端文件写内容 |
yun模块
bash
1 | 3).yum模块,批量安装软件(相当于到远端机器执行yum -y install xxx) |
service模块
bash
1 | 4).service模块,启动,停止,重启,重载服务等 |
script模块
bash
1 | 5).script模块,编写脚本和执行脚本(本地编写脚本,本地运行,即可等同于在远程执行) |
file模块
bash
1 | 6).file模块,配置模块,远程创建目录,远程创建文件,远程做软硬链接文件 |
group模块
bash
1 | 7).group模块,远程创建组格式: |
user模块
bash
1 | 8).user模块,远程创建用户创建用户:不加密码: |
cron模块
bash
1 | 9).cron模块,远程添加定时任务 (下面:a.sh是远程机器上本地有的脚本) |
mount模块
bash
1 | 10).mount模块,远程添加挂载 |
get_url模块
bash
1 | [root@node2 ~]# ll /tmp/ |
systemd模块
bash
1 | 12).systemd模块,通过systemd来管理服务启停,类似systemctl start httpd |
selinux模块
bash
1 | 13).selinux模块,控制selinux开启或关闭 |
playbook
playbook相关介绍
plaintext
1 | 1).playbook是一个由yml语法编写的文本文件,它由play和task两部分组成。play:主要定义要操作主机或者主机组task:主要定义对主机或主机组具体执行的任务,可以是一个任务,也可以是多个任务(模块) |
yaml三板斧
plaintext
1 | 1).缩进:yaml使用一个固定的缩进风格表示层级结构,每个缩进由两个空格组成,不能使用tab键。 |
ansible-playbook得实战案例
案例1: 用ansible-playbook方式远程批量安装httpd-若修改完配置
bash
1 | 案例1: 用ansible-playbook方式远程批量安装httpd-若修改完配置,重新推送后,配置改了但没重载服务,不生效 |
案例2: 在管理端安装nfs服务,在被管理端批量挂载nfs的共享目录
bash
1 | [root@localhost ~]# cat /etc/ansible/hosts |
案例3:远程批量安装源码nginx服务
bash
1 | #test:为/etc/ansible/hosts中的主机列表 #task:执行的任务 |
案例4:远程批量安装二进制tomcat服务
bash
1 | #test: 为/etc/ansible/hosts中的主机列表 #task:执行的任务 |
该文章湫日所著,如有错误请联系作者更改