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

先删除组用户:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Git总结 | Git面试都问些啥?

什么是Git为什么要用Git等等这些相信看到该标题点进来的同学也不希望浪费时间再看一遍,那么直接进入主题,对于日常工作中常用的Git相关操作进行整理,一起看看吧 面试官:你常用的Git操作是什么? 候选人:git clone 面试…

k8s集群使用calico网络组件

一、前言 k8s的网络组件可以使用flannel或者calico两种,flannel的配置比较简单,但是性能还是calico会更高一点,所以现在来介绍以下calico网络组件的部署 二、部署 k8s集群版本对calico的版本也有对应要求,k8s 1.23.0版本要求对应…

Spring MVC 中的常用注解和用法

目录 一、什么是 Spring MVC 二、MVC定义 三、简述 SpringMVC 起到的作用有哪些? 四、注解 五、请求转发或请求重定向 一、什么是 Spring MVC Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。它的正式名称“Spring Web…

为什么MCU在ADC采样时IO口有毛刺?

大家在使用MCU内部ADC进行信号采样一个静态电压时,可能在IO口上看到这样的波形。这个时候大家一般会认识是信号源有问题,但仔细观察会发现这个毛刺的频率是和ADC触发频率一样的。 那么为什么MCU在ADC采样时IO口会出现毛刺呢?这个毛刺对结果有…

深度解析Python爬虫中的隧道HTTP技术

前言 网络爬虫在数据采集和信息搜索中扮演着重要的角色,然而,随着网站反爬虫的不断升级,爬虫机制程序面临着越来越多的挑战。隧道HTTP技术作为应对反爬虫机制的重要性手段,为爬虫程序提供了更为灵活和隐蔽的数据采集方式。本文将…

基于视触觉的柔性机械爪与水果硬度无损检测

近日,课题组柑橘全程机械化平台研究团队以“Non-destructive fruit firmness evaluation using a soft gripper and vision-based tactile sensing”为题在农业计算机与电子信息领域期刊“Computers and Electronics in Agriculture”(IF20238.3)发表研究论文。 果…

Zero date value prohibited 异常处理

项目场景: 在项目中,我们会时常遇到数据查询,今天在对数据进行查询的时候,遇到一个之前闻所未闻的异常,所以记录下来,分享给大家。 问题描述 查询数据为datetime类型的数据时,发现该字段的值为…

Linux Docker本地部署WBO在线协作白板结合内网穿透远程访问

文章目录 前言1. 部署WBO白板2. 本地访问WBO白板3. Linux 安装cpolar4. 配置WBO公网访问地址5. 公网远程访问WBO白板6. 固定WBO白板公网地址 前言 WBO在线协作白板是一个自由和开源的在线协作白板,允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用…

生日蜡烛C语言

分析&#xff1a;假设这个人只能活到100岁&#xff0c;如果不这样规定的话&#xff0c;那么这个人就可以假设活到老236岁&#xff0c;直接一次吹236个蜡烛&#xff0c;我们就枚举出所以情况&#xff0c;从一岁开始。 #include <stdio.h> int f(int a,int b){//计算从a到…

案例分享|企业为什么要选择数字化转型?

数字化在现代社会中扮演着重要的角色&#xff0c;成为企业转型的必由之路。随着科技的发展和信息化的进程&#xff0c;越来越多的企业开始拥抱数字化转型&#xff0c;以应对市场的变化和竞争的压力。数字化带来了诸多好处&#xff0c;不仅提高了企业的效率和生产力&#xff0c;…

Pytorch:Tensorboard简要学习

目录 一、TensorBoard简介二、TensorBoard的安装与启动Tensorboard的安装Tensorboard的启动 三、TensorBoard的简单使用3.1 SummaryWriter()3.2 add_scalar()和add_scalars()3.3 add_histogram()3.4 模型指标监控 四、总结参考博客 一、TensorBoard简介 TensorBoard 是Google开…

一款简单的单节锂电池电量指示芯片 XC260A 适用于四个指示灯的电量指示

XC260A是一款单节鲤电池电量指示芯片&#xff0c;该芯片采用CMOS 工艺实现&#xff0c;体积小&#xff0c;便于便携式产品安装 XC260A内置比较器和反馈回路,实现4个电压点的检测通过内部修调技术&#xff0c;可以保证电压检测精度达到士2%。输出采用 OPENDRAIN结构,便于…

基于DINOv2的图像相似性比对(含代码和模型数据)

目录 一、概述二、实践2.1 安装环境2.2 示例代码 一、概述 2023年4月份&#xff0c;Meta发布了DINOv2预训练模型。DINOv2属于一种自监督学习算法&#xff0c;相比于以往的自监督技术有了显著改进&#xff0c;并达到了与弱监督算法相当的性能。 DINOv2算法可以在任何图像数据集…

嵌入式开发行业会不会也变成java行业?

今日话题&#xff0c;嵌入式开发行业会不会也变成java行业&#xff1f;关于嵌入式行业的未来&#xff0c;与一些人的担忧不同&#xff0c;它并不会内卷化&#xff0c;而是具有相对稳定性的领域。嵌入式开发在制造业等重要第二产业中扮演着关键角色&#xff0c;这些领域的稳定性…

什么是AI数字人互动大屏?

AI数字人结合互动大屏凭借其智能化、互动化、信息化等优势为企业服务、展馆展厅、数字会议带来全新的交互体验和数字化升级。有效为企业提高了沟通效率&#xff0c;节省人力成本&#xff0c;提升服务温度&#xff0c;满足技术创新。 一.数字人互动对话流程&#xff1a; 1.文本转…

【MAC】M2 安装docker 与 mysql

一、docker下载地址 下载地址 二、安装docker完成 罗列一下docker常用命令 # 查看docker版本 docker --version# 拉取镜像 docker pull 镜像名# 查看当前所有镜像 docker images# 查看运行中的容器 docker ps -a docker ps grep| 镜像名#镜像启动操作&#xff1a; sudo dock…

魔众文库系统v5.8.0版本发布:水印、分类与移动端升级,打造更高效文档管理体验

魔众文库系统迎来了全新的v5.8.0版本更新&#xff01;此次更新不仅对水印功能进行了升级&#xff0c;还新增了辅助分类样式&#xff0c;同时优化了移动端体验。让我们一起来看看这次更新的亮点吧&#xff01; 一、水印功能全新升级 在v5.8.0版本中&#xff0c;魔众文库系统的…

Addressables资源如何进行完整性校验

1&#xff09;Addressables资源如何进行完整性校验 2&#xff09;使用SpriteAtlas时出现冗余精灵&#xff0c;如何指定用哪一个图集 3&#xff09;anim文件进行精度处理后某些信息丢失 这是第365篇UWA技术知识分享的推送&#xff0c;精选了UWA社区的热门话题&#xff0c;涵盖了…

STM32----HAL库函数

1.STM32系统框架 1.1 Cortex-M内核&芯片 1.2 F1系统框架 4个主动单元4个被动单元 AHB&#xff1a;高级高性能总线 APH&#xff1a;高级外围总线 其中 1 为 主动单元 &#xff0c; 2为被动单元 总线时钟频率&…

轻量化压缩之【剪枝】

在深度学习领域&#xff0c;剪枝是一种常用的模型轻量化技术&#xff0c;主要是通过移除神经网络中被认为不重要的连接&#xff08;即权重&#xff09;来减少模型的大小和计算量。移除的连接可以是单独的权重&#xff08;非结构化剪枝&#xff09;&#xff0c;也可以是整个神经…