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:
| | | | | | |
| | | | | |
安装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 = 0和failed = 0 ,就应该设置好。
单击GUI中awx资源下的路由 ,您应该能够登录AWX GUI管理员/密码(来自上面的清单文件)。
确保豆荚圈为蓝色,因此为“就绪”。
两个潜在的陷阱
Minishift或oc二进制文件与所使用的发行版不同步。 即使它看起来可行(在某种程度上),但如果有疑问,请吹掉旧的配置!
PVC声明似乎捕获了pv0001周围的引号,并且不会绑定,所以我删除了它们,它开始起作用。 这可能是复制和粘贴错误。
本文的原始版本已发布在LinkedIn上 ,并经作者许可转载。
翻译自: https://opensource.com/article/18/10/how-run-awx-minishift
awx文件