[英]Changing Ansible dynamic inventory order based on target group health check status
我正在嘗試通過 Ansible 在 ALB 后面的 AWS EC2 2 節點集群上設置滾動部署。 對於串行的每個節點,粗略的過程是這樣的——
+----------+ +----------+ +----------+
|Remove app| |Redeploy | |Add back |
|from load |-->|new app |-->|to load |
|balancer | | | |balancer |
+----------+ +----------+ +----------+
我使用 Ansible 動態清單來選擇我的節點,默認情況下它們按 IP 地址排序。 現在在部署之前考慮這 4 個場景——
現在在場景 #3 下,我最終會刪除唯一的健康節點。 我如何避免這種情況?
要么在您的劇本中添加一個步驟來執行健全性檢查,如果剩余的健康節點數量少於一個,則不允許您從負載均衡器中刪除節點
或者
首先找出如何優先從負載均衡器中刪除不健康的節點。 能否將節點按健康檢查狀態分組,然后先處理不健康的節點? 或者交替更改排序順序,使其按健康檢查狀態而不是按 IP 地址?
作為替代方法 - 在刪除舊節點之前,您不能添加新節點嗎?
好的,既然你有一個healthy
標志,用它來包含一個update
角色:
- hosts: all
gather_facts: yes
tasks:
- include_role:
role: update
when: not healthy
- include_role:
role: update
when: healthy
這樣,首先處理不健康的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.