ansible+awx搭建

news2024/9/22 17:37:49

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 off

REM 检查 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 服务失败!
    pause
    exit /b 1
)

:add_firewall_rule

REM 添加防火墙规则,仅允许来自 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 防火墙规则失败!
    pause
    exit /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

在这里插入图片描述

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

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

相关文章

【生日视频制作】长腿美女模特坐在椅子上打招呼大屏幕AE模板修改文字软件生成器教程特效素材【AE模板】

生日视频制作教程长腿美女模特坐在椅子上打招呼大屏幕文字AE模板修改文字特效广软件告生成神器素材祝福玩法AE模板工程 怎么如何做的【生日视频制作】长腿美女模特坐在椅子上打招呼大屏幕AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤: 安装A…

Google play最新政策更新和重要提醒

我们都知道,谷歌会定期更新其政策,而政策的变更通常对开发者及其团队的要求会更为严格,也会增加应用上架的一些限制条件,以此提高应用在谷歌商店的质量。 一起来看看Google play最近的一些政策更新和需要注意的地方。 新政策要求 …

2024高教社杯全国大学生数学建模竞赛C题精美可视化(python代码)

2024高教社杯全国大学生数学建模竞赛C题原创python代码 C题题目:农作物的种植策略 先给大家看看图吧: #描述性统计分析 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from scipy.stats import kurt…

DWPD指标:为何不再适用于大容量SSD?

固态硬盘(Solid State Drives, SSD)作为计算机行业中最具革命性的技术之一,凭借其更快的读写速度、增强的耐用性和能效,已经成为大多数用户的首选存储方案。然而,如同任何其他技术一样,SSD也面临自身的挑战…

vite创建的vue项目怎么使用jsx来实现elementPlus表格表尾的合计有多行大的方法

vite创建的vue3项目安装vitejs/plugin-vue-jsx 先附上代码效果 npm i vitejs/plugin-vue-jsx -D 注意:vite的版本不同请安装不同版本的 /plugin-vue-jsx 我创建项目的vite版本是 4.3.9 所以我就按照了 3.0.2版本的vitejs/plugin-vue-jsx 安装完后需要在 vite.con…

牛客刷题之JZ31.栈的压入、弹出序列(C++)

1.题目解析 本题给出两个序列,判断一个序列压入栈后的弹出序列是否有可能成为另一个序列,核心难度就是如何判断能否满足弹出序列 2.算法原理 这里的算法思路是讲压入栈的序列模拟弹出,即将压入的序列与弹出的序列对比,相同则将压入…

7、关于LoFTR

7、关于LoFTR LoFTR论文链接:LoFTR LoFTR的提出,是将Transformer模型的注意力机制在特征匹配方向的应用,Transformer的提取特征的机制,在自身进行,本文提出可以的两张图像之间进行特征计算,非常适合进行特…

GAMES101(5~6节,光栅化)

光栅化Rasterization 透视投影已知field和近平面,如何推导宽度? 根据三角函数:tan field / 2 (height / 2) / ||n||近平面,从而可以求出高度 因为知道宽高比,所以可以求出宽度,高度 * 宽/高 视口变换 …

Vulkan描述符、描述符Pool、Layout概念

1、DescriptorSetLayout为了组织和管理着色器资源(如缓冲区、纹理、采样器等),多个相同类型的Descriptor放在一个Layout中以优化GPU对资源的访问 //DescriptorSetLayout定义了哪些描述符Descriptor类型(Buffers、Textures、Sample…

四、搭建网站服务器超详细步骤——解决宝塔界面无法登录问题

前言 本篇博客是搭建网站服务器的第四期,也到了中间的一节 先分享一下我在搭建网站时的个人感受,我在这个环节卡住了很久 后来突然醒悟了,然后成功进入了宝塔界面 现在就来分享一下,我所遇到的问题 小伙伴们坐好了 …

LINUX和Windows提权前信息收集的两种方式

信息收集分为两种方式: 手动收集、自动收集; 手动枚举一个系统非常耗时,然而这种方法允许更多的控制,并可以帮助识别自动化工具经常遗漏的更奇特的提权提升方式; 一、手动收集 1、枚举用户 Windows whoami …

【C++】手动实现nique_ptr智能指针

1、自己实现封装了一个智能指针&#xff0c;并且使用了模板 目录 代码实现&#xff1a; 输出结果如下&#xff1a; 代码实现&#xff1a; #include <iostream>using namespace std;template <typename T> class UniquePtr { private:T *ptr;public://默认构造函…

【2024数学建模国赛赛题思路】C题第四套思路已出丨仅供参考

问题一思路分析 假定各种农作物未来的预期销售量、种植成本、亩产量和销售价格相对于2023年保持稳定&#xff0c;每季种植的农作物在当季销售。如果某种作物每季的总产量超过相应的预期销售量&#xff0c;超过部分不能正常销售。请针对以下两种情况&#xff0c;分别给出该乡村…

语法分析例题

答案&#xff1a;A 选项B&#xff0c;选项C&#xff0c;选项D都只有在程序运行后才能看出来是否正确 答案&#xff1a;D 自己写一个C程序&#xff0c;未赋值&#xff0c;就可以看出可以运行&#xff0c;但结果是乱码 #include<stdio.h>int main() {int a;int b;b10;bb…

图形推理-错题集

001 解析&#xff1a; 002 解析&#xff1a; 003 解析&#xff1a; 004 005 006

day09-IO-字符流其它流

一、字符流 字符流&#xff08;只能做文本文件的处理&#xff09;字符输入流 Reader--FileReader字符输出流 Writer--FileWriter ​ 使用文件字符输入流的好处&#xff1a;读取中文不会出现乱码问题 1.1 字符输入流 构造器说明public FileReader (File file)创建字符输入流管道…

软件测试永远的家——银行测试,YYDS

为什么做金融类软件测试举个栗子&#xff0c;银行里的软件测试工程师。横向跟互联网公司里的测试来说&#xff0c;薪资相对稳定&#xff0c;加班少甚至基本没有&#xff0c;业务稳定。实在是测试类岗位中的香饽饽&#xff01; 一、什么是金融行业 金融业是指经营金融商品的特…

VSCode中latex文件(Misplaced alignment tab character .LaTeX

Misplaced alignment tab character &.LaTeX 先给出参考文章1 Misplaced alignment tab character &.LaTeX 把bib文件中的 &改为 and 。删除原有的bbl文件、重新运行 选择这个运行 这个错误在overleaf上并没有遇到、在vscode上遇到了 方法二就是把 &改为…

医用介入导管的种类以及在线检测设备

关键字&#xff1a;介入导管生产线&#xff0c;医用导管检测设备&#xff0c;指引导管测径仪&#xff0c;球囊导管测量仪&#xff0c;医用导管测量&#xff0c;医用导管生产线&#xff0c;溶栓导管测径仪&#xff0c;造影导管测量仪 介入导管在医疗领域&#xff0c;特别是血管内…

机器学习之实战篇——MNIST手写数字0~9识别(全连接神经网络模型)

机器学习之实战篇——Mnist手写数字0~9识别&#xff08;全连接神经网络模型&#xff09; 文章传送MNIST数据集介绍&#xff1a;实验过程实验环境导入模块导入MNIST数据集创建神经网络模型进行训练&#xff0c;测试&#xff0c;评估模型优化 文章传送 机器学习之监督学习&#…