k8s網路之cilium網路

2022-09-06 23:18:31 字數 1519 閱讀 5968

cilium是一種開源網路實現方案,與其他網路方案不同的是,cilium著重強調了其在網路安全上的優勢,可以透明的對kubernetes等容器管理平台上的應用程式服務之間的網路連線進行安全防護。

cilium在設計和實現上,基於linux的一種新的核心技術ebpf,可以在linux內部動態插入強大的安全性、可見性和網路控制邏輯,相應的安全策略可以在不修改應用程式**或容器配置的情況下進行應用和更新。

cilium在其官網上對產品的定位稱為「api-aware networking and security」,因此可以看出,其特性主要包括這三方面:

提供kubernetes中基本的網路互連互通的能力,實現容器集群中包括pod、service等在內的基礎網路連通功能;

依託ebpf,實現kubernetes中網路的可觀察性以及基本的網路隔離、故障排查等安全策略;

依託ebpf,突破傳統主機防火牆僅支援l3、l4微隔離的限制,支援基於api的網路安全過濾能力。cilium提供了一種簡單而有效的方法來定義和執行基於容器/pod身份(identity based)的網路層和應用層(比如http/grpc/kafka等)安全策略。

簡單介紹一下安裝:

參考官網用helm安裝

helm repo add cilium

結合直接實際情況修改

我這邊預設用的就是10.0.0.0/8 的網段,所以不需要修改

我們使用cilium,乙個很大的原因,為了流量的可觀察性,所以我們部署hubble。

hubble是乙個用於cloud native工作負載的完全分布式的網路和安全性可觀察性平台,它基於cilium和ebpf構建,以完全透明的方式實現對服務以及網路基礎架構的通訊和行為的深入可見性。

配置外部ng ,實現訪問svc

最終的效果圖

k8s網路基礎

為了保證網路方案的標準化 擴充套件性和靈活性,k8s 採用了 container networking inte ce cni 規範。cni 是由 coreos 提出的容器網路規範,它使用了外掛程式 plugin 模型建立容器的網路棧。它要求任何實現機制都必須滿足以下需求 因為k8s只約定了網路實現...

k8s 網路模式

1 clusterip kind service apiversion v1 metadata name my service spec selector ports protocol tcp port 80 targetport 80 root k8s master rc test kubectl...

k8s解除安裝flannel網路

在工作中,由於不同的需求,需要更換cni外掛程式 此場景為,解除安裝flannel網路,更換為calico網路 建議 在生產場景中,建議提前規劃好k8s的網路,如果中途更換網路外掛程式,產生的影響會比較大 解除安裝flannel網路步驟 第一步,在master節點刪除flannel kubectl ...