当前位置: 首页 > news >正文

ansible+awx搭建

1、环境介绍
操作系统版本:龙蜥os 8.9
docker 版本:26.0.2
python版本:3.11.9
ansible版本:2.16.6
awx版本:24.2.0
2、安装docker
设置软件源

yum install -y yum-utils
yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

删除旧版docker

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

安装docker

yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

在这里插入图片描述
启动docker

systemctl start docker
systemctl enable docker

3、安装docker-compose
https://github.com/docker/compose/releases

版本号 自己替换

curl -L "https://github.com/docker/compose/releases/download/v2.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

加执行权限

chmod +x /usr/local/bin/docker-compose

创建软连接

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

在这里插入图片描述
4、安装epel源

yum install epel-release

5、安装python3
python下载地址
https://www.python.org/downloads/
选好版本下载

wget https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tar.xz

解压
在这里插入图片描述
安装编译器

yum groupinstall "Development Tools"
yum remove python3
yum install bzip2-devel ncurses-devel gdbm-devel tk-devel libuuid-devel libnsl readline-devel
yum install sqlite-devel libffi-devel
yum install openssl-devel
nss-devel

编译

./configure 

安装

make && make install

创建软连接

ln -s /usr/local/bin/python3.11 /usr/local/bin/python

在这里插入图片描述
5、安装ansible
如果安装不了,使用国内源

pip3 config set global.index-url https://pypi.mirrors.ustc.edu.cn/simple
pip3 install --upgrade pip
pip3 install setuptools-rust
pip3 install ansible

在这里插入图片描述
6、安装awx
(1)下载包

git clone https://github.com/ansible/awx.git

(2)构建镜像
在这里插入图片描述

make docker-compose-build

在这里插入图片描述
(3)启动容器并生成ui

make docker-compose

等待容器启动后,生成ui

docker exec tools_awx_1 make clean-ui ui-devel

(4)完成安装以及下次启动
在这里插入图片描述
下次启动直接启动容器就行了

docker start $(docker ps -a -q)

(5)创建登录用户

docker exec -ti tools_awx_1 awx-manage createsuperuser

(6)登录
登录地址
https://localhost:8043/#/home
在这里插入图片描述
记得修改密码
在这里插入图片描述
7、使用
在这里插入图片描述
凭证:就是各类用户名密码
项目:palybook所在位置
清单:定义使用哪些Ansible实例和机构组织
主机:定义具体主机,引用定义清单(清单和主机这两个相当于命令行的清单)
模版:把凭证,项目,清单,主机逻辑成一个

windows主机示例
凭证:
在这里插入图片描述
项目:
指定gitlab中的playbook
在这里插入图片描述
清单:
在这里插入图片描述
清单这里设置windows环境变量:指定使用winrm,控制windows

---
ansible_connection: winrm
ansible_winrm_transport: ntlm
ansible_winrm_server_cert_validation: ignore
ansible_winrm_port: 5985
ansible_winrm_scheme: http
ansible_shell_type: powershell

windows 被控制的机器上启用winrm,下面是个bat批处理

@echo offREM 检查 WinRM 服务状态
echo 检查 WinRM 服务状态...
set "service_status=NOT_RUNNING"
for /f "tokens=3 delims=: " %%a in ('sc query WinRM ^| findstr /C:"STATE"') do (if "%%a"=="RUNNING" (set "service_status=RUNNING")
)
if "%service_status%"=="RUNNING" (echo WinRM 服务已启动,跳过启动步骤。goto :add_firewall_rule
)REM 启动 WinRM 服务
echo 启动 WinRM 服务...
sc config WinRM start= auto
net start WinRM
if %ERRORLEVEL% neq 0 (echo 启动 WinRM 服务失败!pauseexit /b 1
):add_firewall_ruleREM 添加防火墙规则,仅允许来自 10.99.50.230 的 IP 访问 WinRM(HTTP,端口 5985echo 添加防火墙规则...
netsh advfirewall firewall add rule name="WinRM HTTP" dir=in action=allow protocol=TCP localport=5985 remoteip=10.99.50.230
if %ERRORLEVEL% neq 0 (echo 添加 WinRM 防火墙规则失败!pauseexit /b 1
)echo WinRM 配置和防火墙规则添加完成.
pause

主机:
把清单,引入
在这里插入图片描述
模板:
把之前的四项,逻辑起来
在这里插入图片描述
模版调度这里可以定义运行时间,频率
在这里插入图片描述

补充
遇见pip 安装网络失败问题,找到
awx/tools/ansible/roles/dockerfile/templates/dockerfile.j2这个文件
在这个dockerfile中 添加构建容器时的环境变量

ENV PIP_INDEX_URL=https://pypi.mirrors.ustc.edu.cn/simple/
ENV PIP_TRUSTED_HOST=mirrors.ustc.edu.cn

在这里插入图片描述

相关文章:

ansible+awx搭建

1、环境介绍 操作系统版本:龙蜥os 8.9 docker 版本:26.0.2 python版本:3.11.9 ansible版本:2.16.6 awx版本:24.2.0 2、安装docker 设置软件源 yum install -y yum-utilsyum-config-manager \--add-repo \https://mirr…...

linux环境下安装配置go环境

概述 摘要: 本文介绍在linux环境下,安装go环境的方法 安装步骤 1,下载go安装包 根据需要下载linux环境下的go版本包,本文以go1.17.3版本为例 wget https://storage.googleapis.com/golang/go1.17.3.linux-amd64.tar.gz 2,解压 …...

可交互、会学习、自成长机器人——李德毅院士

在以“农业无人农场”为主题的中国工程科技论坛上,中国工程院院士、欧亚科学院院士、中国人工智能学会和中国指挥与控制学会名誉理事长,中科原动力首席科学家李德毅院士应邀做题为《机器具身交互智能》的演讲。李德毅院士表示,智能机器不但把…...

Redis发布订阅PUB/SUB

Redis发布订阅PUB/SUB是一种消息通信模式,发送者PUB发送消息,订阅者SUB接收消息。Redis客户端可以订阅任意数量的频道,一个通道CHANNEL可以被多个客户端订阅,当一条消息发送到CHANNEL中去后所有订阅的客户端都会接收到此消息。 一…...

Scratch教师节 —— 感恩教师节

小虎鲸Scratch资源站-免费Scratch作品源码,素材,教程分享平台! Scratch教师节动画作品——感恩教师节 在这个特别的日子里,我们迎来了教师节。为了表达对老师们的感激之情,Scratch平台上的小朋友们用创意与热情制作了精彩的动画作品——“感恩教师节”。…...

【60天备战软考高级系统架构设计师——第五天:需求分析方法与工具】

在完成了需求获取的初步工作后,今天我们将专注于需求分析的方法与工具。需求分析是将需求转化为可实现系统的关键步骤,直接影响到系统的最终效果。 需求分析方法 用例分析 用例分析通过描述用户与系统的交互行为,明确系统需要实现的功能。用…...

【Hot100算法刷题集】哈希-01-两数之和(暴力枚举再优化,也不是哈希表的对手)

🏠关于专栏:专栏用于记录LeetCode中Hot100专题的所有题目 🎯每日努力一点点,技术变化看得见 题目转载 题目描述 🔒link->题目跳转链接 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中…...

基于.NET6的WPF基础总结(上)

目录 一.常用属性介绍 二、 程序退出方式 三、布局样式 3.1 Panel的附加属性ZIndex 3.2 Grid(网格)布局 3.3 UniformGrid(均分布局) 3.4 StackPanel(堆积面板) 3.5 WrapPanel(换行面板) 3.6 Doc…...

Nuxt3入门:资源文件(第2节)

你好同学,我是沐爸,欢迎点赞、收藏、评论和关注。 Nuxt 为资源存放提供两种选择。可以使用两个目录(public/assets)来处理样式表、字体或图像等资源。 public/ 此目录中的文件将按原样复制到服务器根目录中。assets/ 此目录中的…...

企业微信中嵌套的h5应用调用微信扫码功能

企业微信官方文档 1.登录企业微信后台,管理员可操作,打开应用配置应用可信域名(必须配置,否则无法调用jsapi,可信域名必须有ICP备案且在管理端验证域名归属) 配置部署后的前台域名地址 配置可信域名,部署后的服务器域名(需备案认证) 当域名权限不够时需下载文件效验,将文件放…...

Excel如何把表格变成图表

Excel如何把表格变成图表 ‌将Excel表格转换为图表‌的过程相对简单且直观,主要步骤包括准备数据、插入图表、设置图表格式等。 以下是详细的步骤说明: ‌准备数据‌:首先,在Excel表格中输入或准备好要创建图表的数据。这些数据可…...

HTTP 三、http在springboot中得应用

一、springboot处理http请求的过程 1、客户端发起HTTP请求,经过网络传输到服务器 HTTP请求通常由浏览器、Postman、curl或其他HTTP客户端发起,客户端的HTTP请求通过网络(通常是TCP/IP协议)传输到服务器,这个请求首先会…...

Java秋招面经(网搜版)

1.redis的数据结构 Redis 提供了多种高效的数据结构来满足不同的应用需求。主要包括字符串(String),这是最基础的数据类型,支持存储和操作各种数据;哈希(Hash),类似于键值对的集合&…...

【Android】Material Design编写更好的UI

Toolbar 对于控件ActionBar我们非常熟悉,就是我们常见的标题栏,但ActionBar只能位于活动的顶部,因此我们更建议使用Toolbar。在新建一个项目的时候都是默认显示ActionBar,我们要使用Toolbar就需要先将标题栏改为不显示 先来看看…...

剪辑视频,这四大工具助你一臂之力!

在这个数字化的时代,视频已成为一种重要的表达手段。无论您是专业视频制作者还是只是偶尔想要编辑一些个人视频,一款优秀的视频剪辑软件都将是您不可或缺的好帮手。以下是几款值得推荐的视频剪辑软件。 福昕视频剪辑 直达链接:www.pdf365.c…...

基于单片机的热成像测温显示系统设计

本设计基于单片机的热成像测温显示系统,本系统包括STM32F103C6T6微控制器、MLX90640红外温度传感器、TFT-LCD显示屏、AT24C02存储模块、报警模块、按键模块和MP3语音播报模块。其可以通过热成像传感器对被检测物体的温度进行非接触式测量,并能够将被测信…...

CSS系列之Float浮动(二)

一、传统网页布局 网页布局的本质:用 CSS 来摆放盒子,把盒子摆放到相应位置。CSS 提供了三种传统布局方式(这里指的只是传统布局,其实还有一些特殊高级的布局方式): 标准流浮动定位 1、所谓的标准流&#…...

macos下的 sed命令安装与使用 gnu-sed

sed命令是我们在linu类系统中非常重要的一个命令, 但是在macos下面默认是没有sed命令的, 不过我们可以通过brew install gnu-sed ( 或者通过 sudo port install gsed )这个软件包来获得这个命令 GNU sed 命令安装 下面2种方式,选择一种安装即可 # brew安装 brew install gn…...

RLC(电阻、电感、电容)

RLC(电阻、电感、电容) 目录一、两个电阻(R1,R2),电容(C1,C2)的串联/并联公式?二、请画出这个1ms, 1V的Vin脉冲信号在Vout端的大致图像1.电路图2.…...

语音测试(一)ffmpeg视频转音频

视频转音频 下载ffmpeg工具进入bin目录cmd进入控制台输入命令 ffmpeg.exe -i ./视频.mp4 ./音频.wav命令说明 ffmpeg -i input.mp4 output.mkv FFmpeg 可能会尝试自动选择合适的编码器对视频和音频进行重新编码,以便适应 MKV 格式的要求ffmpeg -i input.mp4 -c c…...

idea大量爆红问题解决

问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...

【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?

FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...