ansible远程操作主机功能(1)

自动化运维(playbook剧本yaml)

是基于Python开发的配置管理和应用部署工具。自动化运维中,现在是异军突起。

Ansible能批量配置,部署,管理上千台主机,类似于Xshell的一键输入的工具,不需要每次都切换主机进行操作。

只要有一台ansible的固定主机,就可以所有节点的操作。

主需要一台主机上配置了ansible。

Ansible是基于模块进行工作,只是提供了一种运行的架构,执行操作和辨证的事ansible的模块来实现的。

Copy

Service

Ansible默认是通过ssh的密钥对实现通信(可以改)

Ansible的另一特点,所有模块都是幂等性。

幂等性:所谓幂等性,指的是多次操作或者多次执行行对系统资源的影响是一致的。

Systemctl stop firewalld

Systemctl stop firewalld

Systemctl stop firewalld

只要发现要停止的目标服务已经停止了。后续同样的停止操作,不会改变任何结果,生么也不做。

Systemctl resart firewalld 每一次操作都会先停再启动。

http  get  幂等性

Post:多次执行相同的post可能创建多个相同的资源。

Ansible的幂等性,决定了你可以放心大胆的使用,重复执行某个任务不会对结果产生任何影响(绝大多数情况)。

Ansible的四大组件:

  1. lnventory 主机清单(主机组)定义ansible可以远程操作的服务器。
  2. 模块 13个模块(常用的)通过模块可以实现远程的配置操作。
  3. Plugins插件
  4. Playbook剧本(shell脚本模式)yaml格式

Ansible的优缺点:

部署较为简单,主要在控制主机部署即可,被控制主机需要有ssh和pyhon2.5以上版本。基本上Linux都是自带的。

Ansible只能控制Linux系统,windows不行。

基于模块工作,可以使用任意语言开发模块(二次开发。底层架构)

环境:

配置主机有两种方式:

  1. 直接声明主机的IP地址
  2. 主机名(/etc/hosts做映射)

Ansible的命令格式:

Ansible 组名/ip -m 模块名称  -a ‘参数列表(执行的命令)’

模块一:

Command模块,在远程主机执行Linux命令,不支持管道符,重新定向输出。

Ansible 192.168.233.20  -a ‘ls /opt’

不加-m也就是不声明使用的模块,默认就是command模块。

常见参数:

Chdir:在远程主机上运行命令,提前就是command模块

Creates:判断指定文件是否存在,如果存在,不指定后面的操作。

Removes:判断指定的文件是否存在,如果存在,执行后续的命令。

模块二:

Shell模块,在远程主机执行命令。相当于 远程主机上的shell禁止,支持管道符和冲向

在ansible当中,多个引号之间要做隔阂

表示逻辑且,前一个命令成功才会执行后一个。

表示逻辑或,前面都成功与否,后面的命令都会执行。

在ansible 192.168.233.30 -m shell -a touch /opt/ 123 && echo 456 > /opt/123 && ls /opt && cat /opt/123 

 

模块三:

cron模块 远程主机设置定时任务

两种状态:present表示添加(默认就是添加,可以省略)

                absent:表示移除。#absent在整个ansible的语法中都表示移除的 意思(删除)

分  时   日   月   周

分=minute     时=hour     日= day   月=month    周=weekday

job:任务执行的命令

name:任务计划名称,可以不加

删除定时任务:

多个几乎任务如果不给名字都是none,一但删除none 全部删除,不推荐,最好加上名字。

模块四:

User模块:用户管理模块

常用的参数:

name:指定用户名,必须添加        

State  present  absent  创建用户可以不加 present ,删除一定要加 absent

System=yes | no ,标记用户是否是一个程序用户

Uid:用户的唯一标识

Group:用户的所在组

Create_home=yes | no 。替换用户的家目录,  不需要替换用户的家目录可以不写

Password:创建用户密码

Comment:用户的注释信息(可有可无)

Remove=yes | no 当前删除用户,加上remover=yes 删除用户的家目录 userdel -r 如果不需要删除家目录。可以不写。

在创建用户时,虽然我申明了是一个程序用户,但是默认的登录shell如果没有额外的声明,还是默认的/bin/bash UID会按照 程序用户来指定。

使用ansible的user模块创建用户时,如果创建普通用户可以不加system=no 指定shell类型可以不加,默认就是/bin/bash如果创建的是程序用户,一定要声明system=yes 声明shell类型 shell=/sbin/nlogin 也可以指定UID的方式。给用户分配一个uid.

模块五:

Group模块:用户组的管理模块

常用参数:

Name 必须要有

Gid 设置组的id

先删除组用户:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/287038.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零开始在Linux服务器配置并运行YOLO8+Web项目

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏: 神经网络(随缘更新) ✨特色…

【PHD申请文书】motivation letter|不限字数|Medical Imaging and Application

本文目录 APPLICATION ESSAYCriticism思考 Ref: https://essayforum.com/letters/tryst-technology-motivation-erasmus-degree-85383/ APPLICATION ESSAY My tryst with technology - motivation letter for Erasmus Degree in Medical Imaging and Application 原文机翻My…

23级新生C语言周赛(6)(郑州轻工业大学)

题目链接:ZZULIOJ 3110: 数(shu)数(shu)问题 分析: 看到这个题第一步想的是 先把每个平方数给求出来 然后枚举 但是时间复杂度大于1e8 交了一下TLE 但后来打表发现,好数太多了要是枚举的话 注定TLE 能不能间接的去做呢? 把不是的减去,那不就是好数了吗? 这个时候又是打表,会…

智能优化算法应用:基于算术优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于算术优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于算术优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.算术优化算法4.实验参数设定5.算法结果6.…

【lesson18】MySQL内置函数(1)日期函数和字符串函数

文章目录 日期函数函数使用具体使用案例建表插入数据建表插入数据 字符串函数函数使用具体使用案例建表插入数据测试 日期函数 函数使用 获得年月日: 获得时分秒: 获得时间戳: 获得现在的时间: 在日期的基础上加日期&#xf…

el-form与el-upload结合上传带附件的表单数据(后端篇)

1.写在之前 本文采用Spring Boot MinIO MySQLMybatis Plus技术栈,参考ruoyi-vue-pro项目。 前端实现请看本篇文章el-form与el-upload结合上传带附件的表单数据(前端篇)-CSDN博客。 2.需求描述 在OA办公系统中,流程表单申请人…

selenium-grid4.3.0两种模式记录

selenium-grid4.3.0两种模式记录 本文运行,需要提前配置好Java11以及安装好Chrom、Firefox、Safari其中一个浏览器,如果是Chrom、Firefox需要下载对应版本的驱动,并给 webdriver 配置环境变量,Safari浏览器Mac系统会自带&#xf…

element plus 日期范围 自定义内容

问题: 按照官网上的自定义内容示例,修改日期选择器没有问题,如果修改日期范围选择器,修改后会丢失日期范围选择时的样式。 解决: 从F12中不难看出日期范围的选择样式来自于.el-date-table-cell 而示例中写的是.cell&…

Linux学习笔记-Ubuntu下ssh服务器连接异常Connection reset

文章目录 一、问题问题现象1.1 连接重置无法访问的的问题1.2 查看服务器连接状态1.3 使用调试模式查看的信息 二、临时解决方法三、从根源解决问题3.1 问题分析3.2 服务器的ssh日志3.3 修改ssh配置禁止root登录3.4 配置允许所有ip访问3.5 修改认证方法3.6 再找原因 角色&#x…

从零开始制作一个Douban图像下载器:Wt库的基础知识和操作指南

引言 欢迎来到本文,如果你希望从豆瓣下载海量的高清图像、学习使用现代C web应用程序框架Wt库开发web应用程序,或者了解如何利用代理IP和多线程技术提高爬虫效率和稳定性,那么你来对地方了。在接下来的内容中,我们将为你提供一个…

Unity | Shader基础知识(第七集:案例<让图片和外部颜色叠加显示>)

目录 一、本节介绍 1 上集回顾 2 本节介绍 二、添加图片资源 三、 常用cg数据类型 1 float 2 bool 3 sampler 四、加入图片资源 五、使用图片资源 1 在通道里加入资源 2 使用图片和颜色叠加 2.1 2D纹理采样tex2D 2.2 组合颜色 六、全部代码 七、下集介绍 相关…

phpstudy是什么?

PHPStudy 是一个集成环境工具,它将 PHP 开发所需的软件,如 Apache(Web服务器)、MySQL(数据库服务器)、PHP(脚本语言)等打包在一起,以便用户能够轻松安装和配置这些软件&a…