[Linux]-Ansible

news2024/11/28 22:41:50

[Linux]-Ansible

森格 | 2023年2月

介绍:本文旨在介绍ansible的基本使用,提高部署环境时的效率,避免重复操作带来的时间成本。


文章目录

  • [Linux]-Ansible
  • 一、什么是Ansible
    • 1.1 基本介绍
    • 1.2 核心概念
    • 1.3 优点
  • 二、环境部署
    • 2.1 Ansible
    • 2.2 Docker
    • 2.3 AWX
  • 三、使用案例
    • 3.1 Ansible
    • 3.2 AWX
  • 四、总结


一、什么是Ansible

官网:Ansible

GitHub: https://github.com/ansible/

1.1 基本介绍

ansible是一种基于python开发的自动化运维工具,实现了批量系统配置、程序部署、运行命令等功能。

其本身没有批量部署的能力,但其运行的模块具有该能力,ansible不需要在远程主机安装client、agents,因为它们它们基于shh和远程主机进行通讯。

1.2 核心概念

1)Ansible Playbook

是Ansible的配置、部署和编排语言,通过YAML的格式描述,可以将多个任务定义在一个YAML文件中执行。

2)Ansible 模块

是Ansible执行任务的核心。每个模块都是独立的代码,可以通过命令行或Playbook执行。

1.3 优点

  • 部署简单,只需要在主控端部署Ansible环境,被空端无需部署。
  • 拥有大量操作模块,可实现绝大部分的运维操作。
  • 配置简单、功能强大,支持API及自定义模块,通过Python可轻松扩展。
  • Playbook提供了强大的可定制及状态管理。
  • 提供了AWX可视化平台,更方便的编排部署Ansible Playbook

二、环境部署

安装pip、git、pwgen,后面会用到

yum install -y python3-pip git pwgen

2.1 Ansible

1)安装 EPEL源

yum -y install epel-release

2)安装 Ansible

yum -y install ansible

3)Ansible安装验证

ansible --version

返回如下:

在这里插入图片描述

2.2 Docker

1)安装 docker

curl -fsSL https://get.docker.com/ | sh

如果是网络问题,就多试几次。

2)docker安装验证

docker --version

返回如下:

在这里插入图片描述

3)配置镜像加速

#1、创建文件夹
mkdir -pv /etc/docker
#2、写入配置
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://v16stybc.mirror.aliyuncs.com"]}
EOF
#3、重新加载
systemctl daemon-reload && Systemctl restart docker

4)安装docker-compose

两种方式

a:二进制文件安装

curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 注意赋权
chmod +x /usr/local/bin/docker-compose

b:使用python模块安装

pip3 install docker-compose

5)docker-compose安装验证

docker-compose --version

返回如下:

在这里插入图片描述

2.3 AWX

1)更新pip3,否则可能会报错

pip3 install --upgrade pip

2)安装上小节一致的版本

pip3 install docker-compose==1.25.5

3)下载AWX包

wget https://github.com/ansible/awx/archive/14.1.0.tar.gz
tar -zxf 14.1.0.tar.gz

4)进入目录,利用pwgen生产密钥

cd ./awx-14.1.0/installer/
pwgen -N 1 -s 10

5)更改inventory文件

vim ./inventory
  • admin_password=你的管理员密码
  • secret_key=上面生成的10个字符秘钥

6)使用ansible-playbook运行install.yml

ansible-playbook -i inventory install.yml

运行成功如下图:

在这里插入图片描述

7)浏览输入机器IP(不用指定端口),进入AWX

在这里插入图片描述
在这里插入图片描述

三、使用案例

3.1 Ansible

1)修改ansible的配置文件,添加服务组,填充被控的机器IP

vim /etc/ansible/host

DEMO:

在这里插入图片描述

[组名称] 自定配置即可。

2)配置公钥、私钥

a:生成密钥

ssh-keygen -t rsa

在这里插入图片描述

步骤:回车(保存在默认路径:/root/.ssh/id_rsa)=> 连续输入两次密码(可自定义)

b:分发公钥给被控机器

cd /root/.ssh/
ssh-copy-id root@ip

c:设置免密交互(可以自行选择)

ssh-agent bash
ssh-add

d:ping检查连通性

ansible ip -m ping
ip | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}

设置完后,不用再次输入密码

3.2 AWX

1)创建清单

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2)为清单创建主机

在这里插入图片描述
在这里插入图片描述
3)在主机上运行命令

在这里插入图片描述
在这里插入图片描述

4)命令运行结果

在这里插入图片描述

四、总结

到此,我们对于Ansible和AWX的基本介绍及使用已经完成,如果错误之处,欢迎大家指正。

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

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

相关文章

帮中国人搞钱的ChatGPT,算不清自己的“经济账”

好消息&#xff0c;ChatGPT找到盈利模式了。坏消息&#xff0c;尽是“二道贩子”在赚钱。当OpenAI尝试着为红到发紫的ChatGPT推出20美元的Plus订阅服务时&#xff0c;大多数人已经忘记了这个“吞金兽”的成长耗费了多少财力物力。问答狂欢者的岁月静好靠的是OpenAI的负重前行&a…

可重构或可调谐微波滤波器技术

电子可重构&#xff0c;或者说电调微波滤波器由于其在改善现在及未来微波系统容量中不断提高的重要性而正吸引着人们越来越多的关注来对其进行研究和开发。例如&#xff0c;崭露头脚的超宽带&#xff08;UWB&#xff09;技术要求使用很宽的无线电频谱。然而&#xff0c;作为资源…

函数栈帧的创建和销毁——“C”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰来为大家介绍一个知识点——函数栈帧的创建和销毁。其实这个知识点&#xff0c;我们很早之前就要讲&#xff0c;但是因为我的一系列原因&#xff0c;才一直拖到了现在&#xff0c;那么&#xff0c;话不多说&#xff0c;让我们一起…

(C00036)基于SSM+VUE前后端分离的物流管理系统

基于SSMVUE前后端分离的物流管理系统项目简介项目获取开发环境项目技术运行截图项目简介 本基于SSMVUE前后端分离的物流管理系统&#xff0c;统一管理车辆、顾客、司机、订单等信息&#xff0c;方便企业对物流信息的管理。本系统通过对用户划分为三个角色进行实现&#xff0c;…

【内网安全-横向移动】基于SMB协议-PsExec

目录 一、SMB协议 1、简述&#xff1a; 2、工具&#xff1a; 二、PsExec 1、简述&#xff1a; 2、使用&#xff1a; 1、常用参数&#xff1a; 2、情况&#xff1a; 3、插件 三、PsExec&#xff08;impacket&#xff09; 1、简述&#xff1a; 1、impacket&#xff1…

C++-类和对象(上)

类和对象&#xff08;上&#xff09;一&#xff0c;构造函数1&#xff0c;概念2&#xff0c;特性二&#xff0c;析构函数1&#xff0c;概念2&#xff0c;特性三&#xff0c;拷贝构造1&#xff0c;概念2&#xff0c;特性四&#xff0c;运算符重载1&#xff0c;概念2&#xff0c;…

联合培养博士经历对于国内就业有优势吗?

2023年国家留学基金委&#xff08;CSC&#xff09;申请在即&#xff0c;很多在读博士在关心申报的同时&#xff0c;也对联培经历能否有助于国内就业心中存疑&#xff0c;故此知识人网小编重点解答此问题。之前&#xff0c;我们在“CSC联合培养-国内在读博士出国的绝佳选择”一文…

【论文解读|KDD2020】AKT. Context-Aware Attentive Knowledge Tracing

文章目录摘要1 引言1.1 贡献3 模型3.4 基于Rasch模型的嵌入摘要 知识追踪(KT)是指根据学习者在教育应用中的过去表现预测未来学习者表现的问题。KT最近使用灵活的基于深度神经网络的模型的发展在这一任务中表现出色。然而&#xff0c;这些模型通常提供有限的可解释性&#xff…

HTML画布与SVG(Canvas vs. SVG)

目录 画布(Canvas) 什么是 Canvas&#xff1f; 创建 Canvas 元素 通过 JavaScript 来绘制 理解坐标 更多 Canvas 实例 实例 - 线条 实例 - 圆形 实例 - 渐变 实例 - 图像 相关页面 SVG (Scalable Vector Graphics) 什么是 SVG&#xff1f; SVG 的优势 浏览器支持…

Springboot+Vue java毕业论文选题管理系统

在分析并得出使用者对程序的功能要求时&#xff0c;就可以进行程序设计了。如图展示的就是管理员功能结构图。 系统实现前端技术&#xff1a;nodejsvueelementui 前端&#xff1a;HTML5,CSS3、JavaScript、VUE 系统分为不同的层次&#xff1a;视图层&#xff08;vue页面&#…

bert处理超过512的长文本(强制改变位置编码position_embeddings )

最近在做 NER 任务的时候&#xff0c;需要处理最长为 1024 个字符的文本&#xff0c;BERT 模型最长的位置编码是 512 个字符&#xff0c;超过512的部分没有位置编码可以用了 处理措施&#xff1a; 将bert的位置编码认为修改成&#xff08;11024&#xff09;&#xff0c;前512…

【C++】类和对象(二)

目录 一、默认成员函数 二、构造函数 1、构造函数概念 2、构造函数编写 3、默认构造函数 4、内置类型成员的补丁 三、析构函数 1、析构函数概念 2、析构函数编写 3、默认析构函数 四、拷贝构造函数 1、拷贝构造函数概念及编写 2、默认拷贝构造函数 3、拷贝构造…

大学物理·第15章【量子物理】

黑体 斯特藩玻耳兹曼定律 维恩定律 光电效应 在光照射下 &#xff0c;电子从金属表面逸出的现象&#xff0c;叫光电效应. 逸出的电子&#xff0c;叫光电子 经典理论&#xff1a; 光电流值与入射光强成正比截止频率&#xff08;红限&#xff09;v0对某种金属来说&#xff0c;只有…

关于 NodeJs 处理超长字符串问题的分析

问题&#xff1a;对于超大的 string V8不能支持 问题背景 在 Nodejs 计算服务中&#xff0c;对端上上报的内存信息二进制数据进行预处理缓存时&#xff0c;遇到了一个奇怪的报错&#xff1a;RangeError: Invalid string length 。根据该报错信息&#xff0c;查找得知是字符串长…

二叉搜索树(查找,插入,删除)

目录 1.概念 2.性质 3.二叉搜索树的操作 1.查找 2.插入 3.删除(难点) 1.概念 二叉搜索树又称二叉排序树.利用中序遍历它就是一个有顺序的一组数. 2.性质 1.若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 2.若它的右子树不为空,则右子树上所有节点的值都…

代码解析工具cpg

cpg 是一个跨语言代码属性图解析工具&#xff0c;它目前支持C/C (C17), Java (Java 13)并且对Go, LLVM, python, TypeScript也有支持&#xff0c;在这个项目的根目录下: cpg-core为cpg解析模块的核心功能&#xff0c;主要包括将代码解析为图&#xff0c;core模块只包括对C/C/Ja…

Flink 滚动窗口、滑动窗口详解

1 滚动窗口(Tumbling Windows) 滚动窗口有固定的大小&#xff0c;是一种对数据进行“均匀切片”的划分方式。窗口之间没有重叠&#xff0c;也不会有间隔&#xff0c;是“首尾相接”的状态。如果我们把多个窗口的创建&#xff0c;看作一个窗口的运动&#xff0c;那就好像它在不…

大坝安全监测系统:水库“守坝人”!

一、项目背景 随着社会经济的迅速发展&#xff0c;我国水资源利用率越来越高&#xff0c;各类水利水电工规模进一步扩大。在抗洪救灾、水利发电等方面带来巨大的经济和社会效益。但受多种因素影响&#xff0c;大坝的安全问题日益严重。大量工程实践证明&#xff0c;为保证大坝…

uniapp 离线本地打包

uniapp打包教程地址 https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android.html点击查看 需要的环境&#xff1a; java (1.8)离线SDK(上面的连接下载即可)Android Studio&#xff08;同上&#xff09; 配置环境变量 依次点击“计算机”&#xff0d;“属性”&#…

通过 指针 引用 多维数组 详解

目录 一&#xff1a;回顾多维数组地址知识 二&#xff1a;二维数组的有关指针 三&#xff1a;指向数组元素的指针变量 四&#xff1a;用指向数组的指针作为函数参数 首先简单来讲&#xff0c;指针变量可以指向一维数组中的元素&#xff0c;也可以指向多维数组中的元素。下面…