首页
/ Ansible AWX Operator 基础安装指南

Ansible AWX Operator 基础安装指南

2026-02-04 04:11:51作者:冯梦姬Eddie

前言

Ansible AWX Operator 是一个 Kubernetes Operator,用于在 Kubernetes 集群上部署和管理 AWX(Ansible Web eXecution)实例。AWX 是 Ansible Tower 的开源版本,提供了一个基于 Web 的用户界面、REST API 和任务引擎,使 Ansible 更加易于使用。

本文将详细介绍如何使用 AWX Operator 在 Kubernetes 集群上进行基础安装。

准备工作

1. 获取 AWX Operator 代码

首先需要获取 AWX Operator 的代码仓库。建议选择特定的版本标签进行安装,以确保稳定性。

git clone <awx-operator仓库地址>
cd awx-operator
git tag
git checkout tags/<版本号>  # 例如 tags/2.7.2

2. 设置版本环境变量

如果你是从 fork 的仓库工作并且对代码进行了修改,必须设置 VERSION 环境变量:

export VERSION=<版本号>  # 例如 export VERSION=2.7.2

部署 AWX Operator

1. 使用 Kustomize 部署

Kustomize 是一个 Kubernetes 原生配置管理工具,从 kubectl 1.14 版本开始已内置支持。

最简单的方式是使用提供的 make 目标:

make deploy

如果你构建了自定义的 Operator 镜像,可以这样指定:

IMG=<你的镜像仓库>/awx-operator:<你的标签> make deploy

2. 手动创建 Kustomization 文件

或者,你也可以手动创建 kustomization.yaml 文件:

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
  - <awx-operator配置路径>?ref=<版本号>

images:
  - name: quay.io/ansible/awx-operator
    newTag: <版本号>

namespace: awx

3. 应用配置

应用配置以部署 Operator:

kubectl apply -k .

等待片刻后,检查 Operator 是否正常运行:

kubectl get pods -n awx

4. 设置默认命名空间

为方便后续操作,可以设置默认命名空间:

kubectl config set-context --current --namespace=awx

部署 AWX 实例

1. 创建 AWX 实例配置文件

创建一个 awx-demo.yml 文件定义 AWX 实例:

apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
  name: awx-demo
spec:
  service_type: nodeport

对于 OpenShift 环境,可以使用 Route:

apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
  name: awx-demo
spec:
  service_type: clusterip
  ingress_type: Route

2. 更新 Kustomization

将新创建的 AWX 实例配置添加到 kustomization.yaml

resources:
  - <awx-operator配置路径>?ref=<版本号>
  - awx-demo.yml

3. 部署 AWX 实例

应用配置以创建 AWX 实例:

kubectl apply -k .

验证部署

1. 检查资源状态

查看创建的 Pod 和服务:

kubectl get pods -l "app.kubernetes.io/managed-by=awx-operator"
kubectl get svc -l "app.kubernetes.io/managed-by=awx-operator"

2. 查看 Operator 日志

监控部署进度:

kubectl logs -f deployments/awx-operator-controller-manager -c awx-manager

3. 访问 AWX

部署完成后,AWX 将通过 NodePort 服务暴露。访问地址通常是:

http://localhost:<分配的NodePort>/

4. 获取管理员密码

默认管理员用户是 admin,密码存储在 Secret 中:

kubectl get secret awx-demo-admin-password -o jsonpath="{.data.password}" | base64 --decode ; echo

注意事项

  1. 版本一致性:确保 Operator 版本与 AWX 实例配置兼容
  2. 资源限制:生产环境应考虑设置适当的资源限制
  3. 持久化存储:默认配置可能不适合生产环境,应考虑配置持久化存储
  4. 高可用性:对于生产环境,应考虑配置高可用选项
  5. 网络配置:不同 Kubernetes 发行版可能需要不同的网络配置

结语

通过以上步骤,你已经成功在 Kubernetes 集群上部署了一个基本的 AWX 实例。这为后续的自动化运维工作奠定了基础。对于生产环境,建议进一步研究安全配置、持久化存储和高可用性等高级主题。

登录后查看全文
热门项目推荐
相关项目推荐