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,端口 5985)
echo 添加防火墙规则...
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…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
