從CNCF基金會的成立,到Kubernetes社區蓬勃發展,歷經6載,17年異軍突起,在mesos、swarm等專案角逐中,拔得頭籌,繼而一統容器編排,其成功的關鍵原因可概括為以下幾點:
- 專案領導者們的堅守與遠見
- 社區的良好的運作與社區文化
- 社區與企業落地的正反饋
今天zouyee為大家帶來《一文搞懂Kubernetes網路策略(下)》,其中《kuberneter調度由淺入深:框架》正在撰寫中,敬請期待,當前涉及版本均為1.20.+,
四、NetworkPolicy 開發
? 實作一個支持 Network Policy 的網路擴展需要至少包含兩個組件
- CNI 網路插件:負責給 Pod 配置網路介面
- Policy controller:監聽 Network Policy 的變化,并將 Policy 應用到相應的網路介面
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-LM10DPQi-1610629792292)(https://github.com/feiskyer/kubernetes-handbook/raw/master/plugins/images/policy-controller.jpg)]
性能測驗
下圖基于Kubernetes 1.19版本測驗了以下特性:
1)MTU auto config
2) 帶寬性能: Pod to Pod、Pod to Service(TCP、UDP)
3)資源消耗: Pod to Pod、Pod to Service(TCP、UDP)
4)安全特性:Network Policies、 Encryption等

calico其他詳細的能力說明,可參看官網,
五、未來展望
a. SCTP特性
支持版本: Kubernetes v1.19 [beta]
作為一個 Beta 特性,SCTP 默認是被啟用的, 要在集群層面禁用 SCTP,需要為 kube-apiserver關閉特性--feature-gates=SCTPSupport=false,... 以禁用 SCTP , 啟用該特性后,用戶可以將 NetworkPolicy 的 protocol 欄位設定為 SCTP,
?? CNI插件需要支持SCTP協議
b. 待開發
截止Kubernetes v1.20 ,NetworkPolicy API 還不支持下述功能,
- 強制集群內部流量經過某公用網關(可通過服務網格或其他代理來實作)
- 與 TLS 相關的場景(可使用服務網格或者 Ingress 控制器)
- 實作適用于所有名字空間或 Pods 的默認策略(如calico)
- 高級的策略查詢或者策略驗證相關工具(如calico)
- 在同一策略宣告中選擇目標埠范圍的能力
- 生成網路安全事件日志的能力(例如,被阻塞或接收的連接請求)
- 禁止本地回路或指向宿主的網路流量(Pod 目前無法阻塞 localhost 訪問, 它們也無法禁止來自所在節點的訪問請求),
上述需求可以通過作業系統組件(如 SELinux、OpenVSwitch、IPTables 等) 或者七層技術(Ingress 控制器、服務網格實作)及準入控制器進行功能增強,當然有興趣的可以參考calico及OPA專案,
后續相關內容,請查看公眾號:DCOS

六、參考檔案
- Kubernetes network policies
- Declare Network Policy
- Securing Kubernetes Cluster Networking
- Kubernetes Network Policy Recipes
- fesikyer network policy
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/249426.html
標籤:其他
上一篇:Java 單例模式 探究
下一篇:騰訊檔案和競品產品的產品分析報告
