Ansible的安装配置和命令行管理模块介绍
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章为大家带来有关Ansible的安装配置和命令行管理模块介绍。文章不仅介绍Ansible的概念,还介绍了Ansible的安装部署以及命令行管理模,希望大家通过这篇文章能有所收获。Ansible简
千家信息网最后更新 2025年01月23日Ansible的安装配置和命令行管理模块介绍
这篇文章为大家带来有关Ansible的安装配置和命令行管理模块介绍。文章不仅介绍Ansible的概念,还介绍了Ansible的安装部署以及命令行管理模,希望大家通过这篇文章能有所收获。
Ansible简介
- Ansible可以同时管理Redhat系的Linux,Debian系的Linux,以及Windows主机。管理节点只在执行脚本时与远程主机连接,没有特别的同步机制,所以断电等异常一般不会影响ansbile。
Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,Ansible只是提供一种框架。主要包括:
1、连接插件connection plugins:负责和被监控端实现通信;
2、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
3、各种模块核心模块、command模块、自定义模块;
4、借助于插件完成记录日志邮件等功能;
5、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。- Ansible的架构:连接其他主机默认使用ssh协议
Ansible环境安装部署
服务器角色 | IP地址 |
---|---|
Ansible管理端 | 192.168.142.120 |
Ansible被管理端01 | 192.168.142.121 |
Ansible被管理端02 | 192.168.142.122 |
- 安装epel源
yum install -y epel-release
- 安装Ansible服务
yum install ansible -y
- 查看Ansible版本
ansible --version
- 安装tree服务
yum install tree -y
- 树状结构展示文件夹
tree /etc/ansible/
/etc/ansible/├── ansible.cfg #ansible的配置文件├── hosts #ansible的主仓库,用于存储需要管理的远程主机的相关信息└── roles
- 切换Ansible工作目录下
cd /etc/ansible
- 配置主机清单
vim hosts[webserver]192.168.142.121[mysql]192.168.142.122
- 配置密钥对验证
ssh-keygen -t rsa
- 秘钥对传送
ssh-copy-id root@192.168.142.121ssh-copy-id root@192.168.142.122
Ansible命令行模块
- command模块
命令格式:
ansible [主机] [-m 模块] [-a args]
#列出所有已安装的模块 注:按q退出ansible-doc -l#-s列出yum模块描述信息和操作动作ansible-doc -s yum
- 查看对方系统时间
#指定ip执行dateansible 192.168.142.121 -m command -a 'date'#指定分类执行dateansible webserver -m command -a 'date'#免交互执行dateansible mysql -m command -a 'date' #所有hosts主机执行date命令ansible all -m command -a 'date'#如果不加-m模块,则默认运行command模块ansible all -a 'ls /'
- cron模块
两种状态(state):present表示添加(可以省略),absent表示移除
#查看cron模块信息ansible-doc -s cron#创建计划性任务ansible webserver -m cron -a 'minute="*/1" job="/bin/echo heihei" name="test cron job"'#查看计划性任务ansible webserver -a 'crontab -l'#移除计划任务,假如该计划任务没有取名字,name=None即可ansible webserver -m cron -a 'name="test cron job" state=absent'
- user模块
user模块是请求的是useradd, userdel, usermod三个指令
#查看user模块信息ansible-doc -s user#创建用户test01ansible mysql -m user -a 'name="test01"'#查看用户信息ansible mysql -m command -a 'tail /etc/passwd'#删除用户test01ansible mysql -m user -a 'name="test01" state=absent'
- group模块
group模块请求的是groupadd, groupdel, groupmod 三个指令
#查看group模块信息ansible-doc -s group#创建组ansible mysql -m group -a 'name=mysql gid=306 system=yes'ansible mysql -a 'tail /etc/group'#创建用户并添加到组ansible mysql -m user -a 'name=test01 uid=306 system=yes group=mysql'#查看用户信息ansible mysql -a 'tail /etc/passwd'ansible mysql -a 'id test01'
- copy模块
#查看copy模块信息ansible-doc -s copy#复制文件ansible mysql -m copy -a 'src=/etc/fstab dest=/opt/fstab.back owner=root mode=640'#查看opt目录ansible mysql -a 'ls -l /opt'#查看fstab.back文件ansible mysql -a 'cat /opt/fstab.back'#将hello heihei!写入/opt/fstab.backansible mysql -m copy -a 'content="hello heihei!"dest=/opt/fstab.back'#再查看fstab.back文件ansible mysql -a 'cat /opt/fstab.back'
- file模块
#查看file模块信息ansible-doc -s file#创建用户ansible mysql -m user -a 'name=mysql system=yes'#创建组ansible mysql -m user -a 'name=mysql system=yes'#修改文件的属主属组权限等ansible mysql -m file -a 'owner=mysql group=mysql mode=644 path=/opt/fstab.back'#设置/opt/fstab.link为/opt/fstab.back的链接文件ansible mysql -m file -a 'path=/opt/fstab.link src=/opt/fstab.back state=link'#删除一个文件ansible mysql -m file -a "path=/opt/fstab.back state=absent" #创建一个文件ansible mysql -m file -a "path=/opt/test state=touch"
- ping模块
#查看ping模块信息ansible-doc -s ping#测试被管理主机是否在线 ansible all -m ping- service模块 #查看service模块信息ansible-doc -s service#安装httpd服务yum install -y httpd#查看web服务器httpd运行状态ansible webserver -a 'systemctl status httpd' #启动httpd服务ansible webserver -m service -a 'enabled=true name=httpd state=started'#查看是否开启systemctl status httpd
- shell模块
#查看shell模块信息ansible-doc -s shell#创建用户使用无交互模式给用户设置密码ansible mysql -m shell -a 'echo abc123|passwd --stdin mysql'
- script模块
#查看script模块信息ansible-doc -s script#循环脚本vim test.sh#!/bin/bashecho "hello ansible from script"> /opt/script.txt#赋予执行权限chmod +x test.sh#执行脚本ansible mysql -m script -a 'test.sh'#在其他主机上进行查看cat /opt/script.txt
- yum模块
#查看yum模块信息ansible-doc -s yum#yum安装zshansible mysql -m yum -a 'name=zsh'rpm -q zsh#卸载zshansible mysql -m yum -a 'name=zsh state=absent'rpm -q zsh
- setup模块
#查看setup模块信息ansible-doc -s setup#获取mysql组主机的facts信息ansible mysql -m setup
看完上述内容,你们对自动化运维工具Ansible有进一步的了解吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
模块
信息
主机
文件
管理
用户
命令
配置
任务
服务
运行
工具
脚本
三个
内容
功能
多个
指令
插件
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络视频软件开发
泊众棋牌软件开发公司
c语言 开发数据库
北理数据库教材
专科智能互联网络技术
基于路由器的网络技术论文
工业屏软件开发
数据库有哪几种类型的数据模型
热血江湖与服务器断开1115
扬州常规软件开发价格多少
数据库管理系统对数据的管理特点
实时数据库结构组成与工作原理
2019年网络安全会温州
在保护网络安全的手段中
csgo 国际服服务器
软件开发公司应缴纳哪些税种
计算机三级网络技术 a类
数据库考研适合听的课
如何清除数据库的信息
软件开发文科生学什么样
上海慧观网络技术
景观数据库
蚂蚁聚慧网络技术有限公司
南昌软件开发前景
希望之村哪个服务器最好
服务器软件启动命令
国密算法网络安全法
单机魔域无法连接数据库
2021西安国家网络安全周
陕西智慧社区软件开发电话