Ansible的大名,对做运维开发的工程师来说没有不知道的,它是开源的配置管理工具,也是最流行的自动化运维工具之一。Ansible tower是Ansible的图形界面化平台,它是RedHat公司的商业应用,也就是说Ansible tower是付费的。既然是RedHat的付费应用,可想而知,它具有很强大、实用的功能,另外它应该会有一个免费的社区版本。
对,那就是awx。Ansible Tower的社区版,功能跟Ansible Tower一样强大,开源免费。

部署安装Awx

安装文档:https://github.com/ansible/awx/blob/devel/INSTALL.md

  1. clone下awx的代码
    1
    $ git clone https://github.com/ansible/awx.git
  2. Openshift集群中创建部署awx的project
    1
    $ oc new-project awx
  3. awx的project下创建PVC,默认pvc名为postgresql
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $ cat << EOF | oc create -f -
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
    name: postgresql
    spec:
    accessModes:
    - ReadWriteOnce
    resources:
    requests:
    storage: 10Gi
    EOF
  4. 配置awx/installer/inventory
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ...
    # Openshift Install
    # Will need to set -e openshift_password=developer -e docker_registry_password=$(oc whoami -t)
    # or set -e openshift_token=TOKEN
    openshift_host=127.0.0.1:8443 # openshift master
    openshift_project=awx # awx部署的project
    openshift_user=developer # openshift集群登录用户名
    openshift_skip_tls_verify=False
    openshift_pg_emptydir=False
    ...
    admin_user=admin # awx登录用户名
    admin_password=password # awx登录密码
  5. 执行部署awx脚本
    1
    2
    $ cd awx/installer/
    $ ansible-playbook -i inventory install.yml -e openshift_password=developer -e docker_registry_password=$(oc whoami -t)
  6. 访问查看
    登录界面

awx界面

参考资料

https://bhirsch.org/2017/09/08/exploring-a-containerized-awx/#content
https://github.com/ansible/awx