1. 程式人生 > >阿裏雲經典網絡與Rancher VXLAN兼容性問題

阿裏雲經典網絡與Rancher VXLAN兼容性問題

docker 網絡 安全 鏡像 工具 阿裏雲

近期國內很多用戶曝出在阿裏雲的環境中無法使用Rancher的VXLAN網絡,現象是跨主機的容器無法正常通信,healthcheck服務一直無法更新正常狀態。經過一系列走訪排查,最終定位此現象只發生在阿裏雲的經典網絡環境下。如果你也遭遇了同樣的情況,請關註此文。


阿裏雲經典網絡部署最新的stable(v1.6.7)版本並啟用VXLAN網絡,使用經典網絡的內網IP加入兩臺主機,現象如下:


技術分享


Rancher的VXLAN網絡除了VXLAN本身的機制外,還需要在IPtables中的RAW表中進行數據包標記,然後在Filter表中對標記數據包設置ACCEPT規則,進而實現容器跨主機通信。但是在阿裏雲經典網絡環境中,無論如何配置安全組功能,RAW表中始終無法匹配進入主機棧的數據包。


技術分享


依據“大膽假設,小心求證”的troubleshooting原則,首先我們驗證了使用經典網絡的公網IP註冊主機,VXLAN並沒有問題,這說明存在某種安全規則是作用在經典網絡的內網IP的。


技術分享


其次,我們知道Rancher VXLAN的實現是基於Linux kernel的VXLAN module,IPtables的數據包處理也基本是kernel處理,所以理論上講肯定系統中存在權限更高的組件截獲了VXLAN的數據,因為我們測試了在其他公有雲環境並無此問題,考慮阿裏雲會對經典網絡的內網安全做諸多限制,所以懷疑阿裏雲鏡像內做了一些特殊的定制。


以過往使用阿裏雲的經驗,我們對系統中內置的“安全加固”組件疑惑很大,嘗試刪除這個組件,可以使用這個腳本 http://update.aegis.aliyun.com/download/uninstall.sh ,但重啟機器後發現VXLAN網絡依然不通。無法確定是否存在刪除不徹底的情況,所以重建環境並在創建VM時選擇去掉“安全加固”選項。


技術分享


重新添加主機,發現VXLAN一切恢復正常。


技術分享


我們也正在盡力與阿裏雲官方取得聯系,確認這種情況是否存在誤殺。當前可選擇的臨時方案除了按照上面的說明刪除“安全加固”組件外,還可以在創建VM的時候選擇不使用安全加固鏡像,這樣Rancher VXLAN就可以正常工作。


在這裏,非常感謝社區用戶的熱情發問,沒有大家對技術專註的態度和刨根問底的精神,Rancher也無法真正發現問題的根源,Rancher會一如既往地接受用戶的問題與需求,改進自身產品,真真正正能夠提供一個有生產力的工具。

本文出自 “12452495” 博客,請務必保留此出處http://12462495.blog.51cto.com/12452495/1964570

阿裏雲經典網絡與Rancher VXLAN兼容性問題