Ansible的安装及简单使用

## Ansible的安装及简单使用 ##
一.Ubuntu安装Ansible
sudo apt update
sudo apt install ansible
#使用以下命令检查安装是否成功:
ansible --version

image-20230817175908011

二.配置Ansible
#进入配置文件目录
cd /etc/ansible/
ls

image-20230817180056715

#文件含义
ansible.cfg #ansible配置文件,默认基本不用动,全注释
hosts #主机清单文件,存放被控端主机信息, 默认指定的hosts文件

修改ansible配置

vim ansible.cfg

image-20230817180736092

把第七十一行的配置,取消注释。这一行的作用是当 Ansible 连接到新创建的虚拟机时,不会要求手动验证主机密钥,而是自动跳过验证,从而简化自动化部署过程。

添加主机列表清单

vim hosts

image-20230817181012141

#含义
第一段 #被控端主机ip
ansible_ssh_user=root #ssh中setup模块的系统变量,指定为远程主机的用户为root
ansible_ssh_pass=123 #同上,为远程主机的root的密码

[web]:主机组的名称

1. 使用ping模块检测所有主机是否存活
#执行
ansible -i hosts web -m ping

#语句含义
-i hosts web #指定我们ansible工具针对的是 hosts主机文件中的 web为我们刚才配置文件中的主机组
-m ping #-m 指定使用的模块为ping,用于检测主机,返回pong

还要注意的是,此命令执行命令的路径是/etc/ansible,所以hosts可以不指定文件目录。如果在其他文件目录下执行命令则需要加上

该配置文件的根路径。ansible -i /etc/ansiblehosts web -m ping

image-20230817181651214

2.ansible命令执行的过程说明
  • ansible会先加载配置/etc/ansible/ansible.cfg文件
  • 然后加载模块文件(如上面的ping模块)
  • ansible会将我们执行的命令或模块,生成一个临时的python的脚本文件,将这个脚本文件发送到被控端的家目录/.ansible/tmp/目录下,并授权执行
  • 执行完成后返回执行结果,并清除临时文件
3. 常用模块
1. command 模块

这个模块就是平时使用命令的习惯,比如ls、cd、pwd、cp、mv操作等等都可以实现,但是要注意的是\command模块是不支持正则及特殊符号的

并且该模块是默认附加的,也就是说。即使你不加-m command 也可以使用

#查看web组所有主机下,/root目录内容
ansible -i hosts web -m command -a "ls /root"#-a 是代表要执行的命令,相当于在所有主机上执行的

image-20230817182536488

image-20230817182705654

如图,效果是一样的。

2. shell 模块

shell模块和command模块类似,但是支持正则及特殊符号。

ansible -i /etc/ansible/hosts web -m shell -a "echo test > /home/1.txt"
ansible -i /etc/ansible/hosts web -m shell -a "cat /home/1.txt"

image-20230818093833606

3. copy模块

拷贝文件,从ansible主机上把文件发送到被控端主机上

ansible -i /etc/ansible/hosts web -m copy -a "src=/home/test_copy.txt dest=/home"
ansible -i /etc/ansible/hosts web -m shell -a "ls /home"

image-20230818095349602

image-20230818095926637

三.使用案例以及问题发现

给web组的主机安装docker

#配置安装环境
ansible -i /etc/ansible/hosts web -m shell -a "apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common"
#添加密钥
ansible -i /etc/ansible/hosts web -m shell -a "curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -"
#添加阿里云国内镜像仓库地址
ansible -i /etc/ansible/hosts web -m shell -a "add-apt-repository \"deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \$(lsb_release -cs) stable\""
#更新软件源,列出可安装版本
ansible -i /etc/ansible/hosts web -m shell -a "apt-get update"
ansible -i /etc/ansible/hosts web -m shell -a "apt-cache madison docker-ce"
#安装指定版本docker
ansible -i /etc/ansible/hosts web -m command  -a "apt-get install -y docker-ce=5:20.10.13~3-0~ubuntu-focal docker-ce-cli=5:20.10.13~3-0~ubuntu-focal"
#重启并检查安装是否成功
ansible -i /etc/ansible/hosts web -m shell  -a "systemctl restart docker && docker --version"

问题:ansible在执行shell命令的时候,如果该命令在执行的时候出现提示键入y回车继续之类的情况时,会使该命令陷入死锁。

例:假如我这一步ansible -i /etc/ansible/hosts web -m command -a "apt-get install -y docker-ce=5:20.10.133-0ubuntu-focal docker-ce-cli=5:20.10.133-0ubuntu-focal"这里采用apt-get install -y,其目的是跳过软件安装时的所以确认步骤,默认为y。如果安装时采用,apt-get install去安装docker,则会因为无法键入y而是web主机组的apt-get install命令陷入死锁,从而导致无法更新和下载其他包

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

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

相关文章

计算机组成原理 CPU的功能和基本结构和指令执行过程

文章目录 CPU的功能和基本结构CPU的功能CPU的基本结构 指令执行过程指令周期概念指令执行方案指令数据流取周期数据流析指周期数据流执行周期数据流中断周期数据流 数据通路的功能和基本结构数据通路的功能数据通路的结构单总线 CPU的功能和基本结构 #mermaid-svg-0uHwjZOZh4kS…

图神经网络入门

图神经网络(GNN)是一组在图领域工作的深度学习方法。 这些网络最近已应用于多个领域,包括: 组合优化、推荐系统、计算机视觉—仅举几例。 这些网络还可用于对大型系统进行建模,例如社交网络、蛋白质-蛋白质相互作用网络…

zabbix通过自动发现-配置监控项、触发器(小白教程)

自动发现配置参考链接(不小白,不友好) zabbix-get介绍 1配置 zabbix server:版本7(不影响),IP地址:192.168.0.60zabbix agent:版本agent1(不影响)&#xff…

C# 使用Microsoft消息队列(MSMQ)

写在前面 Microsoft Message Queuing (MSMQ) 是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任一位置。 使用消息队列可以实现异步通讯,无需关心接收端是否在…

8K超高清应用:输电线网智慧巡检提升巡视效率

电力安全关系国计民生,是国家安全的重要保障,因此确保电力线路系统的安全运行至关重要。电力线路系统整体分为三大板块:输电线路、变电站和配电线路。然而,由于自然灾害、人为破坏等因素影响,这三大板块的设备很容易发…

富文本BraftEditor引起的bug

1、BraftEditor踩坑1 #基于之前写的一篇BraftEditor的使用# 1. 问题起源: 打开编辑弹窗--> 下面页面所示--> 当进行分类选择时候,就会报错,并且这个报错还不是一直都有,6次选择出现一次报错吧 2. 解决: 2.1 起…

回归预测 | Matlab实现基于GA-Elman遗传算法优化神经网络多输入单输出回归预测

回归预测 | Matlab实现基于GA-Elman遗传算法优化神经网络多输入单输出回归预测 目录 回归预测 | Matlab实现基于GA-Elman遗传算法优化神经网络多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现基于GA-Elman遗传算法优化神经网络多输入单输…

nginx下upstream模块详解

目录 一:介绍 二:特性介绍 一:介绍 Nginx的upstream模块用于定义后端服务器组,以及与这些服务器进行通信的方式。它是Nginx负载均衡功能的核心部分,允许将请求转发到多个后端服务器,并平衡负载。 在upst…

[LitCTF 2023]这是什么?SQL !注一下 !

[LitCTF 2023]这是什么?SQL !注一下 ! wp 题目描述:为了安全起见多带了几个套罢了o(▽)q 页面内容(往下滑): SQL 语句已给出,无非是更换了闭合方式。 先输个 1 试试: …

Gin 框架介绍与快速入门

Gin 框架介绍与快速入门 文章目录 Gin 框架介绍与快速入门一、Gin框架介绍1. 快速和轻量级2. 路由和中间件3. JSON解析4. 支持插件5. Gin相关文档 二、基本使用1.安装2.导入3.第一个Gin 应用 三、应用举例四、Gin 入门核心1.gin.Engine2.gin.Context 一、Gin框架介绍 Gin是一个…

QT上位机开发(倒计时软件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 倒计时软件是生活中经常遇到的一种场景。比如运动跑步,比如学校考试,比如论文答辩等等,只要有时间限制规定的地…

亚马逊鲲鹏系统智能购物助手用户反馈

在使用过程中,我们收到了许多用户的宝贵反馈,特此汇总分享一些用户的使用心得。 1. 强大的自动下单功能 许多用户纷纷点赞我们的自动下单功能,特别是鲲鹏系统的强大表现。通过将需要下单的账号添加到软件中,您只需简单设置一次&…

华为DriveONE电机控制器拆解实拍

如果说之前的问界M5、M7,华为让我们看到其在智能化上确实拥有遥遥领先的能力,那么在智界S7上,则让我们看到华为在动力、底盘这些硬件执行层面,竟然也有不输给很多车企的实力。1、华为电驱,全球第一?在智界S…

YOLOv5算法进阶改进(13)— 更换上采样方式之CARAFE | 轻量级通用上采样算子

前言:Hello大家好,我是小哥谈。CARAFE算子是一种上采样运算符,全称为Content-Aware ReAssembly Feature Extraction,它在图像语义分割任务中被广泛应用。CARAFE算子通过学习像素之间的关系来进行上采样,从而提高了图像分割的精度。CARAFE算子的优势在于它能够根据图像的内…

SpringBoot整合Javamail实现邮件发送功能

说明&#xff1a;邮件发送是一个很普遍的功能&#xff0c;springboot整合了相关的starter&#xff0c;以下方式可以实现一个简单的邮件发送功能。 1、引入依赖 mail依赖&#xff0c;发送邮件使用test依赖&#xff0c;测试使用 <!-- email --> <dependency><g…

Capsolver:解决Web爬虫中CAPTCHA挑战的最优解决方案

Web爬虫已经成为从各种在线来源提取和分析数据的不可或缺的技术。然而&#xff0c;在Web爬取过程中&#xff0c;经常会遇到的一个共同挑战是CAPTCHA。CAPTCHA&#xff08;完全自动化的公共图灵测试&#xff0c;用于区分计算机和人类&#xff09;是一种安全措施&#xff0c;旨在…

SwiftUI之深入解析ContentUnavailableView的实战应用

一、基本用法 SwiftUI 引入了新的 ContentUnavailableView 类型&#xff0c;允许在应用程序中展示空状态、错误状态或任何其他内容不可用的状态。那么&#xff0c;如何使用 ContentUnavailableView 引导用户浏览应用程序中的空状态呢&#xff1f;首先看看 ContentUnavailableV…

数字孪生在增强现实(AR)中的应用

数字孪生在增强现实&#xff08;Augmented Reality&#xff0c;AR&#xff09;中的应用可以提供更丰富、交互性更强的现实世界增强体验。以下是数字孪生在AR中的一些应用&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff…

CSS 纵向扩展动画

上干货 <template><!-- mouseenter"startAnimation" 表示在鼠标进入元素时触发 startAnimation 方法。mouseleave"stopAnimation" 表示在鼠标离开元素时触发 stopAnimation 方法。 --><!-- 容器元素 --><div class"container&q…

宝宝洗衣机哪个牌子质量好?好用的小型洗衣机推荐

当婴儿的到来&#xff0c;确实会给家庭带来许多变化&#xff0c;就好比如对于宝宝相关衣物的清洗需求。对于新生儿及婴幼儿的衣服&#xff0c;一般都要给予特殊的照顾与清洗&#xff0c;以保证不含细菌及过敏原。尤其是刚刚出生的婴儿&#xff0c;这时候宝宝们的皮肤很是幼嫩。…