容器(第八篇)ansible-模块

news2024/11/17 16:32:52

ansible是什么?

Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。

Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个操作,使用Ansible只需在固定的一台Ansible控制节点上去完成所有主机的操作。

ansible的特性:

①无agent的存在,不要在被控制节点上安装客户端应用

②基于模块工作,通过模块可以实现在被控制节点上执行命令操作

③幂等性,可实现多次操作的状态如果没有发生变化,则不会重复执行

④通过ssh协议与被控制节点通信

安装ansible:

yum install -y epel-release            //先安装 epel 源
yum install -y ansible

vim /etc/ansible/hosts添加:

配置密钥对验证
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

yum install -y sshpass
sshpass -p '123456' ssh-copy-id -o StrictHostKeyChecking=no root@192.168.169.40
sshpass -p '123456' ssh-copy-id -o StrictHostKeyChecking=no root@192.168.169.50   
sshpass -p '123456' ssh-copy-id -o StrictHostKeyChecking=no root@192.168.169.60  

ansible 命令行模块:

ansible-doc -l 查询已安装的模块

 ansible-doc -s 模块名  查询当前模块的使用信息

 

①command 在远程主机上使用linux命令

ansible 192.168.169.40 -m command -a ls

ansible all -m command -a ls

 ansible webservers -m command -a ls

 ansible webservers -m command -a 'creates=/opt/123.sh ls'

ansible webservers -m command -a 'removes=/opt/123.sh ls'

command不可以使用管道符和重定向等特殊符号

②shell 在远程主机执行命令,相当于调用远程主机的shell进程,然后在该shell下打开一个子shell运行命令(可以使用管道符和重定向等特殊符号)

ansible webservers -m shell -a 'echo 123456 | passwd --stdin "test" ' 

 

③cron 远程主机执行定时任务

//常用的参数:
minute/hour/day/month/weekday:分/时/日/月/周
job:任务计划要执行的命令
name:任务计划的名称
user:指定计划任务属于哪个用户,默认是root用户
state:present表示添加(可以省略),absent表示移除

ansible webservers -m cron -a 'minute="*/1" job="/bin/echo helloworld" name="test crontab"'

ansible webservers -a 'crontab -l'(默认使用command模块)

 ansible webservers -m cron -a ' name="test crontab" state=absent '

④user 远程主机用户管理的模块

//常用的参数:
name:用户名,必选参数
state=present|absent:创建账号或者删除账号,present表示创建,absent表示删除
system=yes|no:是否为系统账号
uid:用户uid
group:用户基本组
groups: 用户所属附加组
shell:默认使用的shell
create_home=yse|no: 是否创建家目录
password:用户的密码,建议使用加密后的字符串
remove=yes|no:当state=absent时,是否删除用户的家目录

ansible]# ansible webservers -m user -a 'name=dxl uid=5425 groups=wheel create_home=yes'

ansible webservers -m command -a 'tail /etc/passwd'

 

⑤group 远程主机组管理的模块

ansible webservers -m group -a 'name=yht system=yes'    #创建mysql组

 ansible webservers -a 'tail /etc/group'

 

⑥copy 用于复制指定主机文件到远程主机的

//常用的参数:
dest:指出复制文件的目标及位置,使用绝对路径,如果源是目录,指目标也要是目录,如果目标文件已经存在会覆盖原有的内容
src:指出源文件的路径,可以使用相对路径或绝对路径,支持直接指定目录,如果源是目录则目标也要是目录
mode:指出复制时,目标文件的权限 
owner:指出复制时,目标文件的属主
group:指出复制时,目标文件的属组
content:指出复制到目标主机上的内容,不能与src一起使用

 ansible webservers -m copy -a 'src=/etc/fstab dest=/opt/fstab.bak owner=root mode=640'

ansible webservers -m command -a 'ls /opt'

 ansible webservers -m copy -a 'content="this is my fucking son dxl" dest=/opt/dxl.sh'

 

⑦file 对远程主机设置文件属性

//常用的参数:
src:指出源文件的路径,可以使用相对路径或绝对路径,支持直接指定目录,如果源是目录则目标也要是目录
mode:目标文件的权限 
owner:目标文件的属主
group:目标文件的属组
path:指定文件的目录

state:touch创建、absent删除、link软连接

ansible webservers -m file -a 'path=/opt/yht.txt state=touch'

 ansible webservers -m file -a 'path=/etc/fstab.link src=/opt/fstab.bak state=link'

 ⑧hostname 管理远程主机上的主机名

ansible webservers -m hostname -a 'name=xxx'

 

 ⑨ping 检测远程主机的连通性

ansible webservers -m ping

 ⑩yum 在远程主机上安装与卸载软件包

ansible webservers -m yum -a 'name=httpd'

 ansible webservers -m yum -a 'name=httpd state=absent' 卸载httpd

 ⑪systemd/service 远程管理服务的状态

//常用的参数:
name:被管理的服务名称
state=started|stopped|restarted:动作包含启动关闭或者重启
enabled=yes|no:表示是否设置该服务开机自启
runlevel:如果设定了enabled开机自启去,则要定义在哪些运行目标下自启动


ansible webservers -a 'systemctl status httpd'

 ansible webservers -m systemd -a 'name=httpd enabled=yes state=started'

⑫script 实现远程批量运行本地的 shell 脚本

ansible dbservers -m script -a 

⑬mount 挂载文件系统

//常用的参数:
src:定义挂载设备的路径
path:定义挂载到哪个目录,必须指定
fstype:指定挂载文件的系统类型,必须指定,xfs、iso9660、nfs...
opts:定义挂载的参数,defaults、rw、ro...
state:定义挂载的状态,mounted(进行挂载,修改/etc/fstab信息)、absent(永久性卸载,并修改 /etc/fstab信息)、unmounted(临时卸载,不修改/etc/fstab信息)

ansible dbservers -m mount -a 'src=/dev/sr0 path=/mnt state=mounted fstype=iso9660'

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

直线方程y=kx+b 已知两点a,b。求ab中间任一点坐标x,y

参考文章 斜率怎么求 已知斜率及另一点坐标,求另一点坐标方法 三角形斜率 DirectX C 3D编程基础 5 [三角形光栅化] 自制中字 直线方程公式ykxb k斜率,b截距 已知点a(1,2) b(4,3)绿色线段 求斜率k(by-ay)/(bx-ax)或(a…

idea运行main方法或Test避免编译整个应用的方法

已建项目中修改 Main函数不biuld : 光标点到main函数里,右键->Modify Run COnfigurations->Modify options Test 不build 或者单独在每个test里 右键-Modify Run COnfigurations->移除build 对于新建工程统一修改配置: File->New Project Setting…

Java30天拿下---第一天(JDK,JRE,JVM,转义字符,注释,代码规范,数据类型)

Java开发(30天拿下---第一天) 一 hello world以及JDK,JRE,JVM二 转义字符三 注释四 代码规范五 DOS命令(了解)六 变量1.加号的使用2.数据类型整型浮点型字符类型布尔类型自动类型转换强制类型转换String类型 七 API文档 一 hello …

【备战秋招】每日一题:5月13日美团春招第一题:题面+题目思路 + C++/python/js/Go/java带注释

为了更好的阅读体检,为了更好的阅读体检,,可以查看我的算法学习博客第一题-塔子哥的数字 在线评测链接:P1286 题目描述 塔子哥是一个数学爱好者,他经常思考各种数字之间的奥秘。今天,他想要解决一个有趣的问题&…

业务流程自动化:ThinkAutomation Professional Crack

ThinkAutomation 助力您的业务流程自动化。自动执行本地和基于云的业务流程,以降低成本并节省时间。 自动化传入的通信渠道,监控数据库,对传入的Webhook,Web表单和聊天机器人做出反应。处理文档、附件、本地文件和其他邮件源。 …

TOGAF10®标准中文版(全文目录)

The Open Group是一个通过技术标准实现业务目标的全球联盟。我们拥有超过870个成员组织,成员来自技术社区的各个部门,包括客户、系统和解决方案供应商、工具供应商、集成商和顾问,以及学者和研究人员。 The Open Group的使命是通过以下方式…

33、js - 面试 - 事件循环 微任务 宏任务

1、事件循环♻️(EventLoop) js是单线程语言,也就是某一刻只能执行一行代码,为了让耗时代码不阻塞其他代码运行,设计了事件循环模型。 事件循环是一个并发模型,负责执行代码、收集异步任务的模型&#xff0…

web性能检测工具lighthouse

About Automated auditing, performance metrics, and best practices for the web. Lighthouse 可以自动检查Web页面的性能。 你可以以多种方式使用它。 浏览器插件 作为浏览器插件,访问chrome网上商店 搜索Lighthouse 插件安装。以两种方式使用。 方式一 安装…

单片机按键软开关:1个引脚实现单片机低电量自己控制给自己断电

背景 类似于手机的开机按键,我们希望在单片机电路上也能实现类似的低电量自动关机、通过按键而不是自锁开关来上电开机。 软开关电路 电路图如下: 当按键按下时,Q1导通,R18右侧变为低电平,进而Q2导通,…

深入探究kubernetes resources - Part 1

在开始使用 Kubernetes 时,社区教给我们的第一件事就是始终为我们 pod 中的每个容器设置 CPU 和内存的请求和限制。 当您指定 Pod 时,您可以选择指定容器需要多少资源。 您指定的最常见资源是 CPU 和内存 (RAM); apiVersion: v1 kind: Pod …

模糊测试不“模糊”,高效发掘未知漏洞与 0day 攻击

近日,在「DevSecOps软件安全开发实践」课程上,极狐(GitLab) 高级测试工程师衡韬、极狐(GitLab) 高级后端开发工程师田鲁,分享了模糊测试的概念、必要性和在极狐GitLab 上的实践。 以下内容整理自本次直播,你也可以点击&#x1f44…

合宙Air724UG Cat.1模块硬件设计指南--SIM卡接口

SIM卡接口 简介 SIM( Subscriber Identity Module)卡为用户识别模块,内部使用新式单片机及存储器管理结构,包含了大规模的集成电路,同时也称为用户识别卡。通信设备通过SIM卡来识别其用户,只有设备插入SIM卡后才能入网使用。SIM卡…

Javac编译原理:基本结构和工作原理

Javac编译器 文章目录 Javac编译器简介基本结构如何编译程序 工作原理词法分析器语法分析器语义分析器代码生成器 简介 javac是一种编译器,能将一种语言规范转化成另一种语言规范 编译器通常是将便于人理解的语言规范转换成容易理解的语言规范,如C都是…

阿里云服务器价格如何?与其他云服务提供商的价格对比如何?

阿里云服务器价格如何?与其他云服务提供商的价格对比如何?   阿里云服务器价格概述   作为全球领先的云计算服务提供商,阿里云在确保服务器性能和安全性的同时,也非常注重产品的价格竞争力。阿里云服务器(ECS&…

OpenMMLab-AI实战营第二期——6-2.玩转AIGC神器MMagic

文章目录 1. 基本介绍2. 动手实验 视频链接:玩转AIGC神器MMagic 代码教程:https://github.com/TommyZihao/MMagic_Tutorials 1. 基本介绍 Stable Diffusion的文生图,以及controlnet和dreamboost的图生图(输入一个图像文字描述&am…

python Django web 项目 联通用户管理系统

文章目录 1框架MVC 介绍Django 框架的介绍基础命令Django处理浏览器的请求的流程 部门表部门表显示7.模板的继承部门表的添加部门表的删除request.POST.get(‘key’) 、 request.GET.get(key, )部门表的编辑filter() 得到可迭代的QuerySet对象,支持for循环取容器内的元素first(…

图神经网络 GNN 入门

参考链接 A Gentle Introduction to Graph Neural Networks (distill.pub) 零基础多图详解图神经网络(GNN/GCN)【论文精读】_哔哩哔哩_bilibili 目录 图的基本构成 图的表示方法 图的示例 图网络的基本任务 图网络的处理 影响图网络效果的超参数 …

机器人参数化建模与仿真,软体机器人

专题一:机器人参数化建模与仿真分析、优化设计专题课程大纲 机器人建模基础 机器人运动学基础几何运动学闭环解解析法建模运动学MATLAB脚本文件编写(封闭解、构型绘制)、工具箱机器人工作空间(离散法、几何法)建模工作…

客户自助服务第一步:在线客服、在线帮助中心

随着互联网的快速发展,越来越多的企业开始重视客户体验,不断提升客户服务水平。其中,客户自助服务是提高客户满意度的重要途径之一。本文将从在线客服和在线帮助中心两个方面介绍。 客户自助服务的第一步 一、在线客服 在线客服是指企业通…

【linux】探索Linux命令行中强大的网络工具:netstat

文章目录 前言一、netstat是什么?二、使用方法1.常用参数2.实例演示3.更多功能 总结 前言 在Linux命令行中,有许多实用的工具可帮助我们管理和监控网络连接。其中一个最重要的工具就是netstat,它提供了丰富的网络连接和统计信息,…