ansible初体验 📅 发布时间:2026/7/8 0:38:19 👁️ 浏览次数: 1. 选型工具说明缺点xshell不适应机器过多场景需要连接后才能用forssh/scp密钥认证密钥认证免密码登录scp传输文本/脚本ssh远程执行命令或脚本串行saltstack需要安装客户端ansible无客户端密钥认证批量部署环境需要新python版本被红帽收购了Terraform关注基础设施云环境一键创建100台云服务器一键创建负载均衡数据库产品2. ansible架构通过主机清单连接管理被控端命令行执行模块使用playbook剧本核心3. 环境准备环境准备主机名ipansible管理端m02(增加核心数 4c或8c)10.0.0.62/172.16.1.62被管理端web01,web02,db01,nfs01,backup......3.1. 安装ansible1.安装pip工具 yum install -y python3-pip 2.升级pip python3 -m pip install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple --upgrade pip 3.pip源(加速pip下载软件) pip3 config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple 4.安装ansible pip3 install ansible 5.创建ansible配置文件默认没有 mkdir -p /etc/ansible/ cat /etc/ansible/ansible.cfgEOF [defaults] host_key_checking False deprecation_warnings False interpreter_python/usr/bin/python3 [inventory] [privilege_escalation] [paramiko_connection] [ssh_connection] [persistent_connection] [accelerate] [selinux] [colors] [diff] EOF3.2. 检查[rootm02 ~]# ansible --version /usr/local/lib/python3.7/site-packages/ansible/parsing/vault/__init__.py:44: CryptographyDeprecationWarning: Python 3.7 is no longer supported by the Python core team and support for it is deprecated in cryptography. The next release of cryptography will remove support for Python 3.7. from cryptography.exceptions import InvalidSignature ansible [core 2.11.12] config file /etc/ansible/ansible.cfg configured module search path [/root/.ansible/plugins/modules, /usr/share/ansible/plugins/modules] ansible python module location /usr/local/lib/python3.7/site-packages/ansible ansible collection location /root/.ansible/collections:/usr/share/ansible/collections executable location /usr/local/bin/ansible python version 3.7.9 (default, Jun 10 2022, 11:25:35) [GCC 7.3.0] jinja version 3.1.6 libyaml True3.3. 解决CryptographyDeprecationWarning提示[rootm02 ~]# pip install cryptography36.0.1 Looking in indexes: https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple Collecting cryptography36.0.1 Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/d8/0c/c0f8790bdeff9813722811500fd735c40a6c50fe0b4f8f6f4444f7a49cc0/cryptography-36.0.1-cp36-abi3-manylinux_2_24_x86_64.whl (3.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.6/3.6 MB 728.3 kB/s eta 0:00:00 Requirement already satisfied: cffi1.12 in /usr/lib64/python3.7/site-packages (from cryptography36.0.1) (1.14.1) Requirement already satisfied: pycparser in /usr/lib/python3.7/site-packages (from cffi1.12-cryptography36.0.1) (2.20) Installing collected packages: cryptography Attempting uninstall: cryptography Found existing installation: cryptography 45.0.5 Uninstalling cryptography-45.0.5: Successfully uninstalled cryptography-45.0.5 Successfully installed cryptography-36.0.1 WARNING: Running pip as the root user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv [rootm02 ~]# ansible --version ansible [core 2.11.12] config file /etc/ansible/ansible.cfg configured module search path [/root/.ansible/plugins/modules, /usr/share/ansible/plugins/modules] ansible python module location /usr/local/lib/python3.7/site-packages/ansible ansible collection location /root/.ansible/collections:/usr/share/ansible/collections executable location /usr/local/bin/ansible python version 3.7.9 (default, Jun 10 2022, 11:25:35) [GCC 7.3.0] jinja version 3.1.6 libyaml True3.4. 配置主机清单[lb] 172.16.1.[5:6] [web] 172.16.1.[7:10] [db] 172.16.1.[51:52] [nfs] 172.16.1.31 [bak] 172.16.1.41 #创建data分组,子组有db组,nfs组,bak组 [data:children] db nfs bak需求100台机器100个密码如何管理解决主机清单文件中指定密码 [web] 10.0.0.7 ansible_userroot ansible_port22 ansible_passwordLidao996 10.0.0.8 ansible_userroot ansible_port22 ansible_passwordLidao9964. 使用ansible4.1. ping模块检查主机是否可以被管理ansible -i /etc/ansible/hosts all -m ping -i 指定主机清单如果不指定默认是/etc/ansible/hosts4.2. command模块在被管理主机上执行简单的命令ansible lb -m command -a hostname -I4.3. shell模块类似command模块支持负载一点的命令ansible lb -m shell -a rpm -qa | grep tree4.4. script模块ansible lb -m script -a /server/scripts/script.sh5. ansible模块模块分类模块说明/选项执行命令/脚本command一般用于执行简单命令不支持特殊符号默认的模块shell与command类似支持特殊符号script1.分发脚本管理端指定的文件2.执行脚本运行文件目录filetouch,mkdir,rm,chown,chmod,ln -s文件目录软链接path路径目录目录下的文件src源文件创建软链接mode0644,0755,owner,groupstatetouch/directory/link/absent用户usernameuser用户名uiduid用户uidshell/sbin/nologin用户shellcreate_homefalse/true是否创建家目录statepresent/absent添加/删除安装软件包yum/aptnametree软件包名statepresent/absent安装或卸载拷贝copy类似scp拷贝文件或压缩包不要拷贝目录src/etc/hosts管理机源文件dest/etc/hosts被管理机位置服务管理systemd服务管理开机自启动开启关闭重启namenginx服务名enabledyes/no是否开机自启动statestarted/stopped/restarted/reloaded5.1. file创建目录 ansible all -m file -a path/dir/ statedirectory 创建文件 ansible all -m file -a path/dir/test.txt statetouch 创建软链接 ansible all -m file -a src/etc/hosts path/dir/ statelink 删除极其危险 ansible web -m file -a path/dir/ stateabsent 创建文件或目录的时候同时需改权限所有者用户组等内容 ansible all -m file -a path/dir/ mode0700 userzbl groupzbl statedirectoryCollection Index — Ansible Community Documentationuser和group模块group用户组模块user用户模块5.2. user group添加www-ans用户uid,gid 2999 虚拟用户 添加用户组指定gid ansible all -m group -a namewww-ans gid2999 statepresent ansible all -m user -a namewww-ans uid2999 groupwww-ans shell/sbin/nologin create_homefalse statepresent ansible all -a grep www-ans /etc/passwd /etc/group5.3. yum安装软件#安装软件 ansible all -m yum -a nametree5.4. copy分发配置ansible all -m copy -a src/etc/hosts dest/etc/hosts backupyes src源文件 dest目标 backup是否备份5.5. systemd启动服务#开启nginx并设置开启自启动 ansible web -m systemd -a namenginx enabledtrue statestarted #关闭firewalld并禁止开机自启动 ansible web -m systemd -a namefirewalld enabledfalse statestopped6. 总结主机清单ansible模块
杰理AC701N的板级配置AD的使用 首先要知道硬件使用的电阻分压,用了几个电阻分压根据我的硬件对ad按键的分压,以我的为准,我的硬件一共分了2级,一个0欧电阻,一个3k电阻,并且要询问是否配置了外部上拉,并且得让硬件告知外部上拉的值 ,下面就是我配置的总图 去配置下面这个按键回调 最后在回调里面做自己想要的逻… 2026/5/17 3:56:56
杰理AC70NN项目用脚本自定义添加.mk文件,直接链接进主Makefile脚本编译 问题描述: 当我要一直一个项目文件到706的sdk中,用vscode编译,会报错说未添加路径 ,所以需要自己手动在sdk文件下的Makefile一个一个添加.c文件,这样太繁琐, 是不是可以写一个脚本来做呢, 下面开始教程 前提是你的环境有MinGW,能跑cmake,环境变量必须要有下面2个下面开始: 先添… 2026/7/8 8:43:56
C# StringBuilder源码分析 在 .NET 中,StringBuilder 是一个用于高效构建字符串的重要类。它通过避免频繁创建新字符串对象,从而优化了性能。但其背后的实现机制却并不简单。一、核心字段与属性解析 StringBuilder 内部使用了字符数组(char[])来存储字符串数… 2026/5/17 12:39:47
从残差分析到模型优化:线性回归的4个实战陷阱与解决方案 从残差分析到模型优化:线性回归的4个实战陷阱与解决方案在数据科学项目中,线性回归模型往往是最先被尝试的算法,但也是最容易被低估的建模工具。许多分析师在模型表现不佳时,第一反应是转向更复杂的算法,却忽略了线性回… 2026/7/8 22:30:17
PInVerify:具身AI实例级指代验证离线基准 1. 项目概述:这不是又一个“刷榜”数据集,而是一把量尺如果你最近在具身AI(Embodied AI)领域泡得久,大概率已经听过“物理AI”和“具身智能”这两个词被反复提起,甚至有人开始混淆——前者强调系统与真实物… 2026/7/8 22:28:15
AI内衣换装系统本地私有化部署:技术架构与商业应用实战 🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 稳定商业AI内衣换装全流程软件:本地私有化部署实战指南 在电商和服装设计领域,AI换装技术正从概念验证走向商业… 2026/7/8 22:28:15
LTX-Video V1.6:基于int8量化的AI视频生成工具部署与优化指南 🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 在本地部署AI视频生成工具时,很多开发者都面临显存不足、环境配置复杂、生成速度慢三大痛点。特别是想要实现文字或图片生… 2026/7/8 22:26:13
AI音乐伴舞技术解析:从节奏识别到动作匹配的完整实现 🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 最近刷短视频时,你有没有发现一种新趋势——很多视频的背景音乐不再是简单的配乐,而是出现了与画面动作高度同… 2026/7/8 22:24:11
PyTorch nn.Conv2d groups 参数实战:从标准卷积到深度可分离卷积的3种模式对比 PyTorch nn.Conv2d groups 参数实战:从标准卷积到深度可分离卷积的3种模式对比在深度学习模型设计中,卷积神经网络(CNN)的核心组件nn.Conv2d有一个常被忽视但极其重要的参数——groups。这个参数看似简单,却能彻底改变卷积层的连接方式和计算… 2026/7/8 22:22:10
BetterNCM安装器:高效管理网易云插件的最佳选择 BetterNCM安装器:高效管理网易云插件的最佳选择 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐插件的繁琐安装流程而烦恼吗?BetterNCM安装器是… 2026/7/8 0:02:48
运动控制系统安全设置对比:ECI3808的3种限位保护与急停逻辑实现 运动控制系统安全机制深度解析:限位保护与急停逻辑的设计哲学在精密制造与自动化领域,运动控制系统的安全设计绝非简单的功能堆砌,而是一套融合了机械工程、电气原理和软件算法的防御体系。当一台数控机床以每分钟数万转的速度运转࿰… 2026/7/8 0:06:48
AI大模型应用开发:小白也能抓住的红利风口,收藏这篇入门指南! 文章指出,虽然微软等科技巨头在裁员,但英伟达等公司却在积极扩招AI相关人才,尤其是具身智能、仿真等领域。AI行业正在经历结构性调整,传统岗位被淘汰,而大模型应用开发等新岗位需求旺盛。对于想转行或学习AI的普通人来… 2026/7/8 0:10:49
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/8 20:15:17
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/8 14:25:08