我正在使用Spinnaker將3層系統部署到QA,然後部署到生產。每個系統中的配置文件指向其他系統。如果我在AMI的QA配置中烘烤,那麼在促銷到Prod時如何更改它?它是1)有兩組不同的AMI--一個用於QA,一個用於Prod,或者2)讓AMI沒有配置,然後在部署後配置它(以某種方式)以更改配置文件? 建議什麼?如何使用Spinnaker配置兩套主機(3個用於QA,3個用於產品)以部署分佈式系統?
0
A
回答
0
您可以在部署時(在羣集配置的高級設置下)爲羣集定義自定義AWS user data。然後,您可以在應用程序中檢索這個用戶數據。這將允許您更改這些類型的配置。
在Netflix中,我們有一系列init腳本被烘焙到基本映像中,並提供了一種通過星雲/ gradle擴展自定義啓動(init.d)腳本的機制。這通常會設置NETFLIX_ENVIRONMENT之類的值,這些值都是衆所周知的並且是針對其編程的。
我們還通過https://github.com/Netflix/archaius使用了一個功能翻轉機制。這允許我們添加集羣外部的屬性,但可以針對它們。
當涉及到安全證書時,本演示文稿中概述了這種方法,但本質上這些映像涉及到發佈這些類型信用的外部服務。 https://speakerdeck.com/bdpayne/key-management-in-aws-how-netflix-secures-sensitive-data-without-its-own-data-center
0
我在我們公司自己也遇到類似的問題。 我的解決方案是使用Packer腳本爲特定目的創建AMI。這使我可以 - 1.儘可能配置服務器,然後將這些配置存儲在AMI中。 2.如有需要,輕鬆更改這些配置。
然後,使用Ansible腳本啓動AMI,並在特定實例上完成所有其餘配置。
在我的情況下,我選擇爲舞臺和製作創建不同的圖像,但主要是因爲它們差別很大。如果他們更相似,我可能會選擇使用兩個AMI。
Ansible爲您提供的優勢是考慮您的配置,包括一次寫入生產服務器和登臺服務器。
相關問題
- 1. 配置nginx以用於Capistrano的Rails分段和生產部署
- 2. 如何將SubSonic 3「SimpleRepository」更改應用於生產系統
- 3. 用於分佈式系統的UML
- 4. 哪些Appender應該用於分佈式系統?如何配置它們?
- 5. Symfony2部署到生產使用Capistrano 3
- 6. 產品兩個β分佈
- 7. Rails 3 Sum兩個字段的產品
- 8. MongoDB複製副本用於兩個站點的生產部署
- 9. 用於連接3個表
- 10. .bat文件適用於兩個域系統,但不適用於其他系統
- 11. 如何在numpy中使用3向外部產品?
- 12. 如何使用Visual Studio部署產品部署文件夾
- 13. 建立兩個獨立的機器之間的SSH連接使用3系統
- 14. 將SLIM 3部署到共享主機
- 15. 用於MVC 3應用程序的用戶/ PW系統
- 16. 用於Rails 3的嵌套式腳手架發電機?
- 17. 如何將簡單產品圖像用於可配置的產品圖像?
- 18. 如何啓用配置虛擬主機讀取系統路徑
- 19. 可以在雲上部署分佈式系統嗎?
- 20. 基於rabbitMQ的分佈式Java系統
- 21. ZeroMQ基於分佈式系統
- 22. 配置虛擬主機以部署rails應用程序
- 23. 如何將3個值應用於每行1行至3行?
- 24. 如何在具有Tomcat + 3外部ZooKeeper的3個不同虛擬機上使用SolrCloud部署Solr?
- 25. 如何在每個產品的foreach循環中分別應用評分系統?
- 26. Rails嵌套佈局 - 可能使用turbolinks 3替換部分?
- 27. Flex 3:用一個按鈕(如手機鍵盤,其中3可以用於D,E,F)寫入多個字符
- 28. 僅使用在SSH配置主機名模式的一部分
- 29. 關於產品使用CELLID
- 30. 關於產品使用.NET