Ansible AWX 是一个强大的开源工具,用于管理和自动化 IT 基础设施。AWX 为 Ansible 提供图形用户界面,使你可以轻松创建、安排和运行 Ansible 剧本Playbook。
另一方面,Kubernetes 是一种流行的容器编排平台,广泛用于部署和管理容器化应用。
先决条件:
- Kubernetes 集群
- Kubectl
- 具有 sudo 权限和集群管理员权限的普通用户
- 互联网连接
步骤 1:安装 Helm
如果你的系统上安装了 Helm,则在命令下运行以进行安装,
Install-helm-linux-command-line
步骤 2:安装 AWX chart
在 Kubernetes 上安装 AWX 的最简单方法是使用 AWX Helm “海图chart”。因此,要通过 “海图” 安装 AWX,首先使用以下 helm
命令添加仓库。(LCTT 译注:Kubernetes 生态中大量使用了和航海有关的比喻,因此本文在翻译时也采用了这些比喻)
注意:如果你之前已经添加过此仓库,请在命令下运行以获取最新版本的软件包。
要通过 Helm 安装 awx-operator,请运行:
helm-install-awx-operator-kubernetes
这将下载 AWX 海图并将其安装在 awx
命名空间中的 Kubernetes 集群上。安装过程可能需要几分钟,请耐心等待。
步骤 3:验证 AWX 操作员安装
安装成功后,你可以通过运行以下命令来验证 AWX 操作员operator
你应该看到这样的东西:
awx-operator-pod-status-kubectl
步骤 4: 创建 PV、PVC 并部署 AWX yaml 文件
AWX 需要 postgres 容器荚pod
注意:在本文中,我使用本地文件系统作为持久卷。
保存并关闭文件,然后运行:
接下来使用以下 pv.yaml
文件创建持久卷(PV):
保存并退出文件。
Postgres-pv-awx-kubernetes
重要说明:确保文件夹 /mnt/storage
存在于工作节点上,如果不存在,则在工作节点上使用 mkdir
命令创建它。在我们的例子中,工作节点是 k8s-worker
。
执行下面的命令在 awx
命名空间中创建 postgres-pv
。
成功创建 PV 后,使用 pvc.yaml
文件创建 PersistentVolumeClaim:
posgres-pvc-awx-kubernetes
要创建 PVC,请运行以下 kubectl
命令:
使用下面的命令验证 PV 和 PVC 的状态:
现在,我们都准备好部署 AWX 实例了。创建一个包含以下内容的 ansible-awx.yaml
文件:
Ansible-awx-yaml-file
保存并关闭文件。
执行以下 kubectl
命令来部署 awx 实例:
等待几分钟,然后检查 awx
命名空间中的容器荚状态。
Ansible-AWX-Pods-Status-Kubernetes
步骤 5:访问 AWX Web 界面
要访问 AWX Web 界面,你需要创建一个公开 awx-web 部署的服务:
此命令将创建一个 NodePort
服务,该服务将 AWX Web 容器的端口映射到 Kubernetes 节点上的端口。你可以通过运行以下命令找到端口号:
这将输出如下内容:
在此示例中,Web 服务在端口 32254 上可用。
Expose-Ansible-AWX-Web-NodePort-Kubernetes
默认情况下,admin 用户是 Web 界面的 admin
,密码在 <resourcename>-admin-password
机密信息中。要检索管理员密码,请运行:
你现在可以打开 Web 浏览器并进入 http://<node-ip>:<node-port>/
来访问 AWX Web 界面。在上面的示例中,URL 是:
AWX-Login-URL-Kubernetes
输入凭据后单击登录。
Ansible-AWX-Web-Dashboard
恭喜! 你已在 Kubernetes 上成功安装 Ansible AWX。你现在可以使用 AWX 来自动化你的 IT 基础架构,并让你作为系统管理员的生活更轻松。