AWX解决/var/lib/awx/projects 中没有可用的 playbook 目录

Ubuntu 18.04 上安全部署 Ansible 的最佳实践 Ansible 是一款基于 Python 的开源自动化运维工具,其核心依赖于 Python 环境隔离性与版本可控性。在 Ubuntu 18.04 这类长期支持但软件栈陈旧的系统中,直接使用 apt 或 system pip 安装易引发依赖冲突、模块不兼容及系统工具异常等稳定性风险。本质问题在于 Python 包管理与系统级库的耦合——如 pyyaml、jinja2、cryptography 等关键依赖需精确锁定版本以适配 ansible-core ≥ 2.12。采用 venv 虚拟环境配合 requirem 阅读详情

问题:

Warning alert:警告:

/var/lib/awx/projects 中没有可用的 playbook 目录。该目录可能是空目录,或所有内容都已被分配给其他项目。创建一个新目录并确保 playbook 文件可以被 "awx" 系统用户读取,或者使用上述的 Source Control Type 选项从源控制控制选项直接获取 AWX。

主要原因:

因为 PVC 挂载未生效。我们通过修改 awx-ubuntu.yml,将挂载方式从 PVC 改为直接使用 hostPath,并结合 minikube mount,让 AWX 成功识别到 /var/lib/awx/projects/my_playbooks 目录,最终在 AWX 界面创建了项目

解决方法:

优化后的步骤:重新创建 AWX 项目

1. 创建新的 Playbook 目录和文件

直接创建新的 Playbook 目录和文件

sudo mkdir -p /var/lib/awx/projects/my_playbooks
sudo tee /var/lib/awx/projects/my_playbooks/test_playbook.yml > /dev/null <<EOF
---
- name: Test Playbook
  hosts: localhost
  tasks:
    - name: Print message
      ansible.builtin.debug:
        msg: "This is a test playbook"
EOF
leo@leo:~$ kubectl exec -n ansible-awx awx-ubuntu-task-hash -- id
uid=1000(awx) gid=0(root) groups=0(root)
sudo chown -R 1000:1000 /var/lib/awx/projects
这里的1000是awx的uid
sudo chmod -R 755 /var/lib/awx/projects

2. 将主机目录挂载到 Minikube VM

确保主机目录通过 minikube mount 映射到 Minikube VM。

  1. 在新终端运行挂载命令:
    minikube mount /var/lib/awx:/var/lib/awx
    • 打开一个新终端(可以用 Ctrl+Shift+T),运行此命令,保持终端打开。
    • 预期输出:
      * Successfully mounted /var/lib/awx to /var/lib/awx
      * NOTE: This process must stay alive for the mount to be accessible ...

3. 确保 AWX 配置使用 hostPath 挂载

我们已经确认 awx-ubuntu.yml 使用 hostPath 挂载(之前修改过),但需要确保配置正确。

  1. 编辑 awx-ubuntu.yml:

    nano ~/awx-operator-2.19.0/awx-ubuntu.yml

    确保配置如下:

    ---
    apiVersion: awx.ansible.com/v1beta1
    kind: AWX
    metadata:
      name: awx-ubuntu
      namespace: ansible-awx
    spec:
      service_type: NodePort
      image_pull_policy: IfNotPresent
      projects_persistence: false  # 禁用 PVC
      extra_volumes: |
        - name: projects
          hostPath:
            path: /var/lib/awx/projects
            type: Directory
      web_extra_volume_mounts: |
        - mountPath: /var/lib/awx/projects
          name: projects
      task_extra_volume_mounts: |
        - mountPath: /var/lib/awx/projects
          name: projects
      web_resource_requirements:
        requests:
          cpu: 50m
          memory: 128Mi
      task_resource_requirements:
        requests:
          cpu: 150m
          memory: 384Mi
      ee_resource_requirements:
        requests:
          cpu: 150m
          memory: 192Mi
  2. 应用配置:

    kubectl apply -f ~/awx-operator-2.19.0/awx-ubuntu.yml -n ansible-awx

4. 删除 AWX 相关的 Task 和 Web Pod:

  1. 查看当前 Pod 名称:
    kubectl get pods -n ansible-awx
    预期输出示例:
    NAME                                               READY   STATUS    RESTARTS      AGE
    awx-operator-controller-manager-8494c546d7-f9qhl   2/2     Running   6 (29d ago)   29d
    awx-ubuntu-postgres-15-0                           1/1     Running   3 (29d ago)   29d
    awx-ubuntu-task-<hash>                             4/4     Running   0             <time>
    awx-ubuntu-web-<hash>                              3/3     Running   0             <time>
  2. 删除 AWX 相关的 Task 和 Web Pod:
    • 直接指定 Pod 名称删除:
      kubectl delete pod awx-ubuntu-task-<hash> -n ansible-awx
      kubectl delete pod awx-ubuntu-web-<hash> -n ansible-awx
      • 替换 <hash> 为实际 Pod 名称(从上一步输出中获取)。
  3. 等待新 Pod 启动:
    kubectl get pods -n ansible-awx
    等待新 Pod 进入 Running 状态。

5. 设置端口转发以访问 AWX 界面

  1. 终止之前的端口转发进程:
    pkill -f "kubectl port-forward"
  2. 重新设置端口转发:
    nohup kubectl port-forward awx-ubuntu-web-<new-hash> 8052:8052 -n ansible-awx --address 0.0.0.0 &
    • 替换 <new-hash> 为新的 awx-ubuntu-web Pod 名称。

再次刷新AWX界面创建项目就可以看到playbook的目录了

ansible-tower 发布一个Linux 任务 Tower playbook 项目目录位于 /var/lib/awx/projects/ 所以playbook和role需要在这里创建 1, 创建HOST登录凭据 点击左侧菜单Credentials,再点击右侧加号 1.1NAME:192.168.3.201 CREDENTIAL TYPE:Machine 用户名:root 密码:XXX 其他留空,点击保存 2.... 阅读详情

相关推荐

Ansible之 AWX 创建管理项目的一些笔记

分享一些 AWX 创建管理项目的笔记博文内容涉及:容器化 AWX 手工创建项目Demo通过 SCM 创建项目 Demo项目角色,更新策略介绍,SCM 凭据的创建食用方式: 需要了解 Ansible理解不足小伙伴帮忙指正傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波。

山河已无恙 1317

python读awx文件_ansible-awx

快速上手1、安装:官方安装文档:安装文档 https://github.com/ansible/awx/blob/devel/INSTALL.md官方安装方式分三种:openshift, kubernetes或者Docker Compose一开始肯定有单机的方式, 后面再扩展集群。最后再弄几个实例单机测试暂时用Docker Compose软件包地址: https://github.com/ansi...

weixin_39805355的博客 771

Ansible AWX:企业IT自动化管理的图形界面

本文还有配套的精品资源,点击获取 简介:Ansible AWX,之前称为Tower,提供了一个图形化的Web界面来增强Ansible的配置管理和自动化功能。它简化了复杂的自动化任务,通过友好的用户界面减少了命令行操作的依赖性。通过AWX,用户可以创建和管理playbook,设计工作流,以及配置角色和变量等。它还包括项目版本管理、主机清单管理、权限控制、日志审计、通知集成、A...

weixin_42627459的博客 2678

Ansible篇-CentOS7安装AWX详解

1 引言 网上很多教程,但是根据教程安装一直报错,唉,排错重重,赶紧记下笔记! 2 系统要求 至少4G内存 至少2 CPU 至少20G磁盘空间 可运行docker,k8s,openshift 3 环境准备 关闭防火墙 systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i ‘s/SEL...

鬼刺 4756

ansible_awx_playbooks

ansible_awx_playbooks

Chromatix 7实战:从零开始调优ISP模块的完整流程(附常见报错解决方案)

本文提供了高通平台Camera调试工具Chromatix 7的完整实战指南。详细阐述了从环境准备、项目初始化、基础校正(如LSC、BPC)到核心ISP管线(Demosaic、CCM、HDR)及后处理(CAC、ANR)的调优全流程,并附带了常见报错(如“未初始化实例”)的解决方案,旨在帮助工程师建立系统性的调试方法论。

weixin_29290863的博客 623

AWX配置持久化 Playbook 目录

此命令在后台运行 kubectl port-forward,将 web pod 的 8052 端口映射到主机的 8052 端口,允许外部访问 AWX 界面。:此命令从 awx-ubuntu-admin-password Secret 中提取 AWX 管理员密码,解码后显示,用于登录 AWX 界面。:此命令过滤 ansible-awx 命名空间中的 pod,显示最新的 awx-ubuntu-web pod 名称,用于端口转发。:此命令显示 nohup.out 文件内容,确认端口转发是否正常工作。

zero_number的博客 1393

【新手必看】蓝牙的HOGP和HID、GATT有什么区别和联系

让新手宏观了解蓝牙HOGP、HID、GATT这三个协议的区别和联系

qq_51976334的博客 1565

awx上新须知

awx上新须知: 1、文件上传: 部署脚本:192.168.1.57:/var/lib/awx/projects/ 部署包和sql:192.168.1.57:/var/lib/awx/projects/package/对应项目文件夹 配置文件带变量:192.168.1.57:/var/lib/awx/projects/对应项目文件夹/templates 2、awx流程创建: 1、登陆192.168.1.57 2、配置清单脚本 2、同步清单脚本内容到清单 3、创建项目: 4、创建模板: 5、创建工作流模

inteligent7的博客 1045

LangChain开发避坑指南:为什么Pylance总提示‘无法解析导入‘?实测7种修复方案

本文深入解析了在VS Code中使用LangChain开发时,Pylance频繁提示‘无法解析导入’的根本原因——Python解释器与语言服务器的环境路径不一致。文章提供了从基础排查到深度配置的7种实测修复方案,包括切换解释器、配置extraPaths、使用pyrightconfig.json等,旨在帮助开发者彻底解决此问题,提升AI应用开发效率。

weixin_28826521的博客 447

四旋翼无人机控制算法实战:从PID到MPC的路径跟踪

本文深入探讨了四旋翼无人机控制算法的演进路径,从基础的PID控制到高级的MPC算法,详细解析了各类算法的原理、实现技巧及适用场景。通过实战案例对比分析,为开发者提供从算法选型到参数调优的全方位指导,助力提升无人机飞行控制的精度与稳定性。

weixin_29090917的博客 241

【漏网之鱼】Ansible AWX调用playbook传参问题

【漏网之鱼】Ansible AWX调用playbook传参问题问题背景问题一:读不到inventory.ini中的变量问题二:读到的变量与定义值不同 问题背景 通过ansible AWX使用Web接口调用playbook时,出现了playbook在运行时无法读取某些变量、以及读取到的某些变量与定义的值不同的情况。Playbook的结构如下: my-test-playbook |--ansible.cfg |--fact_files |--group_vars |--all.yml |--deploy.

Sebastien23的博客 824

Vivado实战:如何用BUFGMUX_CTRL实现FPGA双时钟热切换(附时序约束模板)

本文详细介绍了如何使用Xilinx FPGA中的BUFGMUX_CTRL原语实现双时钟热切换的工业级解决方案。通过分析BUFGMUX_CTRL的核心机制、PCB布局约束和电源噪声抑制方法,提供Vivado实现全流程和时序约束模板,帮助工程师在工业自动化、车载电子等场景中提升系统可靠性。

weixin_29186249的博客 578

awx入门操作说明

什么是awx AWX是一个开源的web应用,并为ansible的任务引擎提供用户接口和REST API。它是 ansible Tower的开源版本。ansible AWX允许我们使用web接口去管理Ansible的playbooks、inventoris和调度任务 awx功能模块 本文仅介绍常用模块。 仪表板(Dashboard):awx资源管理可视化界面,包括资源统计信息(如hosts,inventories,projects等),过往全部作业执行情况,近期使用模板,近期作业执行情况。 项目(Proje

inteligent7的博客 1万+

MIKE11实战:平原河网水动力建模从入门到精通(附GIS数据处理技巧)

本文系统介绍了MIKE11软件在平原河网水动力建模中的完整实战流程。从GIS数据预处理、河网构建、参数率定到结果分析,详细阐述了构建可靠数字孪生模型的关键步骤与技巧,旨在帮助水利工程师高效解决平原地区复杂水流模拟的挑战,为防洪决策提供科学依据。

weixin_28419039的博客 689

YOLOv8验证的命令以及计算coco指标

好久不看代码,都不知道怎么验证的了,来记录一下。1、计算coco指标。

毕竟是Shy哥 1481

AWX+gitlab

这里的用户名和密码不能乱填,要填已经在gitlab上注册的用户或者马上要到gitlab上注册的用户,这里是我的gitlab用户截图。我们可以将playbook上传到gitlab,然后awx去执行任务的时候,任务的playbook从gitlab去下载。这个凭证没有的话你可以创建一个ssh凭证,不创建的话可以在变量里面把用户名和密码都定义进去。这里需要输入用户名和密码,用户名就用刚刚在awx里面添加凭据的那个用户。也可以不直接在这里指定变量,那么就需要在凭证里面添加一个。本身是有这一项的,把注释取消。

2301_76699451的博客 651

Easy3D&CGAL文章目录汇总

Easy3D&CGAL文章目录汇总

dayuhaitang1的博客 2863

什么是 Ansible Playbook?

在 Ansible 和 AWX 的上下文中,Playbook 是你实现自动化的主要方式。每次你想让 AWX 执行一个自动化任务(例如测试主机连通性、安装 Nginx、检查磁盘使用情况),你都需要一个 Playbook 文件来描述这些任务。换句话说,Playbook 是你在 AWX 中运行的“脚本”,但它不仅仅是简单的命令集合,而是结构化的自动化任务描述。在你的 AWX 环境中(IP 为 192.168.85.133:8052),Playbook 是自动化任务的核心。条件语句可以根据条件执行任务。

zero_number的博客 1370

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【亲测免费】 AWX 容器化部署教程

AWX 容器化部署教程 项目介绍 AWX 是 Ansible 的一个 Web 界面,提供了图形化界面来创建和管理 Ansible Playbook。AWX 容器化部署使得安装和配置变得更加简单和快速。本教程基于开源项目 geerlingguy/awx-container,该项目提供了一个 Docker 化的 AWX 部署方案。 项目快速启动 前提条件 Docker 和 Docker Compos...

gitblog_00372的博客 724

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Ansible Tower系列 三(使用tower执行一个任务)【转】

创建playbook Tower playbook 项目默认存在 /var/lib/awx/projects/ su - awx cd projects/ mkdir ansible-for-devops &amp;&amp; cd ansible-for-devops cat main.yml &lt;&lt; EOF --- - hosts: all gather_fa...

weixin_34393428的博客 260

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

CentOS7.9奶妈级教程安装Ansible AWX 17.1.0

AWX提供了基于web的用户界面、REST API和建立在Ansible之上的任务引擎。本教程将指导您在CentOS/RHEL 7的Docker容器中设置Ansible AWX的步骤。 请注意,这些说明适用于AWX版本17.x。 先决条件 要完成本操作,您需要安装一个(物理的或虚拟的)CentOS/RHEL 7,必须具有root用户特权。 1.关闭SELinux和Firewall 2.安装EPEL存储库,您需要在您的CentOS/RHEL 7操作系统上安装额外的企业Linux (EPEL)

sgj584520的专栏 4543

ansible执行playbook报错ERROR! We were unable to read either as JSON nor YAML

ansible playbook语法错误

Server reboot engineer的博客 1474

Ansible Tower安装配置全过程(上)

一、准备一台Linux主机 内存要求:4GB以上 分区要求:/var必须大于等于20GB 其他略过 二、安装Ansible 1、安装前准备 (1)首先升级系统 yum update -y 重启服务器 shutdown –r now (2)安装基础组件 yum -y install gcc glibc-devel make ncurses-devel openssl-de...

weixin_33743248的博客 1015

Ansible AWX基础配置和使用

AWX是一个开源的web应用,并为ansible的任务引擎提供用户接口和REST API。它是 ansible Tower的开源版本。ansible AWX允许我们使用web接口去管理Ansible的playbooks、inventoris和调度任务。 基础环境配置: 部署AWX:https://blog.51cto.com/10616534/2405212我们将通过Ansible AWX的web...

weixin_33896726的博客 3013

ansibe&awx问题赏析-填上你的坑

ansibe&awx问题赏析-填上你的坑 一、关于awx项目迁移 主要包含两个部分,包括pg库数据(主要是awx构建的对象)及projects脚本,操作步骤如下: 1、停止源/目标服务器awx相关服务; 2、参照配置文件install/inventory中参数路径,拷贝文件并压缩 project_data_dir=/var/lib/awx/projects postgres_data_dir="~/.awx/pgdocker" 3、拷贝文件到目标服务器对应目录; 4、启动目标服务器aw

inteligent7的博客 945
上一篇: 全面解析IPv6:从理论到实践(以H3C配置为例)
下一篇: Rundeck 介绍及安装:自动化调度与执行工具
李李网工日记
李李网工日记 新星创作者: 信息安全技术领域 新星创作者: 信息安全技术领域
博客等级 码龄7年 9236粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李李网工日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值