Ansible第二天学习笔记

ansible学习笔记分享 方法:openssl passwd -1 "your_password"ansible web -m cron -a 'name="test cron job" minute="0" hour="12" weekday="3" job="/bin/echo hello"' #猜一下这个。ansible pxg -m copy -a "src=/root/apache.sh dest=/root/apache.sh" #将管理机root下的脚本拷贝到被管理机的root下。 阅读详情

1. Ansible清单

1.1 清单的作用

作用:定义了ansible服务器管理的一批受管主机,通过执行Ansible模块,在调用过程中直接对清单中的主机进行批量管理

1.2清单文件的位置

清单配置文件的默认位置在 /etc/ansible/hosts,可以通过修改该配置文件来指定不同的默认清单文件。可以使用不同的格式编写此文件,包括INI样式和YAML。

对于默认清单我们一般不使用,通常为了方便每一位管理者的管理,管理者均会在自己的文件夹目录中设置自己的清单目录。

ansible清单文件的优先级

1.首先ANSIBLE_CONFIG环境变量指定的任何文件将覆盖所有其他配置文件,定义了此变量时Ansible将使用变量所指定的配置文件

[root@localhost opt]# ansible --version
ansible 2.9.23
  config file = /opt/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
[root@localhost opt]# 

2.其次如果没有设置该变量找执行ansible命令的当前目录中,是否有 ansible.cfg文件
实例://其次使用当前目录下的ansible.cfg文件环境配置

[root@localhost gg]# ansible --version
ansible 2.9.23
  config file = /opt/gg/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
[root@localhost gg]# 

3.如果找不到,再查找当前用户的家目录下是否有 .ansible.cfg~/.ansible.cfg
实例://再次使用当前用户家目录下的./ansibe.cfg文件配置

[root@localhost ~]# ansible --version
ansible 2.9.23
  config file = /root/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
[root@localhost ~]# 

ansible --version 命令中,会显示检查当前使用的是哪个配置文件;

设置环境变量 export ANSIBLE_CONFIG=

总结:ANSIBLE_CONFIG >> $ANSIBLE_CONFIG/ansible.cfg >> ~/.ansible.cfg>>/etc/ansible/ansible.cfg

ansible查看帮助文档

ansible-doc -l //列出所有核心模块和附加模块
实例:列出所有模块

[root@localhost ~]# ansible-doc -l
fortios_router_community_list                                 Configure community lists in Fo...
azure_rm_devtestlab_info                                      Get Azure DevTest Lab facts    
ecs_taskdefinition                                            register a task definition in e...
avi_alertscriptconfig                                         Module for setup of AlertScript...
tower_receive                                                 Receive assets from Ansible Tow...
netapp_e_iscsi_target                                         NetApp E-Series manage iSCSI ta...
azure_rm_acs                                                  Manage an Azure Container Servi...
fortios_log_syslogd2_filter                                   Filters for remote system serve...
junos_rpc                                                     Runs an arbitrary RPC over NetC...

ansible-doc modulename //查看某个模块的使用方法
ansible-doc -s modulename //查询某个模块的使用比较简洁的信息
实例:查看user模块的使用方法

[root@localhost ~]# ansible-doc -s user
- name: Manage user accounts
  user:
      append:                # If `yes', add the user to the groups specified in `groups'. If
                               `no', user will only be added to
                               the groups specified in `groups',
                               removing them from all other
                               groups. Mutually exclusive with
                               `local'
      authorization:         # Sets the authorization of the user. Does nothing when used with
                               other platforms. Can set multiple
                               authorizations using comma
                               separation. To delete all
                               authorizations, use
                               `authorization='''. Currently
                               supported on Illumos/Solaris.

也可以直接官网进行查看帮助文档

2.模块介绍

Ansible的三个命令模块

command

command:用于在远程主机上执行命令,ansible默认就是使用command模块。
不支持">“,”<“,”|“,”;“,”&"等符号
参数

参数释义
chdir 在执行命令前进入到指定目录中
creates 判断指定文件是否存在,如果存在,不执行后面的操作
removes 判断指定文件是否存在,如果存在,执行后面的操作

控制两台主机使用hostname命令。

[root@master ansible]# cat inventory 
192.168.101.100 
[webservers]
192.168.101.120 ansible_user=root ansible_password=a

[root@master ansible]# ansible all -m command -a "hostname"
192.168.101.100 | CHANGED | rc=0 >>
localhost.localdomain
192.168.101.120 | CHANGED | rc=0 >>
node1

chird

[root@master ansible]# cat inventory 
192.168.101.100 
[webservers]
192.168.101.120 ansible_user=root ansible_password=a

[root@master ansible]# ansible all -m command -a "hostname"
192.168.101.100 | CHANGED | rc=0 >>
localhost.localdomain
192.168.101.120 | CHANGED | rc=0 >>
node1

shell

shell:类似于command模块,但是功能更多
支持">“,”<“,”|“,”;“,”&"等符号
参数:与command相同
实例:

[root@master ansible]# ansible 192.168.101.110 -m shell -a "yum list | grep httpd"
[WARNING]: Consider using the yum module rather than running 'yum'.  If you need to use command
because yum is insufficient you can add 'warn: false' to this command task or set
'command_warnings=False' in ansible.cfg to get rid of this message.
192.168.101.110 | CHANGED | rc=0 >>
centos-logos-httpd.noarch                                         85.8-1.el8                                        appstream 
dmlite-apache-httpd.x86_64                                        1.15.0-4.el8                                      epel      
httpd.x86_64                                                      2.4.37-40.module_el8.5.0+852+0aafc63b             appstream 
httpd-devel.x86_64                                                2.4.37-40.module_el8.5.0+852+0aafc63b             appstream 
httpd-filesystem.noarch                                           2.4.37-40.module_el8.5.0+852+0aafc63b             appstream 
httpd-manual.noarch                                               2.4.37-40.module_el8.5.0+852+0aafc63b             appstream 
httpd-tools.x86_64                                                2.4.37-40.module_el8.5.0+852+0aafc63b             appstream 
keycloak-httpd-client-install.noarch                              1.0-2.el8                                         appstream 
libmicrohttpd.i686                                                1:0.9.59-2.el8                                    baseos    
libmicrohttpd.x86_64                                              1:0.9.59-2.el8                                    baseos    
lighttpd.x86_64                                                   1.4.55-3.el8                                      epel      
lighttpd-fastcgi.x86_64                                           1.4.55-3.el8                                      epel      
lighttpd-filesystem.noarch                                        1.4.55-3.el8                  

raw

raw:用于在远程主机上执行命令,支持管道符与重定向
实例:

[root@master ansible]# ansible 192.168.101.110 -m raw -a "echo '123' > /abc/file1"
192.168.101.110 | CHANGED | rc=0 >>
Shared connection to 192.168.101.110 closed.

[root@master ansible]# ansible 192.168.101.110 -m raw -a "cat /abc/file1"
192.168.101.110 | CHANGED | rc=0 >>
123
Shared connection to 192.168.101.110 closed.
ansible学习笔记 引入变量,可以方便Playbook重用。比如装包的playbook,包名使用变量。多次执行playbook,只要改变变量名即可,不用编写新的playbook。ansible支持10种以上的变量定义方式。常用的变量来源如下:inventory变量。变量来自于主机清单文件facts变量。playbook变量。变量在playbook中定义。变量文件。专门创建用于保存变量的文件。推荐变量写入单独的文件。# 使用inventory变量。 阅读详情

相关推荐

Linux网络编程(HTTP协议)

本篇文章带大家学习Linux网络编程中的HTTP协议,并且后面使用HTTP协议来实现一个完整的实战项目。HTTP(Hypertext Transfer Protocol)是一种用于在Web上进行数据通信的应用层协议。它是一个客户端-服务器协议,用于客户端(例如Web浏览器)向服务器(例如Web服务器)发送请求并获取响应。HTTP协议以明文方式传输数据,运行在TCP/IP协议栈之上,使用默认的80端口进行通信。1.建立连接:客户端与服务器之间建立TCP连接。默认情况下,客户端使用80端口与服务器通信。

m0_49476241的博客 1471

使用C语言库Microhttpd的爬虫程序爬取网易云的视频

这个程序使用了Microhttpd库,使用递归的方式爬取https://music.163.com/的视频。程序会首先创建一个Microhttpd服务器,然后在服务器上监听8080端口。当有客户端连接到服务器并发送请求时,服务器会调用`handle_request`函数处理请求。`handle_request`函数会检查请求的URL是否在根目录下,如果在,则读取并返回该文件的内容。这是一个使用C语言库Microhttpd的爬虫程序,用于爬取https://music.163.com/的视频。

w15189597283的博客 560

实战:如何用MIPI CSI-2高效传输RAW10图像数据(附带宽优化技巧)

本文深入探讨了MIPI CSI-2协议在RAW10图像数据传输中的高效应用,详细解析了4像素5字节打包机制及其带宽优化技巧。通过动态Lane分配、位深度自适应压缩和虚拟通道交错传输等实战方法,显著提升传输效率,适用于IoT摄像头开发等低功耗场景。

css33的专栏 732

GNU libmicrohttpd 0.9.29 发布 - 开源中国社区

GNU libmicrohttpd 0.9.29 发布 - 开源中国社区GNU libmicrohttpd 0.9.29 发布

weixin_34208185的博客 109

openEuler 20.03 LTS面向RK3399移植系列(3)—openEuler 20.03 LTS面向Firefly RK3399的第一个版本(Linux kernel 4.4)

任务动机:完成openEuler面向RK3399开发板的移植。 任务描述:按照固件烧写准备,固件获取,固件打包和烧写的步骤实现openEuler面向RK3399开发板的移植,整理过程和相关命令记录到文档。 1. 制作openEuler的rootfs.img 1.1 开发环境 树莓派--openEuler系统 openEuler 20.03 LTS 的内测版本镜像,下载。 1.2 具体操作 1.2.1 ssh远程连接树莓派 确定树莓派IP ssh连接 1.2.2 制作rootfs.img

火种源码的机器人技术专栏 2369

PT32F030与MT6826S SPI通讯实战:从硬件连接到数据交互全流程解析

本文详细解析了PT32F030与MT6826S通过SPI通讯的全流程,包括硬件连接、电路设计、SPI外设初始化配置以及数据交互协议实现。通过实战案例和代码示例,帮助开发者快速掌握PT32F030与MT6826S的SPI通讯技术,实现精准的角度和速度数据采集。

weixin_29189373的博客 420

记录:GNU Libmicrohttpd介绍和使用

Libmicrohttpd

zby枣菠鱼的博客 2081

【MediaPipe实战】从零构建实时人脸关键点检测与表情分析系统

本文详细介绍了如何使用MediaPipe框架从零构建实时人脸关键点检测与表情分析系统。通过Python代码实现,系统能够精准检测468个3D人脸关键点,并实时分析用户表情,适用于智能交互应用。文章包含环境配置、核心实现、可视化技巧及性能优化等实战内容,帮助开发者快速掌握深度学习在计算机视觉中的应用。

weixin_30836759的博客 73

学习libmicrohttpd

  该库是GNU系统下的一款C语言http协议服务端,提供http和https服务,支持Linux、Windows等多平台;1 主页     https://www.gnu.org/software/libmicrohttpd/2 介绍2.1 使用范围    a Embedded HTTP server on a cortex M3 (128 KB code space)       嵌入式htt...

来说意义非凡3 6013

【BUG已解决】RuntimeError: CUDA error: no kernel image is available for execution on the device 解决方案

方案适用场景推荐指数精确匹配官方版本绝大多数场景(大众消费卡+主流数据中心卡)⭐⭐⭐⭐⭐安装历史旧版本Pascal/Maxwell等老显卡⭐⭐⭐⭐安装Nightly版本刚发布的最新架构显卡⭐⭐⭐⭐源码编译官方各版本均不支持的特殊硬件⭐⭐Docker官方镜像追求省心、避免版本排查⭐⭐⭐⭐⭐的核心是PyTorch 预编译包不包含你显卡对应的计算能力架构先确认显卡真实计算能力),而不是盲目重装驱动对比 PyTorch 支持的架构列表),定位是否真的不匹配精确匹配官方版本。

博客 1万+

Arduino、ESP32驱动TEMT6000传感器(光照传感器篇)

TEMT6000是一个三极管类型的光敏传感器,其光照强度和基极的电流成正比。用起来也相当简单,可以简单的连接该传感器的基极到模拟电压输入,通过简单的检测电压值就可以判断当前的光照强度。

不脱发的程序猿 4233

Ansible的学习笔记与总结

Ansible是一种自动化运维工具,基于Python开发的,用于配置管理、应用部署、任务自动化和持续交付,采用YAML语言编写脚本(playbook),简单易用,广泛应用于DevOps和IT自动化领域。playbook使用yaml语法编写的自动化脚本,是由一个或多个"play"组成的列表.可以简单理解为批量部署手册的自动执行版本.

qq_75229677的博客 1087

微信小程序转发功能异常报错 由于小程序违规分享功能暂时无法使用的解决办法

小程序右上角转发功能被封,不代表你违规了,而可能是你没认证、没备案!很多功能都是“先合规、后开发”,踩坑就晚了,别像我一样绕了三圈才发现问题。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2615

Ansible学习笔记

Ansible学习笔记 1.安装Ansible软件 yum install -y ansible 2./etc/ansible/hosts 该文件代表需要管理的主机列表 格式为: 组名 [test] IP地址或主机名或域名 192.168.1.151 192.168.1.152 test1 test2 OS_controller OS_compute 连续IP可以使用192.168.1.[151:...

huanghong6956的博客 1297

EMB电子机械制动系统冗余备份方案介绍

随着汽车智能化技术的快速发展,自动驾驶技术的不断升级,对车辆制动系统的可靠性和安全性提出了更高要求。根据国际汽车安全法规(如UN R13-H)的最新修订,L3级及以上自动驾驶车辆必须配备具有冗余功能的制动系统,以确保在任何单一故障发生时仍能维持部分或全部制动能力。本文重点讨论最具前瞻性的EMB(电子机械制动)系统的冗余备份设计方案

m0_59012156的博客 853

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

ansible第二天

ansible第二天

qq_55936261的博客 765

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ansible学习笔记一

ansible学习笔记一 参考博客: ansible学习 - 51CTO博客 一、安装 1 .下载epel源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 安装 yum install -y ansible 二、ansible 命令格式及使用 1,ansible...

weixin_30482181的博客 176

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Ansible常用模块

bash无论在命令行上执行,还是bash脚本中,都需要调用cd、ls、copy、yum等命令;模块就是Ansible的“命令”,模块是ansible命令行和脚本中都需要调用的。常用的Ansible模块有yum、copy、template等。

weixin_53388991的博客 6436

Ansible简介

不是 2.X 版本的 Python.我们不使用 "/usr/bin/env" 机制,因为这要求远程用户的路径设置正确,且要求 "python" 可执行程序名不可为 python以外的名字(实际有可能名为python26). 与 ansible_python_interpreter 的工作方式相同,可设定如 ruby 或 perl 的路径....-M MODULE_PATH, --module-path=MODULE_PATH 要执行的模块的路径,默认为/usr/share/ansible/

jingyu飞鸟 5270

[Ansible] Ansible角色管理

文章摘要:本文介绍了Ansible角色的概念、结构及使用方法。Ansible角色通过标准化目录结构(tasks、handlers、vars等)封装可重用代码,提升自动化效率。详细说明了角色创建、调用、依赖关系的配置方法,并演示了系统角色(如timesync、selinux)的实际应用。此外,还介绍了Ansible Galaxy平台的角色搜索、安装和管理技巧,包括如何部署第三方角色(如haproxy)。文章强调了角色在复杂环境中的优势,包括代码复用、模块化管理和多团队协作,并提供了从基础创建到高级集成的完整实

qq_53232485的博客 1114

ansible-第二天

state: started表示启动 stopped表示关闭 restarted表示重启。如果选nvme硬盘,名称可能是/dev/nvme0n1和/dev/nvme0n2。present表示创建,它是默认选项。absent表示删除。LINUX下KVM虚拟机新加的硬盘,名称是/dev/vdb和/dev/vdc。state:prensent表示创建、它是默认选项。vmware虚拟机新加的硬盘,名称是/dev/sdb和/dev/sdc。lv:创建的逻辑卷名。dev:指定要格式化的设备,可以是分区,可以是逻辑卷。

weixin_65562581的博客 732

ansible-vim与VSCode对比:为什么Vim用户应该选择ansible-vim进行Ansible开发

在Ansible自动化配置管理领域,选择合适的开发工具能显著提升工作效率。对于习惯使用Vim的开发者来说,ansible-vim插件提供了比VSCode更原生的Ansible开发体验。本文将深入对比ansible-vim与VSCode在Ansible开发中的差异,揭示为什么Vim用户应该选择ansible-vim进行Ansible开发。 ## 🔍 核心功能对比:ansible-vim vs V

gitblog_00772的博客 840
上一篇: ansible第一天学习内容
下一篇: ​ 完成四种方式的MySQL安装并记录过程
Dream_of_falling
博客等级 码龄5年 82粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值