ansible搭建+ansible常用模块

ansible搭建

管理机安装ansible,被管理节点必须打开ssh服务

1.管理机安装ansible

yum -y install ansible

2.查看版本

ansible --version
ansible 2.9.27

3.查找配置文件

find /etc/ -name "*ansible*"
/etc/ansible
/etc/ansible/ansible.cfg

4.三台被管理机(192.168.118.20,192.168.118.30,192.168.118.200),其中两台做免密

ssh-keygen
ls ./.ssh/
id_rsa  id_rsa.pub  known_hosts
ssh-copy-id -i 192.168.118.20
ssh-copy-id -i 192.168.118.30

5.定义主机组

vim /etc/ansible/hosts 

6.  ansible   主机ip|域名|组名|别名    -m   ping|copy|....  '参数'

7.没有做免密登录的主机可以设置用户和密码

ansible常用模块

hostname模块:

修改主机名

ansible other -m hostname -a 'name=web'

[root@web01 ~]# hostname
web

file模块:

file模块⽤于对⽂件相关的操作(创建, 删除, 软硬链接等)

创建一个目录

ansible group01 -m file -a 'path=/tmp/abc state=directory'
创建一个文件

 ansible group02 -m file -a 'path=/tmp/abc/def state=touch'

递归修改owner,group,mode
 ansible group02 -m file -a 'path=/tmp/abc recurse=yes owner=bin group=daemon mode=1777'

 recurse表示递归

删除⽬录(连同⽬录⾥的所有⽂件)

ansible group02 -m file -a 'path=/tmp/abc state=absent'

创建⽂件并指定owner,group,mode等

ansible group02 -m file -a 'path=/tmp/abc state=touch owner=bin group=daemon mode=1777'

[root@web01 ~]# ls -l /tmp/
总用量 0
-rwxrwxrwt. 1 bin  daemon  0 8月  16 14:21 abc

软连接指向硬链接,硬链接指向文件

ansible group02 -m file -a 'src=/etc/fstab path=/tmp/xxx2 state=hard'
ansible group02 -m file -a 'src=/etc/fstab path=/tmp/xxx state=link'

lrwxrwxrwx. 1 root root  10 8月  16 14:29 xxx -> /etc/fstab
-rw-r--r--. 2 root root 647 5月  25 18:38 xxx2

path:文件的地址

state:方法-----directory(创建目录)touch(创建文件)absent(删除文件) link(创建软连接) hard(创建硬链接)

recurse:是否允许递归操作

copy模块:

copy模块⽤于对⽂件的远程拷⻉操作(如把本地的⽂件拷⻉到远程的机器上)

ansible group02 -m copy -a 'src=./tst dest=~'

注意:使⽤content参数直接往远程⽂件⾥写内容(会覆盖原内容)

使⽤force参数控制是否强制覆盖
     如果⽬标⽂件已经存在,则不覆盖   force=no
     如果⽬标⽂件已经存在,则会强制覆盖   force=yes
使⽤backup参数控制是否备份⽂件
backup=yes表示如果拷⻉的⽂件内容与原内容不⼀样,则会备份⼀份
copy模块拷⻉时要注意拷⻉⽬录后⾯是否带"/"符号
/etc/yum.repos.d后⾯不带/符号,则表示把/etc/yum.repos.d整个⽬录拷⻉到/tmp/⽬录下
/etc/yum.repos.d/后⾯带/符号,则表示把/etc/yum.repos.d/⽬录⾥的所有⽂件拷⻉到/tmp/⽬录下

fetch模块:

fetch模块与copy模块类似,但作⽤相反。⽤于把远程机器的⽂件拷⻉到本地。

把被管理机的内容收到管理机:相当于收作业

 ansible group02 -m fetch -a 'src=/etc/sysconfig/network-scripts/ifcfg-ens33 dest=/tmp'

[root@nat ~]# tree /tmp
/tmp
├── 192.168.118.20
│   └── etc
│       └── sysconfig
│           └── network-scripts
│               └── ifcfg-ens33
├── 192.168.118.30
│   └── etc
│       └── sysconfig
│           └── network-scripts
│               └── ifcfg-ens33
├── other
│   └── etc
│       └── sysconfig
│           └── network-scripts
│               └── ifcfg-ens33

 

user模块:

user模块⽤于管理⽤户账号和⽤户属性
创建aaa⽤户,默认为普通⽤户,创建家⽬录
ansible group01 -m user -a ‘name=aaa state=present’
创建bbb系统⽤户,并且登录shell环境为/sbin/nologin
ansible group01 -m user -a ‘name=bbb state=present system=yes shell="/sbin/nologin"’
创建ccc⽤户, 使⽤uid参数指定uid, 使⽤password参数传密码
ansible group01 -m user -a 'name=ccc uid=2000 state=present password="ccc"'
创建⼀个普通⽤户叫hadoop,并产⽣空密码密钥对
ansible group01 -m user -a 'name=hadoop generate_ssh_key=yes'
删除aaa⽤户,但家⽬录默认没有删除
ansible group01 -m user -a 'name=aaa state=absent'
删除bbb⽤户,使⽤remove=yes参数让其删除⽤户的同时也删除家⽬录
ansible group01 -m user -a 'name=bbb state=absent remove=yes'

yum模块:

yum模块⽤于使⽤yum命令来实现软件包的安装与卸载

state=latest表示安装最新版本

ansible other -m yum -a 'name=ntpdate state=present'   //下载

ansible other -m yum -a 'name=ntpdate state=absent'   //卸载

cron模块:

cron模块⽤于管理周期性时间任务

创建⼀个cron任务,不指定user的话,默认就是root,如果minute,hour,day,month,week不指定的话,默认都为*

ansible other -m cron -a 'name="abc" user=root job="usr/sbin/nptdate cn.ntp.org.cn" hour=2'
[root@web01 ~]# crontab -l
#Ansible: abc
* 2 * * * usr/sbin/nptdate cn.ntp.org.cn

删除cron任务
ansible other -m cron -a 'name="abc" state=absent'

servicec模块:

service模块⽤于控制服务的启动,关闭,开机⾃启动等
关闭防火墙,并设置为开机不自动启动

ansible other -m service -a 'name=firewalld state=stopped enabled=false'

启动防火墙,并设置为开机自动启动
ansible other -m service -a 'name=firewalld state=started enabled=on'

script模块:

script模块⽤于在远程机器上执⾏本地脚本
[root@m0 ~]# vim test000.sh
#!/bin/bash
mkdir /tmp/three
touch /tmp/three/test
echo 'i am echo,at mttt' > /tmp/three/test
echo 'well done'
[root@m0 ~]# source test000.sh 
well done
[root@m0 ~]# ansible group02 -m script -a './test000.sh'

# 验证

[root@s0 ~]# ls /tmp/
111                                                                      three

command模块:

ansible  group01 -m command -a "useradd user2"

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

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

相关文章

【中项第三版】系统集成项目管理工程师 | 第 15 章 组织保障

前言 本章的知识点预计上午会考1-2分,下午可能会考,一般与其他管理领域进行结合考查。学习要以教材为主。 目录 15.1 信息和文档管理 15.1.1 信息和文档 15.1.2 信息(文档)管理规则和方法 15.2 配置管理 15.2.1 基本概念 …

背包问题有前提

前言&#xff1a;这个有大前提的背包感觉不能用二进制拆分&#xff0c;不然搞不清楚 注意三维的顺便&#xff0c;第一维度是枚举物品&#xff0c;第二维度是倒序枚举空间&#xff0c;第三维度是枚举数量 题目地址 #include<bits/stdc.h> using namespace std;#define …

数据库:数据更新和视图

1 实验目的 &#xff08;1&#xff09;掌握SQL语言的数据更新功能&#xff1a; update 语句用于对表进行更新 delete 语句用于对表进行删除 insert 语句用于对表进行插入 &#xff08;2&#xff09;掌握对视图的操作&#xff1a; 视图的定义 视图的更新 基于视图的查询 …

基于推荐算法的景点攻略网站的设计与实现---附源码130855

摘 要 21世纪时信息化的时代&#xff0c;几乎任何一个行业都离不开计算机&#xff0c;将计算机运用于旅游景点分享也是十分常见的。过去使用传统广告方式对旅游景点进行推荐分享&#xff0c;造成了流程繁琐、难以维护&#xff0c;难于进准推荐给适合需求的人群等问题&#xff0…

详细扒一扒css的背景渐变(通俗易懂)

前言&#xff1a; CSS 渐变使您可以显示两种或多种指定颜色之间的平滑过渡。 CSS 定义了两种渐变类型&#xff1a; 线性渐变&#xff08;向下/向上/向左/向右/对角线&#xff09;径向渐变&#xff08;由其中心定义&#xff09; 下面来详细看看吧~ &#x1f308;&#x1f308;文…

qdma IP内部对于GT位置的约束

https://support.xilinx.com/s/question/0D52E00006hpphySAA/%E6%80%8E%E6%A0%B7%E7%AE%A1%E7%90%86pcie%E7%AD%89ip%E7%94%9F%E6%88%90%E7%9A%84xdc%E6%96%87%E4%BB%B6%E6%AF%94%E8%BE%83%E5%A5%BD?languageen_US GT约束的建议 qdma ip 对于GT的约束 # qdma ip 对于GT的约…

Gadmin极速开发平台,几分钟给你整一个OA系统出来

Gadmin极速开发平台 在企业信息化的大潮中&#xff0c;Gadmin极速开发平台以其独特的低代码开发模式&#xff0c;为企业提供了一套高效、灵活的解决方案。本文将介绍Gadmin平台的基本信息、核心特点&#xff0c;以及它如何帮助企业快速实现信息化建设。 软件简介 Gadmin是一个…

《黑神话·悟空》提高了多少游戏人的热情

《黑神话&#xff1a;悟空》的发布极大地提振了游戏人的热情&#xff0c;不管是国内游戏的带动&#xff0c;还是全球国产游戏的崛起&#xff0c;开启了国产3A游戏元年&#xff0c;下面我从主要两个大点来分析下。 玩家层面&#xff1a; 高度热情加强力追捧&#xff1a;从 202…

linux下搭建MySQL8.0.25单机

一、环境的前提与说明 VM虚拟机&#xff1a; cat /etc/redhat-releasecat /proc/version查看防火墙状态&#xff1a; systemctl status firewalld.service关闭命令&#xff1a; systemctl stop firewalld.service开机禁用防火墙自启命令 : systemctl disable firewalld.ser…

Veritas NBU8.3.0.2 安装部署环境备份实施介绍(篇一)

1、本次有两台NBU服务器&#xff0c;都是Windows Server 2016 Standard 2、一台作为Master Server角色&#xff0c;另外一台则作为Media Server角色 3、两台服务器均已加入域并关闭防火墙 4、后期备份客户端会有Linux和Windows系统&#xff0c;也会对接VCenter无代理备份虚拟…

FMS 2024:多家厂商CXL技术方案总览

CXL&#xff08;Compute Express Link&#xff09;联盟自成立以来一直是FMS闪存峰会的常客。在2022年的峰会上&#xff0c;CXL联盟宣布了CXL 3.0版本规范&#xff0c;随后在2023年的超级计算大会上推出了CXL 3.1版本。起初&#xff0c;CXL作为一种主机到设备的互联标准&#xf…

在CUDA中优化矩阵转置

https://dmacssite.github.io/materials/MatrixTranspose.pdfhttps://dmacssite.github.io/materials/MatrixTranspose.pdf Chapter 1. Introduction 矩阵转置优化CUDA内存管理 本文档讨论了CUDA应用程序性能的各个方面&#xff0c;这些方面与有效使用GPU内存和应用于矩阵转…

C++ TinyWebServer项目总结(1. 配置安装)

语雀文档 项目记录会先更新在我的语雀文档 &#xff1a;Webserver 然后再同步发送到CSDN上&#xff0c;有些格式问题实在是懒得改了&#xff0c;可能会导致大家看的不舒服&#xff0c;建议有需要的大家可以看看我的原文。 安装环境 Ubuntu 20.04 mysql Ver 8.0.39-0ubuntu0…

Ajax-3

一.图片上传 1.获取图片文件对象 2.使用FormData携带图片文件 const fd new FormData() fd.append(参数名, 值) 3.提交表单数据到服务器&#xff0c;使用图片url网址 二.AJAX原理—XMLHttpRequest 定义&#xff1a;XMLHttpReques&#xff08;XHR&#xff09;对象用于与服务器…

SM2前后端加密和解密

一&#xff1a;前端vue 二&#xff1a;后端解密 三&#xff1a;后端详解 3.1maven文件 <dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15to18</artifactId><version>1.66</version> </dependency&g…

Linux命令学习 -- tar指令

功能&#xff1a;对文件和目录进行打包 格式&#xff1a;tar [参数] [压缩文件名] [要压缩的目录或者文件的名字]常用参数如下&#xff1a; -c &#xff1a;创建一个新的打包文件&#xff1b; -x :对打包文件进行解压缩&#xff1b; -z :gzip 格式进行压缩或者解压&#xff0c;…

Cookie Session Token

什么是会话技术&#xff1f; Cookie 以登录为例&#xff0c;用户在浏览器中将账号密码输入并勾选自动登录&#xff0c;浏览器发送请求&#xff0c;请求头中设置Cookie&#xff1a;userName:张三 ,password:1234aa &#xff0c;若登录成功&#xff0c;服务器将这个cookie保存…

重磅发布!天途多自由度无人机调试台

无人机调试、测试和试飞很容易受空域、场地、环境、失控炸机和操作失误等限制。天途TE55多自由度无人机整机调试台应运而生&#xff01; 突破空域限制 天途TE55多自由度无人机整机调试台&#xff0c;突破场地空域限制&#xff0c;不到0.7平米的空间&#xff0c;即可完成小型无人…

如何使用DataGear零编码快速制作MQTT物联网实时数据看板

DataGear是一个开源免费的数据可视化分析平台&#xff0c;企业版在开源版基础上开发&#xff0c;新增了诸多企业级特性&#xff0c;包括&#xff1a;MySQL及更多部署数据库支持、MQTT/WebSocket/Redis/MongoDB数据集、OAuth2.0/CAS/JWT/LDAP统一登录支持、前后端敏感信息加密传…

每天五分钟深度学习框架pytorch:神经网络工具箱nn的介绍

本文重点 我们前面一章学习了自动求导,这很有用,但是在实际使用中我们基本不会使用,因为这个技术过于底层,我们接下来将学习pytorch中的nn模块,它是构建于autograd之上的神经网络模块,也就是说我们使用pytorch封装好的神经网络层,它自动会具有求导的功能,也就是说这部…