新聞中心
靈雀云劉夢馨:Kubernetes 網(wǎng)絡改進的三項實踐分享
原創(chuàng)
作者:查士加 2018-05-25 15:40:17
云計算
企業(yè)動態(tài) WOT全球軟件與運維技術峰會的開源與容器技術分論壇上,靈雀云Kubernetes首席專家劉夢馨帶來了《Kubernetes 網(wǎng)絡更進一步》的主題演講。

成都創(chuàng)新互聯(lián)公司專注于銅仁網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經驗。 熱誠為您提供銅仁營銷型網(wǎng)站建設,銅仁網(wǎng)站制作、銅仁網(wǎng)頁設計、銅仁網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務,打造銅仁網(wǎng)絡公司原創(chuàng)品牌,更為您提供銅仁網(wǎng)站排名全網(wǎng)營銷落地服務。
【51CTO.com原創(chuàng)稿件】由51CTO主辦的WOT全球軟件與運維技術峰會于5月18日至19日在北京·粵財JW萬豪酒店盛大召開。本次大會匯聚了海內外近百位一線技術***和創(chuàng)新開拓者,開啟了一次圍繞軟件與運維方向的技術干貨與實踐經驗分享的饕餮盛宴。
在5月19日下午的開源與容器技術分論壇上,靈雀云Kubernetes***專家劉夢馨帶來了《Kubernetes 網(wǎng)絡更進一步》的主題演講。
劉夢馨的演講圍繞Kubernetes 網(wǎng)絡模型、Kubernetes網(wǎng)絡模型問題和網(wǎng)絡改進三部分展開。他表示,Kubernetes網(wǎng)絡模型在功能、性能和穩(wěn)定性方面均存在一些問題,靈雀云通過固定IP、IP虛擬服務器(IP Virtual Server,簡寫為IPVS)和自研Ingress的方式加以改進。
[[230514]]
靈雀云Kubernetes***專家 劉夢馨
自研CNI IPAM插件 解決K8s功能問題
首先,在功能方面,Kubernetes 網(wǎng)絡模型由于IP不固定,無法對IP資源進行精細管控,無法使用基于IP的監(jiān)控和基于IP的安全策略,此外,一些IP發(fā)現(xiàn)的服務部署十分困難,給運維人員增加了很大的工作難度。例如由于IP不固定,令很多采用IP固定來做的傳統(tǒng)監(jiān)控和審計機制全部失效。此外,很多軟件是對MAC地址進行授權,IP地址不固定無法購買授權,IP固定的需求在一定場景下客觀存在。
為了解決這一問題,靈雀云把IP當做重要資源,進行單獨管理。靈雀云自研的CNI IPAM 插件,實現(xiàn)了IP導入和IP權限管理功能,可以進行網(wǎng)段的添加和刪除,可在Kubernetes進行網(wǎng)段的精細化配置。例如,給某個業(yè)務或者某幾個用戶分配一個網(wǎng)關,先對IP進行網(wǎng)關設置,路由設置以及DNS設置;有了網(wǎng)段之后,進行IP添加或刪除,哪些IP可用都可以由管理員指定,經過權限和配額之后順利創(chuàng)建服務。
IPVS解決K8S大流量下性能線性下降問題
其次,在性能方面,由于Kubernetes最早是基于Iptables來做的,Iptables 沒有增量更新功能,更新一條規(guī)則需要整體flush,更新時間長,這段時間之內流量會有不同程度的影響;Iptables規(guī)則串行,沒有預料到Kubernetes這種在一個機器上會有很多規(guī)則的情況,流量需要經過所有規(guī)則的匹配,匹配之后再進行轉發(fā),否則對時間、CPN和內存都是極大的消耗,尤其在大規(guī)模情況下對性能的影響十分明顯。
劉夢馨介紹指出,Kubernetes升級到1.8或1.9版本以后,安裝時可以選擇IPVS模式,它是對Iptables的替換,在IPVS模式下添加規(guī)則是增量式的,不會強制進行全量更新,也不會進行串行的匹配,會通過一定的規(guī)則進行哈希map映射,很快地映射到對應的規(guī)則,不會出現(xiàn)大規(guī)模情況下性能線性下降的狀況。目前,IPVS在Kubernetes社區(qū)仍處于試用階段,劉夢馨表示,靈雀云已經開始試用IPVS功能,從使用情況來看,性能十分穩(wěn)定,預計很快會將方案推廣給用戶。
自研OpenResty Ingress 解決K8S穩(wěn)定性問題
***,在穩(wěn)定性方面,Kubernetes網(wǎng)絡缺少健康檢查功能,NodePort 屏蔽了Pod的直接訪問,上層健康檢查失效,網(wǎng)絡分區(qū)、網(wǎng)絡問題導致的轉發(fā)異常時有發(fā)生。
靈雀云采用自研的OpenResty Ingress,方便新增功能,可以進行多端口監(jiān)聽。官方的Nginx Ingress只能監(jiān)聽80和43端口,但很多客戶要對更多的端口進行監(jiān)聽,如根據(jù)端口區(qū)分的服務,靈雀云對此進行了一些改動,其自研的Ingress支持多端口功能。另外,原始Ingress的轉化功能較少且配置復雜,需要不斷更改Nginx config。對于reload,靈雀云用OpenResty實現(xiàn)lua的代碼庫,在lua的代碼里進行流量調度,并設定了特定的DSL流量調度語言,可以通過簡單的程序代碼實現(xiàn)特定的流量規(guī)則,在Ingress流量規(guī)則方面進行了豐富擴展。
在演講的***,劉夢馨列舉了一個用簡單程序代碼實現(xiàn)特定流量規(guī)則的實例:
規(guī)則:域名是 www.baidu.com 或者 baidu.com,路徑是 /search, 源 IP 為 114.114.114.114,header 中 uid 在 100 到 999 或者 10000 到 11000 之間的請求
- (AND (IN HOST www.baidu.com baidu.com) (EQ URL /search) (EQ SRC_IP 114.114.114.114) (OR (RANGE HEADER uid 100 999) (RANGE HEADER uid 10000 11000)))
可以看出,只需簡單的配置域名、路徑、特定范圍內的IP等信息,Dsl就可以實現(xiàn)比較復雜的規(guī)則。
靈雀云是一家專注容器服務和企業(yè)級PaaS的服務商,始終保持著對技術的敏銳和前瞻性理解,在容器領域,靈雀云是國內最早將Kubernetes產品化的專業(yè)服務商,推出了基于Kubernetes的產品Alauda EE,打造客戶容器環(huán)境核心系統(tǒng)以及在DevOps和微服務方面的***實踐。未來,靈雀云將依托強大的產品和服務能力,為傳統(tǒng)企業(yè)數(shù)字化轉型保駕護航。
【51CTO原創(chuàng)稿件,合作站點轉載請注明原文作者和出處為51CTO.com】
分享文章:靈雀云劉夢馨:Kubernetes網(wǎng)絡改進的三項實踐分享
當前地址:http://www.5511xx.com/article/cdjoghd.html


咨詢
建站咨詢
