@geekpi
https://linux.cn/article-15941-1.html
This commit is contained in:
Xingyu Wang 2023-06-25 17:34:40 +08:00
parent aca87c60d0
commit 202bb7561e

View File

@ -3,29 +3,31 @@
[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-15941-1.html"
如何在 Kubernetes 集群上安装 Ansible AWX
======
在本文中,我们将逐步向你展示如何在 Kubernetes (k8s) 集群上安装 Ansible AWX。
![][0]
Ansible AWX 是一个强大的开源工具,用于管理和自动化 IT 基础设施。AWX 为 Ansible 提供图形用户界面,使你可以轻松创建、安排和运行 Ansible playbook。
> 在本文中,我们将逐步向你展示如何在 Kubernetesk8s集群上安装 Ansible AWX。
Ansible AWX 是一个强大的开源工具,用于管理和自动化 IT 基础设施。AWX 为 Ansible 提供图形用户界面,使你可以轻松创建、安排和运行 Ansible <ruby>剧本<rt>Playbook</rt></ruby>
另一方面Kubernetes 是一种流行的容器编排平台,广泛用于部署和管理容器化应用。
##### 先决条件
先决条件
- Kubernetes 集群
- Kubectl
- 具有 sudo 权限和集群管理员权限的普通用户
- 互联网连接
### 步骤 1安装 helm
### 步骤 1安装 Helm
如果你的系统上安装了 helm则在命令下运行以进行安装
如果你的系统上安装了 Helm则在命令下运行以进行安装
```
$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
@ -38,7 +40,7 @@ $ helm version
### 步骤 2安装 AWX chart
在 Kubernetes 上安装 AWX 的最简单方法是使用 AWX Helm chart。因此要通过 chart 安装 AWX首先使用以下 helm 命令添加仓库。
在 Kubernetes 上安装 AWX 的最简单方法是使用 AWX Helm <ruby>海图<rt>chart</rt></ruby>”。因此,要通过 “海图” 安装 AWX首先使用以下 `helm` 命令添加仓库。LCTT 译注Kubernetes 生态中大量使用了和航海有关的比喻,因此本文在翻译时也采用了这些比喻)
```
$ helm repo add awx-operator https://ansible.github.io/awx-operator/
@ -52,7 +54,7 @@ $
$ helm repo update
```
要通过 chrt 安装 awx-operator请运行:
要通过 Helm 安装 awx-operator请运行:
```
$ helm install ansible-awx-operator awx-operator/awx-operator -n awx --create-namespace
@ -60,11 +62,11 @@ $ helm install ansible-awx-operator awx-operator/awx-operator -n awx --create-na
![helm-install-awx-operator-kubernetes][2]
这将下载 AWX chart 并将其安装在 awx 命名空间中的 Kubernetes 集群上。安装过程可能需要几分钟,请耐心等待。
这将下载 AWX 海图并将其安装在 `awx` 命名空间中的 Kubernetes 集群上。安装过程可能需要几分钟,请耐心等待。
### 步骤 3验证 AWX operator 安装
### 步骤 3验证 AWX 操作员安装
安装成功后,你可以通过运行以下命令来验证 AWX operator 状态:
安装成功后,你可以通过运行以下命令来验证 AWX <ruby>操作员<rt>operator</rt></ruby> 状态:
```
$ sudo kubectl get pods -n awx
@ -76,7 +78,7 @@ $ sudo kubectl get pods -n awx
### 步骤 4 创建 PV、PVC 并部署 AWX yaml 文件
AWX 需要 postgres pod 的持久卷。那么,让我们首先为本地卷创建一个存储类。
AWX 需要 postgres <ruby>容器荚<rt>pod</rt></ruby> 的持久卷。那么,让我们首先为本地卷创建一个存储类。
注意:在本文中,我使用本地文件系统作为持久卷。
@ -100,7 +102,7 @@ local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsu
$
```
接下来使用以下 pv.yaml 文件创建持久卷 (pv)
接下来使用以下 `pv.yaml` 文件创建持久卷PV
```
$ vi pv.yaml
@ -133,15 +135,15 @@ spec:
![Postgres-pv-awx-kubernetes][4]
重要说明:确保文件夹 “/mnt/storage” 存在于工作节点上,如果不存在,则在工作节点上使用 mkdir 命令创建它。在我们的例子中,工作节点是 “k8s-worker”
重要说明:确保文件夹 `/mnt/storage` 存在于工作节点上,如果不存在,则在工作节点上使用 `mkdir` 命令创建它。在我们的例子中,工作节点是 `k8s-worker`
执行下面的命令在 awx 命名空间中创建 postgres-pv。
执行下面的命令在 `awx` 命名空间中创建 `postgres-pv`
```
$ kubectl create -f pv.yaml
```
成功创建 pv 后,使用 pvc.yaml 文件创建 persistentvolumecliam
成功创建 PV 后,使用 `pvc.yaml` 文件创建 PersistentVolumeClaim
```
$ vi pvc.yaml
@ -161,19 +163,19 @@ spec:
![posgres-pvc-awx-kubernetes][5]
要创建 PVC请运行以下 kubectl 命令:
要创建 PVC请运行以下 `kubectl` 命令:
```
$ kubectl create -f pvc.yaml
```
使用下面的命令验证 pv 和 pvc 的状态:
使用下面的命令验证 PV 和 PVC 的状态:
```
$ kubectl get pv,pvc -n awx
```
现在,我们都准备好部署 AWX 实例了。创建一个包含以下内容的 ansible-awx.yaml 文件:
现在,我们都准备好部署 AWX 实例了。创建一个包含以下内容的 `ansible-awx.yaml` 文件:
```
$ vi ansible-awx.yaml
@ -192,13 +194,13 @@ spec:
保存并关闭文件。
执行以下 kubectl 命令来部署 awx 实例:
执行以下 `kubectl` 命令来部署 awx 实例:
```
$ kubectl create -f ansible-awx.yaml
```
等待几分钟,然后检查 awx 命名空间中的 pod 状态。
等待几分钟,然后检查 `awx` 命名空间中的容器荚状态。
```
$ kubectl get pods -n awx
@ -214,7 +216,7 @@ $ kubectl get pods -n awx
$ kubectl expose deployment ansible-awx-web --name ansible-awx-web-svc --type NodePort -n awx
```
此命令将创建一个 NodePort 服务,该服务将 AWX Web 容器的端口映射到 Kubernetes 节点上的端口。你可以通过运行以下命令找到端口号:
此命令将创建一个 `NodePort` 服务,该服务将 AWX Web 容器的端口映射到 Kubernetes 节点上的端口。你可以通过运行以下命令找到端口号:
```
$ kubectl get svc ansible-awx-web-svc -n awx
@ -231,7 +233,7 @@ ansible-awx-web-svc NodePort 10.99.83.248 <none> 8052:32254/TCP 8
![Expose-Ansible-AWX-Web-NodePort-Kubernetes][8]
默认情况下admin 用户是 Web 界面的 admin密码在 <resourcename>-admin-password secret 中。要检索管理员密码,请运行:
默认情况下admin 用户是 Web 界面的 `admin`,密码在 `<resourcename>-admin-password` 机密信息中。要检索管理员密码,请运行:
```
$ kubectl get secrets -n awx | grep -i admin-password
@ -244,7 +246,9 @@ $
你现在可以打开 Web 浏览器并进入 `http://<node-ip>:<node-port>/` 来访问 AWX Web 界面。在上面的示例中URL 是:
```
http://192.168.1.223:3225
```
![AWX-Login-URL-Kubernetes][9]
@ -254,6 +258,8 @@ http://192.168.1.223:3225
恭喜! 你已在 Kubernetes 上成功安装 Ansible AWX。你现在可以使用 AWX 来自动化你的 IT 基础架构,并让你作为系统管理员的生活更轻松。
*题图MJ/bfd354aa-2ee5-4555-98b8-ac5207cbeabe*
--------------------------------------------------------------------------------
via: https://www.linuxtechi.com/install-ansible-awx-on-kubernetes-cluster/
@ -261,7 +267,7 @@ via: https://www.linuxtechi.com/install-ansible-awx-on-kubernetes-cluster/
作者:[Pradeep Kumar][a]
选题:[lkxed][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
@ -276,4 +282,5 @@ via: https://www.linuxtechi.com/install-ansible-awx-on-kubernetes-cluster/
[7]: https://www.linuxtechi.com/wp-content/uploads/2023/05/Ansible-AWX-Pods-Status-Kubernetes.png
[8]: https://www.linuxtechi.com/wp-content/uploads/2023/05/Expose-Ansible-AWX-Web-NodePort-Kubernetes.png
[9]: https://www.linuxtechi.com/wp-content/uploads/2023/05/AWX-Login-URL-Kubernetes.png
[10]: https://www.linuxtechi.com/wp-content/uploads/2023/05/Ansible-AWX-Web-Dashboard.png
[10]: https://www.linuxtechi.com/wp-content/uploads/2023/05/Ansible-AWX-Web-Dashboard.png
[0]: https://img.linux.net.cn/data/attachment/album/202306/25/172630f134fo6cg5gcodu4.jpg