玩久了ansible後,就會想要練習寫roles讓一些工作模組化,寫久了roles就會想要把一些flow可視化 我絕對不會說是為了讓高層知道我在幹嘛而去做這件事
前言
其實一開始我們就有這套工具,但那時候是跟ELK的server放同一台,然後我手上又在建置gitea+drone的CICD,所以就先放著了。
最近回去玩的時候發現超lag,反應速度什麼的都太慢,而且ELK已經搬進K8s了,理論上那台已經沒有其他工具在上面運作。
所以我就去找了官方的文件才找到最低標準要2 CPU / 4G RAM
,然後看了看我們server上的規格我就直接開一台新的來跑 還好之前有先跟主管說過了
前置作業
AWX是ansible Tower的免費版本,稍微查一下就可以知道,就像Fedora是RHEL的免費版是一樣的,Tower是真的要收費,雖然可以拿到60天的免費企業試用版,但是需求沒到這麼高的話直接就用AWX吧,AWX雖然是免費版,但是有些限制還是在的,違反就沒免費版囉,記得看清楚免費版權聲明
除了上述的那個規格以外,我是直接用ansible的方式部署docker在server上
,很繞口沒錯,官方提供了幾個方式OpenShift、Kubernetes、Docker Compose
,但是都要先用ansible才有辦法進行下一步(openshift我記得要收費,然後K8s的話是用helm),然後官方需求Ansible 2.8+
、Python 3.6+
,這兩個是必要注意的,不過Python的部份不確定是不是本機端有就好,因為網路上有看到server使用Python 3.6+
的處理方式,有興趣可以狗狗看。如果是用K8s安裝的要注意他需求是3 CPU / 6G RAM
。
安裝
記得先去看release的版本,建議是直接拿新版本比較好
版號取代x.y.z就可以
git clone -b x.y.z https://github.com/ansible/awx.git
接下來改installer/inventory
,如果是remote server的話就直接把localhost刪掉改成ansible的格式就好,接著是相關設定,像是TLS
、儲存的位置、私有的dockerhub url、postgres…etc,都是在這個檔案裡設定 (這邊可以直接參考官方的Github)
都好了就直接ansible-playbook -i inventory install.yml
但是我第一次直接失敗,然後再執行一次就成功了 WTF
感想
AWX在安裝上還是使用ansible的方式部署自己我覺得蠻有趣的,不過這方式對第一次接觸ansible的使用者可能就會看不懂或是不了解,建議是玩一陣子再試試AWX。這篇沒有太多的技術含量只能算是注算事項,細節的部份下一篇才會講。