阿里雲經典網路與Rancher VXLAN兼容性問題
近期,國內不少用戶反映在阿里雲的環境中無法使用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會一如既往地接受用戶的問題與需求,改進自身產品,真真正正能夠提供一個有生產力的工具。
9月27日,北京海航萬豪酒店,容器技術盛會Rancher Container Day 2017來了!
海航、華為、民生、恆豐、電信...中國典型的容器落地企業案例,都來了!
CIO、首席架構師、IT負責人…一眾真·雲計算大咖,共奏容器落地最強音!
聚焦容器技術落地經驗,結合實戰場景,雲計算領域行業領袖將全力助力您洞悉雲端先機!


TAG:RancherLabs |