日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

背景

在單個Kubernetes集群中,所有pod共用同一個網段且可以與其他pod通信,在網絡隔離和多租戶方面存在不足。Kubernetes提供了基于Network Policy的原生網絡隔離規則,但是沒有具體的實現,并且這種原生的隔離存在局限性,租戶不能對網絡進行單獨設置而是采用Kubernetes集群統一的配置,導致所有租戶共用一個網段、DNS、路由等。因此我們提供了一種能實現租戶間徹底的網絡隔離以及各租戶能夠獨立進行網絡規劃和配置的華云SDN CNI的網絡隔離方法。

華云SDN CNI簡介

本文的網絡隔離方法是基于華云SDN CNI的一種實現。華云SDN是安超云推出的一種高效、安全的網絡解決方案,華云SDN可以同時納管多個Kubernetes集群、多個安超集群、多個裸機和多個vmware集群,實現網絡互通。華云SDN CNI則是基于華云SDN的Kubernetes集群容器網絡解決方案,它實現了pod、service以及ingress等網絡資源的通信,以下是pod從創建到CNI分配網絡以及跨節點通信的網絡架構圖:

華云SDN CNI網絡隔離方案

華云SDN CNI提供了四種網絡隔離模式:

默認模式:這是基于華云SDN CNI的Kubernetes集群的默認網絡模式,在該模式下,集群中所有的pod共用同一個網絡,所有pod之間可以互相通信。不同Kubernetes集群之間相互隔離。

空間隔離模式:在該模式下,設置了隔離屬性的命名空間是孤立的,不能從其他命名空間訪問該命名空間中的 pod,反之亦然。

租戶模式:在該模式下,通過在Kubernetes集群中創建network crd的方式,為某個namespace創建多個網絡,并指定某個網絡為該namespace的默認網絡,此 namespace中創建的所有pod都默認使用這個網絡。該模式與空間隔離模式區別在于空間隔離模式是基于集群名稱和命名空間名稱新建一個pod和service網絡,但是共用集群默認的ipam,為pod和service分配的網段與集群默認的一致。而租戶模式是通過network crd 的方式,為某個namespace創建并指定了一個自定義網絡,使用自定義創建的ipam,為pod分配自定義的網段。

自定義網絡模式:在該模式下,創建pod時可以指定任意一個pod網絡,該網絡可以是其他集群的pod網絡。

默認模式

當Kubernetes集群完成華云SDN CNI部署后,CNI的控制器華云SDN-kube-manager根據配置的集群名稱和pod/service cidr創建一個由該集群所有命名空間共享的虛擬pod/service網絡和ipam。

集群中所有pod IP地址默認通過該pod ipam分配,創建的所有命名空間的pod共用同一個網絡和網段,因此可以互相通信。

集群中所有service IP地址默認通過service ipam分配。service網絡與pod網絡通過Network Policy打通,實現了pod與service的通信。

由于不同Kubernetes集群會創建不同的pod和service網絡,因此不同集群之間pod和service相互隔離。

空間隔離模式

創建namespace時,通過在namespace上添加注釋:華云SDN/isolation: true來實現命名空間的pod和service隔離。

CNI的控制器華云SDN-kube-manager在watch到namespace創建事件時,當獲取到華云SDN/isolation參數的值為true,就基于集群名稱和命名空間名稱新建一個pod和service網絡,ipam共用集群默認的。

隔離命名空間中所有pod IP地址通過上述新建的pod ipam分配,共用同一個網絡和網段,因此隔離命名空間中的pod可以互相通信。并且隔離命名空間的pod網絡和隔離命名空間的service網絡以及集群默認service網絡通過Network Policy打通,實現了隔離命名空間的pod與隔離命名空間的service以及集群默認service間的通信。

由于隔離命名空間的pod和service網絡是獨立的,隔離命名空間的pod與其他pod網絡沒有打通,其他pod網絡也沒有與隔離命名空間的service網絡打通,因此實現了隔離命名空間的pod與其他命名空間的pod相互隔離,其他命名空間的pod也不能訪問隔離命名空間的service。

租戶模式

通過在Kubernetes中創建network crd的方式,為某個命名空間創建多個自定義的pod網絡和ipam,并指定某個網絡為該namespace的默認網絡。在該命名空間內創建pod會默認使用該pod網絡和ipam來實現網絡分配。創建自定義網絡的yaml如下:

apiVersion: "k8s.cni.cncf.io/v1"

kind: NetworkAttachmentDefinition

metadata:

name: network-test

namespace: network-test

annotations:

"華云SDN/cidr": "81.244.0.0/16"

spec:

config: '{

"cniVersion": "0.3.0",

"type": "contrail-k8s-cni"

}'

租戶命名空間的pod共用同一個自定義網絡和ipam,它們之間可以相互通信。由于和其他pod網絡默認不通,因此實現了租戶命名空間的pod和其他命名空間的pod間的隔離。

自定義網絡模式

創建pod時,通過在pod上添加注釋:"華云SDN/network": "{'net_id':'xxx', 'subnet_id': 'xxx'}"來設置自定義網絡,這里要求這個網絡必須是一個pod-network,可以是其他集群的pod網絡。

使用同一個自定義網絡的pod間可以互相通信,但是和其他網絡的pod之間相互隔離。可以通過Network Policy或添加路由器來實現打通。

總結

針對Kubernetes集群中的pod網絡隔離,華云SDN CNI提供了四種網絡隔離方法,實現了租戶間徹底的網絡隔離和各租戶能夠獨立進行網絡規劃和配置,很大程度上滿足了不同場景下針對于pod網絡隔離的應用。

分享到:
標簽:隔離 方法 網絡 華云 SDN CNI
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定