如何在 Kubernetes 集群上安装 Ansible AWX

在本文中,我们将逐步向你展示如何在 Kubernetes(k8s)集群上安装 Ansible AWX。

如何在 Kubernetes 集群上安装 Ansible AWX

在本文中,我们将逐步向你展示如何在 Kubernetes(k8s)集群上安装 Ansible AWX。

Ansible AWX 是一个强大的开源工具,用于管理和自动化 IT 基础设施。AWX 为 Ansible 提供图形用户界面,使你可以轻松创建、安排和运行 Ansible 剧本 Playbook

另一方面,Kubernetes 是一种流行的容器编排平台,广泛用于部署和管理容器化应用。

先决条件:

  • Kubernetes 集群
  • Kubectl
  • 具有 sudo 权限和集群管理员权限的普通用户
  • 互联网连接

步骤 1:安装 Helm

如果你的系统上安装了 Helm,则在命令下运行以进行安装,

“`
$ curl -fsSL -o gethelm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
$ chmod +x get
helm.sh
$ ./get_helm.sh
$ helm version

“`

Install-helm-linux-command-line

步骤 2:安装 AWX chart

在 Kubernetes 上安装 AWX 的最简单方法是使用 AWX Helm “ 海图 chart ”。因此,要通过 “海图” 安装 AWX,首先使用以下 helm 命令添加仓库。(LCTT 译注:Kubernetes 生态中大量使用了和航海有关的比喻,因此本文在翻译时也采用了这些比喻)

“`
$ helm repo add awx-operator https://ansible.github.io/awx-operator/
“awx-operator” has been added to your repositories
$

“`

注意:如果你之前已经添加过此仓库,请在命令下运行以获取最新版本的软件包。

“`
$ helm repo update

“`

要通过 Helm 安装 awx-operator,请运行:

“`
$ helm install ansible-awx-operator awx-operator/awx-operator -n awx –create-namespace

“`

helm-install-awx-operator-kubernetes

这将下载 AWX 海图并将其安装在 awx 命名空间中的 Kubernetes 集群上。安装过程可能需要几分钟,请耐心等待。

步骤 3:验证 AWX 操作员安装

安装成功后,你可以通过运行以下命令来验证 AWX 操作员 operator 状态:

“`
$ sudo kubectl get pods -n awx

“`

你应该看到这样的东西:

awx-operator-pod-status-kubectl

步骤 4: 创建 PV、PVC 并部署 AWX yaml 文件

AWX 需要 postgres 容器荚 pod 的持久卷。那么,让我们首先为本地卷创建一个存储类。

注意:在本文中,我使用本地文件系统作为持久卷。

“`
$ vi local-storage-class.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: local-storage
namespace: awxprovisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer

“`

保存并关闭文件,然后运行:

“`
$ kubectl create -f local-storage-class.yaml
$ kubectl get sc -n awx
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION
local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer false
$

“`

接下来使用以下 pv.yaml 文件创建持久卷(PV):

“`
$ vi pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: postgres-pv
namespace: awx
spec:
capacity:
storage: 10Gi
volumeMode: Filesystem
accessModes:
– ReadWriteOnce
persistentVolumeReclaimPolicy: Delete
storageClassName: local-storage
local:
path: /mnt/storage
nodeAffinity:
required:
nodeSelectorTerms:
– matchExpressions:
– key: kubernetes.io/hostname
operator: In
values:
– k8s-worker

“`

保存并退出文件。

Postgres-pv-awx-kubernetes

重要说明:确保文件夹 /mnt/storage 存在于工作节点上,如果不存在,则在工作节点上使用 mkdir 命令创建它。在我们的例子中,工作节点是 k8s-worker

执行下面的命令在 awx 命名空间中创建 postgres-pv

“`
$ kubectl create -f pv.yaml

“`

成功创建 PV 后,使用 pvc.yaml 文件创建 PersistentVolumeClaim:

“`
$ vi pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-13-ansible-awx-postgres-13-0
namespace: awx
spec:
storageClassName: local-storage
accessModes:
– ReadWriteOnce
resources:
requests:
storage: 10Gi

“`

posgres-pvc-awx-kubernetes

要创建 PVC,请运行以下 kubectl 命令:

“`
$ kubectl create -f pvc.yaml

“`

使用下面的命令验证 PV 和 PVC 的状态:

“`
$ kubectl get pv,pvc -n awx

“`

现在,我们都准备好部署 AWX 实例了。创建一个包含以下内容的 ansible-awx.yaml 文件:

“`
$ vi ansible-awx.yaml

via: https://www.linuxtechi.com/install-ansible-awx-on-kubernetes-cluster/

作者:Pradeep Kumar 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

主题测试文章,只做测试使用。发布者:eason,转转请注明出处:https://aicodev.cn/2023/06/26/%e5%a6%82%e4%bd%95%e5%9c%a8-kubernetes-%e9%9b%86%e7%be%a4%e4%b8%8a%e5%ae%89%e8%a3%85-ansible-awx/

Like (0)
eason的头像eason
Previous 2023年6月26日
Next 2023年6月26日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信