Ansible入门学习之基础元素介绍
一、Ansible目录结构介绍
1.通过rpm -ql ansible获取ansible所有文件存放的目录
有配置文件目录 /etc/ansible/
执行文件目录 /usr/bin/

其中 /etc/ansible/ 该文件目录的主要功能是 inventory主机信息配置,ansible工具功能配置。
ansible自身的配置文件是ansible.cfg,其中所有的配置内容均可以在命令行通过参数的形式传递或定义在playbooks中。
二、Ansible命令用法详解
1.Ansible命令行执行的方式有Ad-Hoc(临时命令执行)、Ansible-playbook(Ad-Hoc的集合)两种方式,web化执行方式有Tower(10台以内免费)。
2.Ansible默认使用公私钥认证。
ssh-keygen -N " " -b 4096 -t rsa -C "test@qq.com" -f /root/.ssh/stanley.rsa
随机生成公私钥对
ssh-copy-id -i /root/.ssh/stanley.rsa root@localhost
为本机添加密钥认证
3.Ansible 的命令格式:ansible <host-pattern> [options](可选项)
其中<host-pattern> 是Inventory中定义的主机或者主机组,一般可以是ip,hostname等
例如:ansible all -m ping -u test 表示以test用户的身份执行ping命令
ansible all -m ping -u test --sudo 表示以test的身份sudo到root身份执行ping存活检测
ansible all -m ping -u test -b 表示以test身份至root身份执行ping进行存活检测,上面的同效果命令的操作在新版本中已经被-b所替换
三、Ansible命令使用场景介绍
1.ansible一般用在非固化或者临时一次性的操作的命令中(非固化/临时一次性操作:没有规律或者是临时要做的任务)
例如:ansible web1 -m ping 检查服务器web1的存活情况
2.ansible-galaxy 为github的pip功能
命令格式如下:

3.ansible-pull(默认使用push模式)
适用的场景是:数量巨大的机器需要配置;在刚启动没有网络的主机上运行ansible
4.ansible-doc 模块名 用来查看文档的用法说明
5.ansible-playbook 通过读取预先编写的playbook文件实现批量管理,是ansible的任务集
例如:ansible-playbook playbook.yml 表示执行playbook.yml中所有的任务集合
6.ansible-vault 用于配置文件加密
例如:ansible-vault encrypt a.yml 加密a.yml
7.ansible-console 用来虚拟一个终端
四、Ansible Inventory配置及详解
1.定义主机和组
[组名],支持将同一个主机归并到多个不同的组中且以行作为单位分割配置

2.定义主机变量

上述示例是修改web服务的端口为808
3.自定义组变量

4.其他inventory参数列表

五、Ad-Hoc命令集
1.使用场景:
空闲时期关闭所有不必要的服务器并对其进行健康检测
临时更新Apache和Nginx的配置文件并将其分发到所有需要更新该配置的web服务器
需要使用Ansible-playbook的场景
对新的服务器进行安装完系统之后的一些列固化的初始工作
定期对生产环境发布更新程序代码
2.Ad-Hoc命令集用法介绍

例如:ansible web --list 表示列出web组所有的主机列表
ansible 10.20.40.61 -B 5 -P 2 -T 2 -m command -a 'sleep 20' -u root
上述命令表示以root执行sleep 20,设置最大连接超时时长为2且为后台运行的模式,执行过程中每2秒输出依次进度如果5s还没有还未执行完就终止该任务。
为所有的服务器安装ntp服务并设置为开机启动
ansible apps -s -m yum -a ''name=ntp state=present''
ansible apps -m service -a "name=ntpd state=started enabled=yes"
上述这两条命令分别表示给所有主机安装ntp服务然后启动ntp服务并设置为开机启动
六、Ad-Hoc组管理和特定主机变更
1.一般我们需要会将负责相同场景应用的主机划分为一个组便于统一管理,这是就需要组管理并且可以对组中特定的主机进行变更。
2.组配置需要编辑/etc/ansible/hosts,下图是简化后的web服务架构:

3.配置Proxy和web servers实践
ansible proxy -m yum -a "name=nginx state=present" 利用ansible安装nginx
ansible app -m yum -a "name=nginx state=present"
ansible app -m yum -a "name=php state=present" 安装nginx和php
…… 同上述命令安装 mysql-python python-setuptools依赖包
ansible app -m pip -a "name=django state=present" 安装Django
同上述安装nginx命令安装后端的数据库redis
以下命令为安装mariadb的命令:

以上配置命令即可配置完所有主机的应用需求
4.Ad-Hoc特定主机变更
通过limit参数限定主机做变更
ansible app -m command -a "service ntpd status" --limit "192.168.37.158"
上述命令的作用是在app组中查看192.168.37.158的状态
ansible "192.168.37.158:192.168.37.159" -m command -a "service ntpd status"
上述命令的作用是查看上述两个ip地址对应的主机的ntp服务的状态
七、Ad-Hoc用户与组管理
1.ansible系统用户模块
linux系统用户管理:user
windows系统用户管理:win_user
2.与用户相关的应用场景
新增用户:增加test用户并为其创建家目录
ansibledb -m user -a "name=test shell=/bin/bash groups=admins,testgroup append=yes home=/home/test/ state=present"
修改用户属组
ansibledb -m user -a "name=test groups=testgroup append=no"
修该用户的属性
ansibledb -m user -a "name=test expires=19999999"
删除用户
ansibledb -m user -a "name=test state=absent remove=yes"
变更用户密码
ansible -m user -a "name=test shell=/bin/bash password=igrjiFDF update_password=lovexiao"
password后面的密码是加密后的密文
八、应用层用户管理
1.新增mysql用户test
ansible db -m mysql_user -a 'login_host=localhost login_password=xiao login_user=root name=test password=testxiao priv=zabbix.*:ALL state=present'
相关文章:
Ansible入门学习之基础元素介绍
一、Ansible目录结构介绍 1.通过rpm -ql ansible获取ansible所有文件存放的目录 有配置文件目录 /etc/ansible/ 执行文件目录 /usr/bin/ 其中 /etc/ansible/ 该文件目录的主要功能是 inventory主机信息配置,ansible工具功能配置。 ansible自身的配置文件…...
大数据治理实战指南:数据质量、合规与治理架构
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 引言 随着企业数字化转型的加速,大数据已成为驱动业务决策的核心资产。然而,数据治理的缺失或不完善&…...
leetcode_链表 234.回文链表
234.回文链表 给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是, 返回 true ; 否则, 返回false。思路: 找到中间节点(快慢指针法)反转后半部分的链表比较前半部分和后半部分链表 # Definition for singly-linked list. # class List…...
[Dialog屏幕开发] 屏幕绘制(下拉菜单)
阅读该篇文章之前,可先阅读下述资料 [Dialog屏幕开发] Table Control 列数据操作https://blog.csdn.net/Hudas/article/details/145343731?spm1001.2014.3001.5501https://blog.csdn.net/Hudas/article/details/145343731?spm1001.2014.3001.5501https://blog.cs…...
deepseek v1手机端部署
在iPhone上部署DeepSeekR1 1. 安装快捷指令: 打开iPhone上的Safari浏览器,访问[这个链接](https://www.icloud.com/shortcuts/e0bc5445c39d45a78b90e1dc896cd010)下载快捷指令。 下载后,按照提示完成安装。 2. 获取并配置API Key&a…...
CVPR 2024 无人机/遥感/卫星图像方向总汇(航空图像和交叉视角定位)
1、UAV、Remote Sensing、Satellite Image(无人机/遥感/卫星图像) Unleashing Unlabeled Data: A Paradigm for Cross-View Geo-Localization ⭐codeRethinking Transformers Pre-training for Multi-Spectral Satellite Imagery ⭐codeAerial Lifting: Neural Urban Semantic …...
【信息系统项目管理师-选择真题】2015下半年综合知识答案和详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第…...
Baklib如何结合内容中台与人工智能技术实现数字化转型
内容概要 在当前快速发展的数字环境中,企业面临着转型的紧迫性与挑战,尤其是在内容管理和用户互动的领域。内容中台作为一种集成化的解决方案,不仅能够提高企业在资源管理方面的效率,还能够为企业提供一致性和灵活性的内容分发机…...
JAVAweb学习日记(八) 请数据库模型MySQL
一、MySQL数据模型 二、SQL语言 三、DDL 详细见SQL学习日记内容 四、DQL-条件查询 五、DQL-分组查询 聚合函数: 分组查询: 六、DQL-分组查询 七、分页查询 八、多表设计-一对多&一对一&多对多 一对多-外键: 一对一: 多…...
自动驾驶---苏箐对智驾产品的思考
1 前言 对于更高级别的自动驾驶,很多人都有不同的思考,方案也好,产品也罢。最近在圈内一位知名的自动驾驶专家苏箐发表了他自己对于自动驾驶未来的思考。 苏箐是地平线的副总裁兼首席架构师,同时也是高阶智能驾驶解决方案SuperDri…...
python——Django 框架
Django 框架 1、简介 Django 是用python语言写的开源web开发框架,并遵循MVC设计。 Django的**主要目的是简便、快速的开发数据库驱动的网站。**它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能…...
计算机视觉-卷积
卷积-图像去噪 一、图像 二进制 灰度 彩色 1.1二进制图像 0 1 一个点可以用一个bit(0/1)来表示 1.2灰度图像 0-255 一个点可以用一个byte来表示 1.3彩色图像 RGB 表达一个彩色图像先说它的分辨率p/w(宽)和q/h(高…...
Spring Boot 自定义属性
Spring Boot 自定义属性 在 Spring Boot 应用程序中,application.yml 是一个常用的配置文件格式。它允许我们以层次化的方式组织配置信息,并且比传统的 .properties 文件更加直观。 本文将介绍如何在 Spring Boot 中读取和使用 application.yml 中的配…...
C++ list 容器用法
C list 容器用法 C 标准库提供了丰富的功能,其中 <list> 是一个非常重要的容器类,用于存储元素集合,支持双向迭代器。<list> 是 C 标准模板库(STL)中的一个序列容器,它允许在容器的任意位置快速…...
《 C++ 点滴漫谈: 二十四 》深入 C++ 变量与类型的世界:高性能编程的根基
摘要 本文深入探讨了 C 中变量与类型的方方面面,包括变量的基本概念、基本与复合数据类型、动态类型与内存管理、类型推导与模板支持,以及类型系统的高级特性。通过全面的理论讲解与实际案例分析,展示了 C 类型系统的强大灵活性与实践价值。…...
C语言初阶牛客网刷题—— HJ34 图片整理【难度:中等】
1. 题目描述 牛客网在线OJ链接 Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。 输入描述:Lily使用的图片包括 “A…...
小盒科技携手体验家,优化智能教育服务体验,打造在线教育新高度
北京小盒科技有限公司(简称“小盒科技”,由“作业盒子”更名而来)是一家专注于教育科技的公司,致力于利用人工智能、大数据等先进技术,为中小学教育提供创新的解决方案和产品。 近日,「小盒科技」携手体…...
一个简单的自适应html5导航模板
一个简单的 HTML 导航模板示例,它包含基本的导航栏结构,同时使用了 CSS 进行样式美化,让导航栏看起来更美观。另外,还添加了一些 JavaScript 代码,用于在移动端实现导航菜单的展开和收起功能。 PHP <!DOCTYPE htm…...
HttpClient学习
目录 一、概述 二、HttpClient依赖介绍 1.导入HttpClient4依赖 2.或者导入HttpClient5依赖 3.二者区别 三、HttpClient发送Get请求和Post请求测试 (一)通过HttpClient发送Get请求 (二)通过HttpClient发送Post请求 一、概述 HttpClient是 Apache 软件基金会提供的一…...
二级 二维数组3
对角线之和 题目描述 输入一个矩阵,输出右上-左下对角线上的数字和 输入 输入1个整数N。(N<10)表示矩阵有n行n列 输出 对角线的和 样例 输入复制 4 1 2 3 4 2 3 4 5 4 5 6 7 1 2 3 4 输出复制 14 #include<iostream> using namespace std; int main() {i…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
