品嘗阿里雲容器服務:食用注意事項


1、修改集群負載均衡的“域名設置”時,需要重新部署 acsrouting (容器服務內置的路由服務),不然訪問時會出現 “503 Service Unavailable. No server is available to handle this request.” 錯誤。

2、使用集群的負載均衡,只需在編排文件的 labels 中添加 aliyun.routing.port_80 ,千萬不要添加 aliyun.lb.port_80: tcp://lb-xxxxxxxx:80 ,不然刪除“應用”時會把集群的負載均衡解綁。

3、集群的負載均衡默認會配置為四層負載均衡,也可以改為七層負載均衡,后端監聽端口依然是9080,只需把監聽協議改為 http/https ,但需要注意的是健康檢查的配置,檢查路徑需要設置為 /haproxy-monitor ,這是針對 ascrouting 的健康檢查。

4、acsrouting 在路由時會將請求轉發到對應容器的80端口,所以容器內的應用程序需要監聽在80端口。

5、編排文件不支持 build 與 dockerfile 標簽。

6、如果在編排文件中有對 volumes 中的文件進行修改的操作,“重新部署”應用時會不起作用,需要使用“變更配置”。

7、使用NAS數據卷在編排文件中添加 volumes 配置時,注意不要用卷名(雖然幫助文檔是這么說的),要用掛載點路徑,比如:- /mnt/acs_mnt/nas/appsettings:/appsettings 。

8、“Docker鏡像倉庫”的鏡像構建功能不支持腳本,只支持單個 dockerfile ,無法實現基於不同鏡像對代碼進行 docker run 與 docker build (差點因此食物中毒)。

9、編排文件中填寫的service名稱並不是實際的服務名稱,實際的服務名稱是“應用名稱_service名稱”。

10、“重新部署”或者“變更配置”時,如果鏡像不變,有時容器不會被重啟,可通過“重新部署”+“變更配置”聯合操作臨時解決這個問題。

11、配置基於域名的路由時,如果域名有三級(比如 test.q.cnblogs.com),要寫完整主機名(aliyun.routing.port_80: test.q.cnblogs.com);如果寫“aliyun.routing.port_80: test.q”,路由地址將是 test.q ,沒有后綴。

12、在集群中添加已有節點,該節點不會被自動添加集群所綁定 RDS 的白名單中,需要自己手動添加。

13、有時會出現路由錯亂的嚴重問題,請求被隨機轉發到集群中的任一容器,目前唯一的臨時解決方法是刪除集群上的所有應用並重建(就如同你點的是茶香雞,上來的卻是外婆紅燒肉,而唯一的解決方法竟然是你要重新點菜)。

14、建議集群中每個節點的內存配置不低於4G,在內存低於4G的情況下很容易出現節點死機問題。我們被這個問題折騰的差點崩潰,后來換成5個2核4G的節點才穩定下來(就如飯店包廂有最低消費)。

15、有時系統應用(比如acslogging、acsrouting、acsvolumedriver)會無緣無故地處於失敗狀態,重新部署一下即可。

7月18日更新:因阿里雲容器服務路由錯亂的問題而食物中毒,被逼上自建 docker swarm 的梁山。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM