问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Ansible工具使用

发布网友 发布时间:2022-12-10 21:21

我来回答

1个回答

热心网友 时间:2024-11-06 06:09

Ansible是一个自动化管理IT资源的工具。

系统环境配置
安装软件
持续集成:自动化部署
热回滚

无客户端
推送式
丰富的第三方mole,大概1W多个
基于YAML的Playbook
商业化的支持

效率低,易挂起:基于ssh通信
并发性能差

环境准备
Python
Setuptools

pip(可选): pip install ansible

git clone https://github.com/ansible/ansible.git
source ./hacking/env-setup
python setup.py install 替换自带的二进制运行文件

yum install ansible

Ansible -> ssh -> ssh -> shell

Ansible配置文件路径优先级
(1) export ANSIBLE_CONFIG
(2) ./ansible.cfg
(3) ~/.ansible.cfg
(4) /etc/ansible/ansible.cfg

配置文件详解
ansible/ansible.cfg at devel · ansible/ansible · GitHub

(1) defaults默认配置项

inventory: 存放可通信主机的目录,可修改为普通用户目录
library: Ansible默认搜寻模块路径
forks: 最大开辟的进程数,不易过大,过大性能耗费高;不宜过小,过小并发性能低,一般设置为CPU核数*2。
ask_pass: 可以控制Ansible playbook是否会自动默认弹出输入密码框
ask_sudo_pass: 用户使用的系统平台开启了sudo密码的话,这个参数应该设置为true
gather_subset: 设置收集的内容,包括all、network、hardware、virtual、facter、ohai
remote_port: 设置客户机的端口,一般都是22
remote_tmp: 设置客户机的临时目录
remote_user: 设置客户机的用户
sudo_exe: sudo命令的路径
sudo_flags: sudo参数
sudo_user: 能够使用sudo的user
开发者中心的插件相关功能,开发者可以开发相应的插件,来完成自己的功能:
action_plugins: 激活事件
callback_plugins: 回调
connection_plugins: 连接,比如不使用ssh连接
filter_plugins: 过滤器
loopup_plugins: 加载路径
vars_plugins: 任何地方加载

(2) privilege_escalation执行命令的用户权限设置

(3) paramiko_connection paramika插件设置

(4) ssh_connection ssh链接设置

(4) accelerate
(5) selinux & colors
看源码

3.1 编辑/etc/ansible/hosts,添加机器ip
3.2 添加本机的Public SSH key到目标机器的authorized_keys
3.3 添加本机的私钥到Ansible
3.4 ansible all -m ping 测试是否添加成功
ansible: 命令主体
all: 默认是所有机器,被操作的目标机器的正则表达式,也可以按需求换做hosts文件中的其他组名
举例:
ansible test -m ping
ansible 192.168.1.10 -m ping
-m ping: 指定要使用的模块
-a: 指定传入模块的参数
举例:
ansible all -a "/sbin/reboot" -f 10 重启所有机器,每次重启10个
ansible all -a "/usr/bin/foo" -u root 指定root用户执行shell命令
-C -D: 两个一起使用,检查hosts规则文件的修改
-l: *匹配规则的主机数
--list-hosts: 显示所有匹配规则的主机
-m -M:指定所使用的模块和模块的路径
--syntax-check: 检查语法
-v: 显示详细的日志

playbook可以编排有序的执行过程,甚至可以在多组机器间,来回有序的执行特别指定的步骤,并且可以同步或异步的发起任务。
待学习补充...

功能:

调用Ansible模块:

Ansible 2.0之前和2.0之后API相差很大,注意版本

调用Ansible2.0 API:

6.1 自己写一个模块 test.py
6.2 把模块放到木块文件夹下
配置文件ansible.cfg中的lilbrary配置参数为ansible mole的放置路径。
6.3 运行自己的模块 ansible all -m test

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见陌生女人在水里生下男孩,男孩很聪明,但是陌生女人夫妇把男孩当女... oppohd通话怎么关掉 oppohd通话如何关掉 华为手机密码忘记了如何解锁? 某校高一化学研究性学习小组对日常生活中的氯气用途进行了调查,了解到... 怎样使用微软的传输助手进行文件打印? 苏氏宗祠地址在哪里? 苏圩镇苏氏宗祠 苏氏祠堂广西南宁市江南区苏氏祠堂 关于秋梅的诗句有哪些? 晃晃麻将玩法介绍 ansible的使用和安装 王者荣耀:为何重做后的明世隐能成为KPL热门辅助之一呢? 思南县第九中学新校区什么时候开始动工 思南六中多少人考了遵义师范 铜仁搬迁安置房在哪里 石门县五中六中到底搬到哪里 思南六中在哪里? 八仙过海中的曹国舅姥爷是哪个朝代的国舅姥爷? ...小区物业是朗诗,想问一下朗诗物业口碑怎么样? 吴江亨通朗诗二手房咋样 万科朗诗和招商雍润府那个好 家里有无线网咋能监控到手机? deepl能双语下载吗 有哪些可以看轻小说的app revit中幕墙选中之后没有办法更改族 ...打印做水晶的胶片,最近打印半透明胶片模糊而打印全透明的胶片却没... Revit 幕墙嵌板族的高级应用问题,求高手解答。 胶卷洗出来有的是透明的什么都没有,有的有图案 水晶影像制作的细节步骤 ...G3 32G 拆了看主控是新的鑫创sss6130. 量产工具什么时候出来啊... dl888d打印机打印卡纸 《臣,恭迎长公主》txt下载在线阅读全文,求百度网盘云资源 pdf显示,家里做的pdf在家里可以用adobe x打开,但在单位的电脑却无法打... word文档插入对家里怎么把PDF添加进去 你家可以弄pdf的吗,是什么意思 glass cap and pin insulator是什么意思 龙城决-冰雪单职业手游有哪些推广方法? oppo安卓系统13敢下载么 硅藻泥哪家牌子最好呢?哪个品牌是最有实力啊 spring boot 配置sqlserver数据库 springboot配置文件引用pom文件的变量出错? 残疾人 什么网名? 为什么雷电云手机可以发语音 李傻根的妖孽人生小说txt全集免费下载 衙内的妖孽人生电子书txt全集下载 罗马仕充电宝才买的,要充电吗 怎么看王者荣耀返场皮肤 看王者荣耀返场皮肤步骤 苏轼《藤州江下夜起对月赠邵道士》解析 《通典》卷二 食货二(3) 凉之沁72的格力是新款吗