当前位置: 首页 > 工具软件 > minishift > 使用案例 >

awx文件_如何在Minishift上运行AWX

夏经武
2023-12-01

awx文件

红帽的Ansible Tower产品的上游版本是AWX 。 这是一个容器化的解决方案,这意味着您需要一个容器协调器来运行和维护它。 巧妙的本地安装选项是Minishift ,它运行OKD ,这是Red Hat的Minikube版本,这使得在本地运行Kubernetes更加容易。

如果您已经在使用Minishift ...

首先,为确保一切顺利,请删除所有旧的Minishift实例。


   
   
$ minishift stop && minishift delete
$ rm -rf ~/.minishift ~/.kube

还要删除您可能躺在附近的任何旧的minishift-addons

下载并安装Minishift

从其GitHub存储库下载最新版本的Minishift。 (在发布时,该版本为v1.25.0,我将它与VirtualBox一起用于MacOS。)

$ tar zxfv下载文件并将minishift- *二进制文件放在您的路径中的某个位置。 我用/ usr / local / bin / minishift

我在Minishift上遇到的最大问题是升级,在升级中,较早的Minishift或oc二进制文件会引起冲突。 (oc是OKD的命令行界面。)

AWX至少需要安装四个具有8GB的内核,因此请设置一些限制(如果可以,请提供更多功能)。


   
   
$ minishift config set vm-driver virtualbox
$ minishift config set cpus 4
$ minishift config set memory 8gb
$ minishift config view

确保安装了默认加载项,因为我们需要“管理员用户”,以便我们可以更改集群级别


   
   
$ minishift addons install --defaults
$ minishift addons enable admin-user
$ minishift addons list
​$ minishift start

还有几个步骤…

在安装AWX之前,还需要设置其他几件事。

首先,请确保选择正确的oc二进制文件,否则事情可能会变得很奇怪。

 $ eval $(minishift docker-env) 

普通用户(在此示例中为“开发人员”)需要额外的权限才能在集群级别执行操作。


   
   
$ oc login -u admin -p admin --as=system:admin
$ oc adm policy add-cluster-role-to-user cluster-admin developer --as=system:admin

AWX剧本的安装会创建一个项目,但提前创建它不会造成任何影响,因此您拥有数据库的持久存储卷(PV)。

 $ oc new-project awx 

使用以下内容创建一个名为pvc.yml的文件:


   
   
$ cat > pvc.yml <<EOF
apiVersion: "v1"
kind: "PersistentVolumeClaim"
metadata:
 name: "postgresql"
spec:
 accessModes:
  - "ReadWriteMany"
 resources:
  requests:
   storage: "20Gi"
 volumeName: pv0001
EOF

Minishift在安装过程中会创建许多PV。 只是要求其中之一。

 $ oc get pv 

要查看它们并选择一个空闲的,请替换卷名(在上面的示例中为“ pv0001”)(如果已使用)。 例如,

 $ oc create -f pvc.yml 

将对PV提出索赔,由安装程序获取,并用作Postgres数据库的PV。

 $ oc get pvc  

检查输出显示PV为Bound:

NAME

STATUS

VOLUME

CAPACITY

ACCESS MODES

STORAGECLASS

AGE

postgresql

Bound

pv0001

100Gi

RWO,ROX,RWX

10s

安装AWX

最后,该安装AWX了。 输入:


   
   
$ git clone https://github.com/ansible/awx.git
$ cd awx/installer

对清单文件进行更改,以使事情适合您的环境。

 $ cp inventory inventory.old 

以下适用于我的清单文件:


   
   
$ cat > inventory <<EOF
localhost ansible_connection=local ansible_python_interpreter="/usr/bin/env python"


[all:vars]


dockerhub_base=ansible
dockerhub_version=latest


openshift_host=192.168.99.100:8443
openshift_project=awx
openshift_user=developer
openshift_skip_tls_verify=True
openshift_pg_emptydir=False


postgres_data_dir=/tmp/pgdocker
host_port=80
docker_compose_dir=/var/lib/awx


pg_username=awx
pg_password=awxpass
pg_database=awx
pg_port=5432

rabbitmq_password=awxpass
rabbitmq_erlang_cookie=cookiemonster

admin_user=admin
admin_password=password
secret_key=awxsecret
EOF

您可能需要更改openshift_host IP。 通过运行以下命令检查您的:

 $ minishift ip 

现在您可以开始了!

 $ ansible-playbook -i inventory install.yml -e openshift_password=developer -e docker_registry_password=$(oc whoami -t) 

该剧本将触发各种任务; 有些可能会失败(如果失败,它们会以红色显示)。 这通常很好。 我的安装过程大约需要5-6分钟。

使用以下命令登录到Minishift控制台:

 $ minishift console 

以及凭据开发人员/开发人员以了解幕后情况。

从GUI中选择awx项目,然后将开始创建pod和容器。

请注意,一旦建立了Postgres数据库, ansible-tower-management窗格就会来来去去。 任务[kubernetes:迁移数据库]从playbook run中执行此操作

几分钟后,您应该获得摘要,例如:


   
   
< PLAY RECAP >

 ------------

    \ ^__^

     \ (oo)\_______

      (__)\   )\/\

        ||----w |

        ||  ||



localhost         : ok=35 changed=17 unreachable=0  failed=0

只要unreachable = 0failed = 0 ,就应该设置好。

单击GUI中awx资源下的路由 ,您应该能够登录AWX GUI管理员/密码(来自上面的清单文件)。

确保豆荚圈为蓝色,因此为“就绪”。

两个潜在的陷阱

Minishift或oc二进制文件与所使用的发行版不同步。 即使它看起来可行(在某种程度上),但如果有疑问,请吹掉旧的配置!

PVC声明似乎捕获了pv0001周围的引号,并且不会绑定,所以我删除了它们,它开始起作用。 这可能是复制和粘贴错误。


本文的原始版本已发布在LinkedIn上 ,并经作者许可转载。

翻译自: https://opensource.com/article/18/10/how-run-awx-minishift

awx文件

 类似资料: