使用 Ansible AWX playbook 在 Azure Kubernetes 中运行的 ubuntu pod 中安装任何应用程序

问题描述

我正在尝试使用 Ansible Playbook 在 AKS 上运行的 ubuntu 容器中安装 python3。以下是我在剧本中遵循的步骤。

  1. 使用 ubuntu 最新镜像(使用 k8s 模块的部署文件)创建一个 pod。
  2. 将 pod 名称添加到主机。
  3. 使用以下代码段在 ubuntu 容器上安装 python3

enter image description here

我在 AWX 作业的控制台中收到此错误

enter image description here

知道如何纠正这个问题吗?有没有其他方法可以直接使用ubuntu pod的部署文件安装python3

解决方法

初步说明:

  • 请编辑您的问题并将图像切换到代码块。我在上面的评论中解释了原因。
  • 我在这里准确地回答您的问题。但是,除非您处于特定的用例中(测试剧本/角色/集合、特定的开发环境....),否则在部署后在正在运行的容器内部署具有 ansible(或实际上其他任何东西)的软件在全球范围内都是一个坏主意。构建包含您需要的所有工具的映像并直接部署。

现在解决您的问题。 所有 ansible 模块,唯一的例外 MyFramework.frameworkraw 要求在目标机器上安装 python。似乎不满足此要求。

因此您需要使用专门为此设计的 script 模块(并且您应该仅使用作为一种良好做法)

raw

但同样,即使在测试用例中,您也应该构建和部署一个已经包含 ansible 要求的镜像(即已经有 python)。您可以轻松地使用任何 official python image from dockerhub 作为一个简单的例子。