作者: 清弦
阿里云技術(shù)專家挟阻,主要負責(zé)ACK 容器網(wǎng)絡(luò)設(shè)計與研發(fā),阿里云開源CNI項目Terway 主要維護者嗦枢,Cilium Alibaba IPAM 貢獻者
本文翻譯自
Cilium 1.10 發(fā)布文檔[1]
由于譯者水平有限攀芯,本文不免存在遺漏或錯誤之處。如有疑問文虏,請查閱原文侣诺。 以下是譯文殖演。
- Egress IP Gateway
- BGP for LoadBalancer VIP
- 阿里云集成
- Wireguard 透明加密
- Cilium ARM64 鏡像
- Cilium CLI
- Cilium網(wǎng)絡(luò)性能改進
- XDP-based Standalone Load Balancer
Cilium 團隊宣布 Cilium 1.10 版本正式發(fā)布。此版本總共包含了 2042 個新的提交年鸳。280位貢獻者來自不同的企業(yè)包括: 阿里巴巴趴久、Datadog、Google搔确、 Isovalent彼棍、 SuSE、Palantir 等膳算。 無論是自建數(shù)據(jù)中心座硕,還是云上使用Cilium的用戶,對更好涕蜂、更廣泛的網(wǎng)絡(luò)集成提出了很多反饋坎吻。 此版本的主要重點是確保Kubernetes網(wǎng)絡(luò)與企業(yè)內(nèi)部部署基礎(chǔ)結(jié)構(gòu)之間的無縫集成。
Egress IP gateway: 當(dāng)將云原生應(yīng)用程序與在集群之外運行的傳統(tǒng)應(yīng)用程序集成時宇葱,由于Pod IP比傳統(tǒng)網(wǎng)絡(luò)更具彈性瘦真,因此IP地址管理可能會成為一個難題。 通過新的Kubernetes CRD黍瞧,可以在數(shù)據(jù)包離開Kubernetes集群時將靜態(tài)IP與流量相關(guān)聯(lián)诸尽。 這使外部防火墻可以識別固定IP,并且過濾特定pod的流量印颤。
[More details][2]
Integrated BGP Support: 我們簡化了通過BGP公告 Kubernetes service IP的功能您机,以允許外部負載輕松和集群內(nèi)云原生應(yīng)用程序進行通信。 在1.10版本中年局,我們在Cilium中集成了 BGP 服務(wù)公告际看,因而無需任何其他外部組件就能暴露這些 service。
[More details][3]
-
獨立 Load Balancer: Cilium的高性能矢否、強大的負載平衡實現(xiàn)針對云原生環(huán)境的規(guī)模和客戶需求進行了調(diào)整仲闽。 現(xiàn)在,您可以使用Cilium作為獨立的負載平衡器來替換網(wǎng)絡(luò)中昂貴的硬件負載均衡僵朗。 無需Kubernets赖欣,也可使用DSR和Maglev在本地環(huán)境中處理南北流量。
[More details][4]
-
PCAP Recorder 通過全部或部分抓包验庙,在獨立負載均衡器模式下提供可觀測性能力顶吮。
[More details][5]
-
PCAP Recorder 通過全部或部分抓包验庙,在獨立負載均衡器模式下提供可觀測性能力顶吮。
除了著眼于與更廣泛的網(wǎng)絡(luò)集成外,我們還致力于簡化Cilium安裝部署粪薛,進一步提升網(wǎng)絡(luò)性能悴了,并添加了一系列急需的功能:
支持 Wireguard: 作為最受人追捧的功能之一,Cilium現(xiàn)在支持使用Wireguard協(xié)議替代現(xiàn)有IPsec實現(xiàn)對集群中Pod之間的流量進行加密。
[More details][6]
集群管理 CLI (New): 增加了實驗性的Cilium CLI 工具湃交,通過自動檢測您的環(huán)境限制并使用最佳選項集來配置Cilium熟空,從而簡化了安裝、故障排除和功能啟用巡揍。
[More details][7]
更好的性能: Cilium現(xiàn)在具有跳過 Netfilter 連接跟蹤的功能,改進了北/南服務(wù)處理菌瘪,并且通過改進的Linux隧道將吞吐量性能提高了一倍腮敌。
[More details][8]
更多增強: 該版本帶來了對
[Kubernetes雙棧][9]
,[阿里云原生IPAM][10]
,并發(fā)布[ARM64的第一個官方版本][11]
。新的 Rancher 歉眷、Rancher Kubernetes Engine 指南使得在本地Kubernetes環(huán)境中部署Cilium更容易屡萤。
Egress IP Gateway
主要貢獻: Yongkun Gui (Google) and Bolun Zhao (Google)
隨著Kubernetes成為應(yīng)用容器化的標準平臺,將這些新服務(wù)連接到遺留環(huán)境變得很痛苦沃疮。傳統(tǒng)工作負載具有可以被防火墻識別的固定且唯一的IP。當(dāng)容器根據(jù)需要伸縮時,來自容器應(yīng)用程序的流量將來自許多不同的IP刨裆,通常會以每個容器所在節(jié)點的IP的形式出現(xiàn)。這使得很難為應(yīng)用程序設(shè)置安全邊界并審核其行為彬檀。
1.10版本將出口網(wǎng)關(guān)功能引入了Cilium》校現(xiàn)在,Cilium允許用戶指定出口NAT策略窍帝,以便將所選的Pod的出口流量偽裝成用戶定義的IP地址努潘。如下圖所示,來自工作節(jié)點中運行的Pod的流量不是通過eth0直接流出坤学,而是通過網(wǎng)關(guān)節(jié)點從群集中流出疯坤。在此節(jié)點上,將應(yīng)用SNAT為出站流量提供一致的外部IP深浮。從那里压怠,可以將網(wǎng)絡(luò)組件配置為根據(jù)源IP地址不同地處理流量。例如飞苇,傳統(tǒng)防火墻能夠通過完全匹配入站流量的源IP地址來過濾源自具有特定標簽的Pod的流量刑峡。
例下面策略,Cilium 會把 default 命名空間下玄柠,發(fā)到外部地址 192.168.33.13/32的 Pod的流量突梦,重定向到 192.168.33.100的(網(wǎng)關(guān))節(jié)點。 可在[入門指南][12]
中找到有關(guān)出口網(wǎng)關(guān)的更多信息羽利。
apiVersion: cilium.io/v2alpha1
kind: CiliumEgressNATPolicy
metadata:
name: egress-sample
spec:
egress:
- podSelector:
matchLabels:
# The following label selects default namespace
io.kubernetes.pod.namespace: default
destinationCIDRs:
- 192.168.33.13/32
egressSourceIP: "192.168.33.100"
BGP for LoadBalancer VIP
主要貢獻: Chris Tarazi (Isovalent)
隨著Kubernetes在本地環(huán)境中變得越來越普遍宫患,用戶在其環(huán)境中越來越多地同時使用傳統(tǒng)應(yīng)用程序和Cloud Native應(yīng)用程序。 為了將它們連接在一起并允許外部訪問这弧,需要一種機制來集成Kubernetes和運行BGP的現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)娃闲。
Cilium 1.10版本帶來了對BGP的集成支持虚汛,將Kubernetes暴露于外部,同時簡化了用戶的部署皇帮。 集成通過[MetalLB][13]
進行卷哩,利用了service IP 和BGP的L3協(xié)議支持。 現(xiàn)在Cilium 可為LoadBalancer的service 分配 IP属拾,并通過BGP向其BGP路由器通告它們将谊。 現(xiàn)在無需其他組件就可以把 serivce 暴露到集群外部。
將來渐白,我們計劃也支持通過BGP發(fā)布Pod CIDR和出口IP網(wǎng)關(guān)尊浓。 這將進一步改善Cloud Native與傳統(tǒng)環(huán)境之間的橋梁。以下是用于配置Cilium的BGP功能的ConfigMap示例纯衍。 配置的兩個主要方面是對等方和地址池栋齿。 前者用于與網(wǎng)絡(luò)中現(xiàn)有的BGP路由器連接,因此需要IP地址和ASN襟诸。 后者是Cilium將為LoadBalancer服務(wù)分配IP的池瓦堵。
apiVersion: v1
kind: ConfigMap
metadata:
name: bgp-config
namespace: kube-system
data:
config.yaml: |
peers:
- peer-address: 10.0.0.1
peer-asn: 64512
my-asn: 64512
address-pools:
- name: default
protocol: bgp
addresses:
- 192.0.2.0/24
更多請參閱文檔中的[BGP指南][14]
。
阿里云集成
主要貢獻: Bokang Li (Alibaba)
Cilium 支持從公有云上分配IP給Pod歌亲,之前已經(jīng)支持的有 AWS ENI (v1.6)谷丸、Azure (v1.8)模式。 在1.10版本里增加了阿里云的支持应结,使得 Cilium 可以直接為Pod 分配 ENI (Elastic Network Interface)上的IP刨疼。
這種模式下,Cilium 為Pod 直接分配 ENI 的IP鹅龄,這個地址在阿里云的 VPC 上可以被直接路由揩慕。這種模式簡化了 Pod 間流量模型避免了封裝、SNAT扮休。作為云原生的網(wǎng)絡(luò)解決方案迎卤,用戶可以輕易使用云企業(yè)網(wǎng)(CEN)、VPN網(wǎng)關(guān)將自建集群接入到阿里云上玷坠。
更多信息參考[阿里云使用文檔][15]
Wireguard 透明加密
主要貢獻: Martynas Pumputis (Isovalent) and Sebastian Wicki (Isovalent)
在1.10版本中蜗搔,我們加入Wireguard協(xié)議進行透明加密。 透明加密是一項功能八堡,可確保Pod之間的流量通過安全隧道傳輸樟凄,從而允許用戶在不受信任的網(wǎng)絡(luò)中運行Kubernetes。 自1.4版開始兄渺,Cilium就已經(jīng)支持通過IPSec進行透明加密》炝洌現(xiàn)在,我們也引入了 Wireguard。Wireguard 協(xié)議不允許對諸如密鑰大小和密碼套件之類的參數(shù)進行調(diào)整叔壤,這使其非常易于使用并簡化了部署和操作瞎饲。 每個節(jié)點的加密密鑰對由Cilium自動生成,并且密鑰旋轉(zhuǎn)由Wireguard內(nèi)核模塊透明地執(zhí)行炼绘。
對于某些工作負載嗅战,Wireguard還具有優(yōu)于IPSec的性能優(yōu)勢。 在我們最近的[CNI性能分析][16]
博客文章中俺亮,我們對這兩種協(xié)議進行了評估驮捍,發(fā)現(xiàn)Wireguard可以為流工作負載實現(xiàn)非常高的吞吐量,但是IPSec仍可以實現(xiàn)更好的延遲铅辞,并且在某些情況下可以將加密算法卸載到CPU厌漂。 上圖顯示了我們實驗的簡短摘錄萨醒,請閱讀完整的博客以獲取更多詳細信息斟珊。
Wireguard的另一個技術(shù)優(yōu)勢是,它可以很好地集成到Cilium datapath 體系中富纸。 由于安全隧道是作為Linux網(wǎng)絡(luò)接口公開的囤踩,因此Wireguard可以非常輕松地標記來自容器的數(shù)據(jù)包以進行加密,然后將其轉(zhuǎn)發(fā)到安全隧道設(shè)備晓褪。 下面的動畫顯示了Cilium中Wireguard加密數(shù)據(jù)包的路徑:
Cilium 1.10中直接路由和隧道模式均支持的Wireguard加密堵漱,如果基礎(chǔ)Linux內(nèi)核支持的話,也可以在托管Kubernetes環(huán)境中啟用Wireguard加密涣仿。 當(dāng)前缺少對主機級別加密以及Cilium L7 策略和可觀測性的支持勤庐,并將在后面Cilium版本中添加。 如果您想了解有關(guān)Cilium中的Wireguard集成的更多信息好港,請確保觀看[eCHO第3集直播的錄制][17]
愉镰,并閱讀Cilium文檔中的[入門指南][18]
。
Kubernetes 雙棧
主要貢獻: Deepesh Pathak (Microsoft), André Martins (Isovalent)
Cilium 創(chuàng)建之初就支持 IPv4 / v6雙棧钧汹。 在Cilium的早期原型中也支持 IPv6 單棧模式丈探。 鑒于Kubernetes一直缺乏雙棧支持,Cilium 對Pods拔莱、 Services的 IPv6 支持有點麻煩碗降。 在最新的Kubernetes 穩(wěn)定版本中IP雙棧已經(jīng)默認開啟: [Kubernetes 1.21默認開啟IP雙棧(beta)][19]
。 Cilium IPv4/v6 雙棧功能可以通過 helm 部署時開啟塘秦,設(shè)置 ipv6.enabled
:
$ helm install cilium cilium/cilium --version 1.10.0 \
--namespace kube-system \
--set ipv4.enabled=true \
--set ipv6.enabled=true
$ kubectl get cep -n kube-system
NAME ENDPOINT ID IDENTITY ID ENDPOINT STATE IPV4 IPV6
coredns-755cd654d4-msqgm 2205 11023 ready 10.16.115.242 fd02::71cf
Cilium ARM64 鏡像
主要貢獻: André Martins (Isovalent)
在以前的版本中讼渊,Cilium核心團隊已在ARM64平臺上提供了快照以用于初始測試。 但是沒發(fā)布到Cilium的官方鏡像尊剔。 在個迭代中我們對鏡像構(gòu)建進行了一些改進精偿,以允許自動構(gòu)建多架構(gòu)鏡像docker鏡像。 從Cilium 1.10開始,Docker Hub和Quay.io上的官方Cilium存儲庫將托管這些多架構(gòu)鏡像笔咽。 在ARM64上安裝Cilium與在其他平臺上安裝類似搔预,使用與AMD64 docker鏡像相同的映像標簽。 這讓Cilium 具備在AWS Graviton 實例叶组、Azure Linux/ARM64 Pipelines 等一系列新硬件上運行的能力拯田。 Cilium甚至可以在智能手機上運行!
Armbian trunk on a Snapdragon 835 (OnePlus 5) running k8s and Cilium eBPF @armbian @ciliumproject @kubernetesio pic.twitter.com/QXMCiox12X — Ricardo Pardini (@SilvioSantoZ) May 12, 2021
Cilium CLI
提供了一個新的[CLI][20]
甩十,可用于安裝和管理Cilium群集船庇。 CLI直接連接Kubernetes API,并提供各種功能來管理Cilium侣监。 該CLI 兼容Cilium的舊版本鸭轮。
檢查Cilium安裝狀態(tài),并快速顯示故障狀態(tài)橄霉。
自動檢測特定Kubernetes環(huán)境(datapath窃爷,IPAM等)的理想配置選項。
啟用Hubble觀測性和Relay組件姓蜂。
管理多集群連接和狀態(tài)按厘。
執(zhí)行連接性和一致性測試,以驗證集群中的網(wǎng)絡(luò)功能钱慢。
集群范圍 Cilium Status
cilium status
命令可以快速檢查 Cilium 安裝狀態(tài)逮京。可顯示不正常組件數(shù)量束莫、節(jié)點故障的狀態(tài)懒棉。
$ cilium status
/ˉˉ\
/ˉˉ\__/ˉˉ\ Cilium: OK
\__/ˉˉ\__/ Operator: OK
/ˉˉ\__/ˉˉ\ Hubble: disabled
\__/ˉˉ\__/ ClusterMesh: disabled
\__/
Deployment cilium-operator Desired: 2, Ready: 2/2, Available: 2/2
DaemonSet cilium Desired: 2, Ready: 2/2, Available: 2/2
Containers: cilium Running: 2
cilium-operator Running: 2
Image versions cilium quay.io/cilium/cilium:v1.10.0: 2
cilium-operator quay.io/cilium/operator-generic:v1.10.0: 2
連通性和一致性測試
新增 cilium connectivity test
命令,可以快速驗證網(wǎng)絡(luò)览绿、 kubernets service策严、network policy 是否按預(yù)期工作,是驗證 Cilium 正常工作的理想工具挟裂。
$ cilium connectivity test
? [gke_cilium-dev_us-west2-a_test-21504] Creating namespace for connectivity check...
? [gke_cilium-dev_us-west2-a_test-21504] Deploying echo-same-node service...
[...]
---------------------------------------------------------------------------------------------------------------------
[pod-to-pod] Testing cilium-test/client-68c6675687-tcw9f -> cilium-test/echo-other-node-588bf78fbb-84fvc...
---------------------------------------------------------------------------------------------------------------------
? [pod-to-pod] cilium-test/client-68c6675687-tcw9f (10.96.6.173) -> cilium-test/echo-other-node-588bf78fbb-84fvc (10.96.5.226)
[...]
---------------------------------------------------------------------------------------------------------------------
Test Report
---------------------------------------------------------------------------------------------------------------------
? 9/9 tests successful (0 warnings)
Cilium網(wǎng)絡(luò)性能改進
主要貢獻: Gilberto Bertin (Isovalent), Kornilios Kourtis (Isovalent) and Daniel Borkmann (Isovalent)
接[之前版本工作][21]
享钞,我們繼續(xù)嚴格評估Cilium的網(wǎng)絡(luò)性能。我們在[博文][22]
中總結(jié)了我們的最新發(fā)現(xiàn)诀蓉,并將其整合到[Cilium的文檔][23]
中栗竖。我們對比不同場景,展示了 eBPF 帶來的低延遲渠啤、高吞吐的 CNI 狐肢,以及 Wireguard 和 IPsec 的對比。
在我們深入的性能評估的指導(dǎo)下沥曹,Cilium 1.10包括許多 datapath 改進份名,這次主要集中在VXLAN / Geneve隧道性能以及減少Netfilter開銷上碟联。 最為顯著地::
[BPF host routing][24]
已擴展為支持封裝。 這意味著在直接路由和隧道模式下均可以使用eBPF最大化性能僵腺。 由于不再需要上主機堆棧處理網(wǎng)絡(luò)流量鲤孵,因此可以將南北服務(wù)處理與直接路由模式相提并論。我們定位并
[解決][25]
了Linux內(nèi)核中的性能問題辰如,該問題導(dǎo)致VXLAN和Geneve的UDP封裝數(shù)據(jù)包的GRO聚合被延遲普监,導(dǎo)致與Cilium封裝一起使用時性能欠佳。 該修復(fù)程序已回合到所有穩(wěn)定的內(nèi)核(例如4.9)琉兜,并已集成到下游發(fā)行版(如Ubuntu LTS變體)中凯正。 在我們的測試環(huán)境中,這使VXLAN和Geneve封裝的 Gbit/s 級流量TCP單流吞吐速率提高了一倍以上豌蟋。最后廊散,現(xiàn)在可以將Cilium配置為跳過Netfilter conntrack:我們引入了一個新的配置項
--install-no-conntrack-iptables-rules
,該選項允許在任何可能的情況下跳過Netfilter連接跟蹤梧疲。 您可以在[調(diào)優(yōu)指南][26]
中閱讀更多內(nèi)容允睹。
Case 1: Pod 到 Pod 隧道模式
對Pod 間使用 VXLAN/Geneve 隧道互訪場景,吞吐性能有顯著提升(通過netperf TCP_STREAM 測試)往声。 我們對Linux內(nèi)核的GRO引擎進行了小幅改進擂找,該引擎通過將MTU大小的數(shù)據(jù)包聚合到64k個超級數(shù)據(jù)包來優(yōu)化Linux的堆棧遍歷戳吝,從而降低了每個數(shù)據(jù)包的堆棧處理成本浩销。
Case 2: 主機到 Service/Pod 隧道模式
對于外部客戶端(例如NodePort service)訪問Pod 情況,可以應(yīng)用與[之前][27]
直接路由情況相同的改進听哭。 轉(zhuǎn)發(fā)可以直接在tc eBPF層中執(zhí)行慢洋,而不必將數(shù)據(jù)包推入主機棧。 這將顯著提高單流吞吐量(TCP_STREAM)陆盘,并顯著減少延遲(TCP_RR TCP_CRR)普筹。 當(dāng)數(shù)據(jù)包必須走隧道時(例如Pod 到Pod),這時收益不明顯隘马,因為這要求通過上層UDP堆棧太防。但對后端在本地節(jié)點的收益明顯。 一個典型的例子是NodePort 服務(wù)并且指定了 externalTrafficPolicy=Local
酸员。
Case 3: Pod 到 Pod 直接路由模式
對于最后一種情況蜒车,我們研究了流量通過 Netfilter 子系統(tǒng)時的性能影響。 發(fā)現(xiàn)特別是Netfilter 連接跟蹤模塊會給 fast-path 增加大量成本幔嗦。由于我們實現(xiàn)了基于eBPF 的源地址轉(zhuǎn)換酿愧,我們可以跳過連接跟蹤。改進后連接/請求/響應(yīng)類型的工作負載(TCP_CRR)性能幾乎提升了一倍邀泉。
XDP-based Standalone Load Balancer
主要貢獻: Daniel Borkmann (Isovalent), Martynas Pumputis (Isovalent), Chris Tarazi (Isovalent) and Sebastian Wicki (Isovalent)
Cilium基于eBPF的負載均衡器最新增加了對[Maglev][28]
一致性哈希的支持以及[eXpress數(shù)據(jù)路徑][29]
(XDP)層的轉(zhuǎn)發(fā)平面加速嬉挡,從而顯著提高了魯棒性和負載均衡效率钝鸽。這些功能目標是替代kube-proxy,同時也為可編程的高性能第4層負載均衡器(L4LB)框架鋪平了道路庞钢,我們在1.10版本中添加了該框架拔恰。 Cilium XDP L4LB 帶有完整的IPv4/v6 雙棧支持,可以獨立于Kubernetes進行部署基括。我們共同維護的Linux內(nèi)核中的XDP層提供了接近于DPDK的性能仁连,同時通過在驅(qū)動程序?qū)又羞\行eBPF程序,搭載Linux的NAPI機制來更有效地利用CPU資源阱穗。絕大部分的10G饭冬,40G和100G NIC驅(qū)動程序,LTS內(nèi)核均支持XDP揪阶。 為了更好地理解Cilium XDP L4LB的功能和架構(gòu)昌抠,可見下圖:
Cilium 基于XDP 的L4 負載均衡由下面兩部分組成:
高性能轉(zhuǎn)發(fā)平面,eBPF 程序運行在驅(qū)動層鲁僚,以便Maglev一致哈希以L4 DNAT從服務(wù)表中選擇后端炊苫,然后將數(shù)據(jù)包盡快回出節(jié)點盡可能possible,
Cilium編排API,以便對主要服務(wù)表和通配的n元組PCAP記錄器進行編程和利用冰沙,該記錄器可用于過濾和觀察L4LB的入站和相應(yīng)出站流量侨艾。
通過集成到XDP層和Maglev 后端狀態(tài)保持,L4LB可以隨著NIC接收隊列的CPU的數(shù)量線性擴展拓挥。鑒于負載均衡器設(shè)計的效率和較低的CPU開銷唠梨,Cilium XDP L4LB也可以與常規(guī)工作負載并置。 盡管Cilium的XDP L4LB入門指南尚在開發(fā)中侥啤,但請參閱[示例DaemonSet][30]
以了解如何部署負載平衡器当叭。 入門指南發(fā)布后,我們將更新盖灸。
DSR with IPIP Encapsulation and L4 DNAT
Cilium的XDP L4LB實現(xiàn)了直接服務(wù)器返回(DSR)蚁鳖,用于將請求轉(zhuǎn)發(fā)到后端節(jié)點,這是通過將客戶端請求封裝到 IPIP/IP6IP6 數(shù)據(jù)包中來實現(xiàn)的赁炎。 內(nèi)層 IP 頭包含原始請求醉箕,因此后端節(jié)點具有完整的上下文,可以直接向客戶端發(fā)送答復(fù)徙垫,從而節(jié)省了反向路徑的額外跳數(shù)讥裤。 L4LB DNAT 后端可以配置為 service 或者 pod ip。 對于即將發(fā)布的版本松邪,我們計劃將其擴展到其他封裝機制坞琴。
n-Tuple PCAP Recorder
在一組不斷處理每秒數(shù)億個數(shù)據(jù)包的Cilium XDP L4LB中,如何才能有效地找到來排除故障或觀察一小部分網(wǎng)絡(luò)流量呢逗抑?由于XDP在常規(guī)網(wǎng)絡(luò)堆棧以下運行剧辐,現(xiàn)有工具(例如tcpdump)并不可用寒亥。 在Cilium XDP L4LB的數(shù)據(jù)路徑中,設(shè)置有兩個觀察點荧关,以便過濾并記錄LB入站流量及其對應(yīng)的出站流量溉奕。這就使得我們可以觀測流量通過負載均衡后下一跳路徑。 L4LB 過濾器支持通配符和n元組表達式忍啤,當(dāng)然也支持 IPv4/v6加勤,這意味著允許匹配源和目標前綴,端口和協(xié)議的任意組合同波。支持導(dǎo)出為PCAP文件鳄梅,以通過Wireshark,tcpdump或其他熟悉的工具進行檢查未檩。
PCAP記錄器對XDP datapath 里面大流量進行優(yōu)化戴尸,可通過新的Hubble Recorder API 調(diào)用。 為了方便起見冤狡,我們還為Hubble CLI添加了支持孙蒙,作為Hubble Recorder API 用法的一個示例。 上面的示例演示如何通過在Hubble CLI中指定5元組過濾器來捕獲從任何源到目標 192.168.33.11:80
L4LB轉(zhuǎn)發(fā)的TCP服務(wù)流量悲雳。 PCAP記錄器目前僅在Cilium的新XDP L4LB模式下可用挎峦,未來計劃支持分析集群內(nèi)東西向流量。
參考資料
https://docs.cilium.io/en/v1.10/gettingstarted/egress-gateway/
https://docs.cilium.io/en/v1.10/gettingstarted/alibabacloud-eni/
https://docs.cilium.io/en/v1.10/gettingstarted/encryption-wireguard/
https://kubernetes.io/docs/concepts/services-networking/dual-stack/
https://cilium.io/blog/2020/11/10/cilium-19#performance-testing-framework
https://docs.cilium.io/en/v1.10/operations/performance/benchmark/
https://cilium.io/blog/2020/11/10/cilium-19#virtual-ethernet-device-optimization-with-ebpf
https://docs.cilium.io/en/v1.10/operations/performance/tuning/#bypass-iptables-connection-tracking
https://cilium.io/blog/2020/11/10/cilium-19#virtual-ethernet-device-optimization-with-ebpf
https://cilium.io/blog/2020/11/10/cilium-19#maglev-load-balancing
https://cilium.io/blog/2020/06/22/cilium-18#kube-proxy-replacement-at-the-xdp-layer
https://github.com/cilium/cilium-l4lb-test/blob/master/cilium-lb-example.yaml
關(guān)注公眾號: Knative合瓢,了解更多 Serverless 坦胶、Knative,云原生相關(guān)資訊
關(guān)注公眾號歪玲,回復(fù) "進群"迁央,即可進群與眾多云原生 Serverless 技術(shù)大佬探討技術(shù)掷匠,探討人生滥崩。