近期國內不少用戶曝出在阿里雲的環境中沒法使用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會一如既往地接受用戶的問題與需求,改進自身產品,真真正正可以提供一個有生產力的工具。get
9月27日,北京海航萬豪酒店,容器技術大會Container Day 2017即將舉行。產品
CloudStack之父、海航科技技術總監、華爲PaaS部門部長、恆豐銀行科技部總經理、阿里雲PaaS工程總監、民生保險CIO······均已加入豪華講師套餐!
11家已容器落地企業,15位真·雲計算大咖,13場純·技術演講,結合實戰場景,聚焦落地經驗。免費參會+超高規格,詳細議程及註冊連接請戳