Ansible的简介及部署

2023-11-19

1. ansible简介

1.1 什么是ansible

ansible是一款开源自动化平台,是一个配置管理工具,自动化运维工具

1.2 ansible的优点

  1. 跨平台支持
  2. 人类可读自动化: ansible提供linux,Windows,unix和网络设备的无代理支持,适用于物理、虚拟、云和容器环境
  3. 完美描述应用:playbook
  4. 轻松管理版本控制:playbook是纯文本,可视作源代码
  5. 支持动态清单
  6. 编排可与其他系统轻松集成:puppet、jenkins
  7. 基础架构即代码
  8. 减少人为错误

运行playbook时,如果目标主机处于正确状态,则不会进行任何更改。

1.3 安装ansible
1. 在虚拟机上安装ansible,充当控制节点

yum install -y ansible

2. 查看ansible版本信息

ansible --version

 

3. 使用setup模块验证python

ansible localhost -m setup | grep python_version

 

2. 部署ansible

2.1 构建ansible清单

  • 清单:定义了ansible将要管理的一批主机

2.1.1. 静态清单

注:如果填写的是主机名,请确保可以解析主机名(/etc/hosts)

每行一个,填写主机名或ip,如:

还可以定义主机组:

注:一台主机可以存在于多个主机组'

2.1.2 定义嵌套组

ansible主机清单可以包含多个主机组构成的组,如:

2.1.3 通过范围简化主机规格

可以指定主机名称或ip范围或者数字和字母范围


2.1.4 验证清单

ansible all --list-hosts

2.1.5 默认清单位置

  • /etc/ansible/hosts    #一般不使用,而是自己新建

2.1.6 动态清单

可以从开源社区的脚本中获取

练习:

列出清单中所有受管主机

ansible all --list-hosts

列出不属于某个组的主机

ansible ungrouped --list-hosts

 

列出属于webservers组的主机

ansible dbservers --list-hosts

 

自定义清单

mkdir demo    #建立目录

列出主机


2.2 管理ansible配置文件

2.2.1 配置ansible

配置文件:

  1. /etc/ansible/ansible.cfg    #基本配置文件,如果找不到其他配置文件,使用这个
  2. ~/.ansible.cfg        #如果存在此文件且当前工作目录中没有ansible.cfg,此文件替代/etc/ansible/ansible.cfg
  3. ./ansible.cfg        #当前目录中的ansible.cfg,优先级最高


显示使用的配置文件

ansible dbservers --list-hosts -v

管理配置文件中的设置:

  • [defaults]        #部分设置ansible操作的默认值
  • [privilege_escalation]    #配置ansible如何在受管主机上执行特权升级

例:

vim ansible.cfg


注:如果登录的不是root用户,可以使用sudo进行权限下放。且做好免密登录
 

2.3 运行临时命令

使用临时命令可以快速测试和更改,不需要编写playbook

2.3.1 格式:

  • ansible host-pattern -m module [-a 'module arguments'] [-i inventory]

2.3.2 检查能否在受管主机上运行python模块


2.3.3 使用临时命令通过模块执行任务

  • ansible-doc -l    #列出所有模块
  • ansible-doc ping    #查看ping模块帮助文档

ansible模块
文件模块:    -copy:将本地文件复制到受管主机
        -file:设置文件的权限和其他属性
        -lineinfile:确保特定行是否在文件中
        -synchronize:使用rsync同步内容

系统模块:    -firewalld:使用firewalld管理任意端口和服务
        -reboot:重启 
        -service:管理服务
        -user:添加、删除和管理用户账户

Net Tools模块:    -get_url:通过http、https、或者ftp下载文件
        -nmcli:管理网络
        -uri:与web服务交互


例:

使用user模块确保huayu用户存在于server1.huayu.com 且 uid=1000

通过ansible的command模块,在受管主机上运行命令:

ansible 加上-o参数,单行显示

注:command模块允许执行远程命令,但这些命令不是shell处理,无法访问shell环境变量,所以不能执行重定向、传送等操作

使用command模块执行临时命令

ansible localhost -m command -a 'id'

ansible localhost -m command -a 'id' -u student    #通过-u选项使用huayu用户进行连接并执行id命令

 

使用copy模块

1.首先使用student用户,因为huayu用户没有写权限,会失败

ansible localhost -m copy -a 'content="westos ansible\n" dest=/etc/motd' -u student

2.使用特权升级

 

使用主机组一次更改server1和server2


可以看到server1显示SUCCESS,server2显示CHANGED,因为server1已经处于正确状态


查看

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ansible的简介及部署 的相关文章

随机推荐

  • 线特征的LSD提取算法

    线特征的LSD提取算法 线段检测器算法 算法流程 大多数图像中都存在直线特征 是视觉感知 描述外部环境的重要特征信息 直线是一种大尺度的特征 在水面环境中具有更为理想的适用性 线特征具有光照和视角不变性特点 表现更为稳定 有效 因此将点 线
  • redis--11.2--操作--管道

    redis 11 2 操作 管道 1 介绍 将多个命令一起通过网络发送 返回多个值
  • Knowledge Distillation & Student-Teacher Learning for Visual Intelligence: A Review & New Outlooks

    论文地址 http arxiv org abs 2004 05937 github地址 无 这是篇关于知识蒸馏的综述文章 知识蒸馏被认为是用于模型压缩的非常有效的一种方式 本文作者从模型压缩和知识迁移两个应用场景概述了近年来对知识蒸馏的研究
  • kaggle数据集_图像分类:来自 13 个 Kaggle 项目的经验总结

    点击上方公众号 可快速关注 转自 机器学习实验室 任何领域的成功都可以归结为一套小规则和基本原则 当它们结合在一起时会产生伟大的结果 机器学习和图像分类也不例外 工程师们可以通过参加像Kaggle这样的竞赛来展示最佳实践 在这篇文章中 我将
  • VMware虚拟机崩溃的解决方法(.vmx损坏,其他文件完好)

    使用虚拟机的朋友想必都或多或少遇到过虚拟机崩溃 无法开启的问题吧 这确实是虚拟机存在的一个严重问题 例如突然断电 或者虚拟机非正常关机等等 很多因素都能造成虚拟机的异常损坏 本文就针对其中的一种常见问题提供相关解决办法 如有不当之处 望不吝
  • c++直角坐标系与极坐标系的转换_平面向量的奇技淫巧——斜坐标系的一系列低级研究...

    事先说明 笔者初三 如在叙述中有不严谨的地方 还请诸位指出 自当感激不尽 一 什么是斜坐标系 众所周知 我们目前平面中使用相当广的坐标系是笛卡尔发明的平面直角坐标系 然而 笛卡尔真的只使用了这一种坐标系吗 显然不是的 事实上 笛卡尔最先使用
  • Odoo免费开源ERP订单锁货的应用实施技巧分享

    Odoo是世界排名第一的免费开源ERP 其应用市场上有3万多个功能插件可供下载使用 几乎涵盖各行各业的企业业务管理流程 包括库存管理 销售管理 采购管理 制造管理 维修保养 网站电商 市场营销 项目管理 HR 财务 PLM等等 并且源码交付
  • 服务器备案的网站名称怎么填写,公安备案网站名称怎么写?

    最近很多新老用户接到西安网警打来电话让进行公安网安备案 要求通过全国互联网安全管理服务平台进行公安联网备案 客户俗称 公安备案网站名称怎么写 依据 计算机信息网络国际联网安全保护管理办法 相关规定 各网站在工信部备案成功后 需在网站开通之日
  • 迪杰斯特拉算法(Dijkstra)-Java实现

    迪杰斯特拉算法也是求两点之间最短路径的算法 它的思想和普利姆算法有点相似 不断通过已找到点集合和未找到点之间的集合之间的最短路径 这个算法需要用到三个数组 一个是存储结点是否已经访问 一个是结点到起始点的最短距离 还有一个是结点到起始点第一
  • Java实现简单版SVM

    Java实现简单版SVM 最近的图像分类工作要用到latent svm 为了更加深入了解svm 自己动手实现一个简单版的 之所以说是简单版 因为没有用到拉格朗日 对偶 核函数等等 而是用最简单的梯度下降法求解 其中的数学原理我参考了http
  • 解决Adobe Flash Player已不再受支持的问题

    1 问题展示 我们在访问某些网站时 可能会出现Adobe Flash Player已不再受支持的问题 具体如下图所示 这会对我们的日常生活需求产生极大的不便 因此迫切需要一个能够解决此问题的方法 其实很简单 具体操作请看下面的步骤 2 下载
  • 移动端+PC端图片预览+手势缩放等功能合集

    话不多说 直接上代码 大家可按需求功能复制使用 window onload function 点击图片进入预览 var Dom document querySelector preview Dom onclick function var
  • 接口如何实现多态

    抽象类是用来继承的 不能被实例化 抽象类里可以有成员变量 接口中没有 1 抽象类里的抽象方法 只有在子类实现了才能使用 2 抽象类里的普通方法 可被子类调用 3 接口里的方法 都被默认修饰为public abstract类型 4 接口里的变
  • 记录1年免费亚马逊AWS云服务器申请方法过程及使用技巧

    转载 http www itbulu com free aws html 早年我们才开始学习网站建设的时候 会看到且也会寻找免费主机商 主要原因是那时候提供免费主机的商家还是比较靠谱的 而且那时候主机商并不是很多且成本也比较大 我们深知听到
  • linux上层app调用驱动底层的过程详解

    APP应用程序 gt 应用框架层 gt 硬件抽象层 gt 硬件驱动程序 一 硬件驱动层 进入kernel drivers文件夹中 创建一文件夹 放入驱动程序 包括头文件 C文件 Makefile Kconfig 同时对drivers下的Ma
  • 滚动屏幕或缩放屏幕,使用节流

    场景 滚动屏幕 onScroll 缩放屏幕 resize 如果需要统计用户滚动屏幕或缩放屏幕的行为作出相应的网页反应 容易导致网络的阻塞 mounted window addEventListener resize this throttl
  • 基于聚类的异常值检测算法依据及python实现

    假设数据集D被聚类算法划分到k个类C C1 C2 CK 对象p 的离群因子of3 p 定义为 与所有类间距的加权平均值 其中 D 为样本数量 Cj 为第j个聚类群体样本数量 d p cj 为样本p与第j个聚类中心的距离 其中cj表示第j个聚
  • LeetCode·每日一题·1851. 包含每个查询的最小区间·优先队列(小顶堆)

    题目 示例 思路 离线查询 输入的结果数组queries 是无序的 如果我们按照输入的queries 本身的顺序逐个查看 时间复杂度会比较高 于是 我们将queries 数组按照数值大小 由小到大逐个查询 这种方法称之为离线查询 位运算 离
  • ExtJS之 Proxy数据代理

    ExtJS之 Proxy数据代理 代理种类截图 ExtJS提供的数据代理主要分为两大类 1 客户端代理 Ext data proxy Client 2 服务器代理 Ext data proxy Server 这两个类 都继承自 Ext da
  • Ansible的简介及部署

    1 ansible简介 1 1 什么是ansible ansible是一款开源自动化平台 是一个配置管理工具 自动化运维工具 1 2 ansible的优点 跨平台支持 人类可读自动化 ansible提供linux Windows unix和