Ansible Tower的容量規劃與高可用設計
一、Ansible Tower的高可用架構
Ansible tower可以配置集群,如果配置集群,至少有三個節點,並且是奇數個。例如下圖:
三個ansibe tower組成的cluster共享一個postgreSQL資料庫(當然也可以給資料庫做高可用,如Hot standby/streaming replication或者Warm standby/log shipping方式);
每個節點上都有RabbitMQ,RabbitMQ可以連接所有的ansible toewer節點,並做任務下發的負載均衡(任務下發策略後面會提到);
一個任務下發到某一個tower上,任務執行過程中,如果節點出現故障,任務需要重新提交,在其他tower上執行;
Ansible tower集群中的任務有兩類:
housekeeping tasks,它包含:
(1)決定去哪運行job
(2)處理playbook信息
Tower cluster判斷tower成員健康狀態調用:/api/v2/ping
二、Ansible Tower容量規劃
一個Ansible tower最小配置:
2個CPU(硬體超線程)
2GB內存
每個CPU(硬體超線程)最大可以有10個forks,4GB內存可以運行100個forks。
所以:
一個2 CPU、2G內存的tower可以運行20個forks
一個10CPU、4G內存的tower可以最多運行100個forks
當通過訪問呢ansible tower發執行jod請求的時候,tower會計算這個運算這個jbos所需要的運算能capacity。
一個job運行所需要的運算能力公式:
(number of forks on the job) * 10 = (capacity consumed)
其中,number of forks on the job,指的是這個job執行的時候,並發執行節點的數量。例如,一個job是給100個Linux系統打補丁,如果每次對5個機器並發下發任務,那就需要下發20次。這個並發下發的數量,就是number of forks on the job。
那麼,怎麼計算一個tower的運算能力呢?參照公式:
50 + ((total memory in megabytes) / 1024) - 2) * 75
我們想像一個場景:運行一個job,需要50的運算能力,那麼當job發起後,就會到tower集群中,尋找剩餘運算能力不低於50的tower節點去執行。
因此,我們在給ansible tower做配置和設置job fork的時候,就需要盡量合理。
三、Ansible Tower的認證方式
Ansible tower的認證方式有:
Social authentication
Google OAuth2
GitHub OAuth2
Enterprise authentication
Azure Active Directory
SAML authentication
RADIUS authentication
LDAP authentication
Kerberos authentication
Active Directory and Kerberos
四、Ansible Tower中的workflow
在Ansible tower中,可以配置workflow。
workflow是將tower中已有的多個job串聯、並聯起來,組成任務流。
workflow的每一步使用不同的Playbook、Inventory和Set of credentials。
局內內容,後面內容會涉及。
五、Ansible Tower安裝
首先查看實驗環境:
下載tower軟體包:
配置ansible tower集群的清單文件:
執行ansible tower cluster的安裝:
安裝完畢:
通過瀏覽器訪問tower1:
配置psotgres資料庫複製:
PostgreSQL Database for Replication創建配置文件
在tower集群中tower1創建用戶
tower2上也可以看到這個用戶:
創建孤立節點:
執行playbook:
安裝成功:
再度登錄ansible tower,可以看到孤立組:
六、Ansible Tower配置與LDAP的認證
查看tower集群:
安裝openldap的客戶端:
查看ldap中的信息:
配置LDAP:
配置完成以後,可以使用ldap的用戶登錄Ansible tower。
下載tower軟體包:
魏新宇
"大魏分享"運營者、紅帽資深解決方案架構師
專註開源雲計算、容器及自動化運維在金融行業的推廣
擁有紅帽RHCE/RHCA、VMware VCP-DCV、VCP-DT、VCP-Network、VCP-Cloud、ITIL V3、Cobit5、C-STAR、AIX、HPUX等相關認證。
文章打賞隨意(轉發和讚賞都是對作者原創的鼓勵):
TAG:大魏分享 |