閱讀339 返回首頁    go windows


服務部署約束(affinity:service)__服務編排文檔_用戶指南_容器服務-阿裏雲

設置該服務的部署約束條件。

容器服務支持 Docker Swarm 兼容的容器部署約束條件,您可以通過 Docker Swarm Filter 控製一個容器的部署。

但是在社區版 Docker Compose 中,卻並沒有相關的能力來控製服務直接的部署約束。

在容器服務中,您可以在 environment 中添加相關 affinity:service,來約束服務之間的親和度(Affinity),達到控製服務部署策略的功能。支持服務之間的 Soft affinityHard affinity

示例:

本示例中,slave 服務設置了 affinity.service!=master 的部署約束。使得 slave 服務一定會選擇沒有部署 master 服務的節點,這樣當一個節點失效時,服務可用性不受影響。當您的集群隻有一個節點的時候,由於指定的是 hard anti-affinity,該部署會失敗,因為部署沒有辦法滿足所指定的強約束條件。

  1. master:
  2. image: mysql:5.6
  3. environment:
  4. - MYSQL_USER=user
  5. - MYSQL_PASS=test
  6. - REPLICATION_MASTER=true
  7. - REPLICATION_USER=repl
  8. - REPLICATION_PASS=repl
  9. ports:
  10. - 3306
  11. slave:
  12. image: mysql:5.6
  13. environment:
  14. - MYSQL_USER=user
  15. - MYSQL_PASS=test
  16. - REPLICATION_SLAVE=true
  17. - affinity:service!=master
  18. ports:
  19. - 3306
  20. links:
  21. - master:mysql

最後更新:2016-12-20 14:43:24

  上一篇:go global__服務編排文檔_用戶指南_容器服務-阿裏雲
  下一篇:go external__服務編排文檔_用戶指南_容器服務-阿裏雲