中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Tungsten Fabric與K8s集成指南丨創建安全策略

發布時間:2020-04-09 02:21:25 來源:網絡 閱讀:126 作者:TF中文社區 欄目:網絡管理

作者:吳明秘

Hi!歡迎來到Tungsten Fabric與Kubernetes集成指南系列,本文介紹如何創建安全策略。Tungsten Fabric與K8s集成指南系列文章,由TF中文社區為您呈現,旨在幫助大家了解Tungsten Fabric與K8s集成的基礎知識。大家在相關部署中有什么經驗,或者遇到的問題,歡迎與我們聯系。

安全策略可以通過限制端口、網絡協議等方式控制任意pod之間的訪問,以及pod與service之間的訪問。在K8s集群中安全策略對應的是Network Policy,在Tungsten Fabric中安全策略對應的Firewall Rule,兩者是會實時同步的。

pod之間的訪問控制

安全策略的控制是全局的,跨命名空間,跨network,所以創建策略的時候要盡可能詳細地指定此端到彼端的一些參數,包括端口、命名空間、IP地址段等等。

根據第二章節的信息,可以知道目前有——

兩個命名空間:test-ns1 test-ns2

三個network:k8s-ns1-pod-net01 k8s-ns1-pod-net02 k8s-ns2-pod-net01

四個pod:
nginx01-ns1-net01
nginx01-ns1-net02
nginx01-ns2-net01
nginx02-ns2-net01

而k8s-ns1-pod-net01與k8s-ns1-pod-net02已經互通(通過新建TF router連通),k8s-ns1-pod-net01 與k8s-ns2-pod-net01已經互通(通過TF Network Policy連通)。

首先,新增一條默認禁止訪問策略,禁止任何流量訪問test-ns1的pod,配置如下:
Tungsten Fabric與K8s集成指南丨創建安全策略

#pod選擇器設置為空,表示選擇所有pod,即控制整個命名空間。
#只寫了ingress生效,又把podSelector設置為空,表示拒絕其它命名空間訪問,拒絕所有入站請求。
#沒有加egress,所以默認egress是允許本命名空間所有pod出站。

創建策略后,驗證從test-ns2的k8s-ns2-pod-net01網絡是否能訪問到test-ns1的k8s-ns1-pod-net01網絡。

驗證過程如下圖所示,首先從test-ns2的pod去ping test-ns1的pod是可以通的,但是在創建了Network Policy之后,就無法ping通了,說明Network Policy限制了從其他地方的流量去訪問test-ns1的pod,而即使是test-ns1內部的pod都無法相互訪問。

Tungsten Fabric與K8s集成指南丨創建安全策略

而再Tungsten Fabric的管理界面上,會看到一條新的Firewall Rule:
Tungsten Fabric與K8s集成指南丨創建安全策略

然后,再新增一條安全策略,允許子網20.10.10.0/24里的pod訪問test-ns1中有標簽為nginx-ns1的pod的80端口(test-ns1中的兩個pod均帶有此標簽),除了IP為20.10.10.3的pod,具體配置如下:

Tungsten Fabric與K8s集成指南丨創建安全策略

創建策略后,驗證從test-ns2的pod是否能訪問到test-ns1的pod的80端口。

驗證過程如下圖所示,首先從test-ns2的兩個pod(20.10.10.1和20.10.10.3)用curl去請求test-ns1 pod(10.10.10.1)的80端口,未新建安全策略前,curl請求均失敗了。

創建安全策略之后,只有pod(20.10.10.1)能成功請求pod(10.10.10.1),而pod(20.10.10.3)無法成功請求對應的80端口,說明新建的策略是正常生效的。

Tungsten Fabric與K8s集成指南丨創建安全策略

Tungsten Fabric上新建了三條對應的Firewall Rule,分別為:

  1. 允許網段10.10.0/24的pod問test-ns1中帶標簽app=nginx-ns1的pod;
  2. 禁止ip為10.10.3/32的pod訪問test-ns1中帶標簽app=nginx-ns1的pod;
  3. 禁止所有的pod訪問test-ns1中帶標簽app=nginx-ns1的pod。

三條規則組合后,就能實現我們預期的pod隔離效果。

Tungsten Fabric與K8s集成指南丨創建安全策略

pod與service之間的訪問控制

K8s的service是一個抽象概念,定義了一個服務的多個pod邏輯合集和訪問pod的策略,一般把service稱為微服務。

在此,首先在test-ns1和test-ns2中都各自新建一個service,配置如下:
Tungsten Fabric與K8s集成指南丨創建安全策略

Tungsten Fabric與K8s集成指南丨創建安全策略

執行kubectl創建命令,兩個service分別在test-ns1和test-ns2中被創建了出來,對應的在Tungsten Fabric的load balancing列表也會生成這兩個service的信息。

Tungsten Fabric與K8s集成指南丨創建安全策略

Tungsten Fabric與K8s集成指南丨創建安全策略

Tungsten Fabric與K8s集成指南丨創建安全策略

通過test-ns1的pod(10.10.10.1),可以使用curl直接請求service的域名。

Tungsten Fabric與K8s集成指南丨創建安全策略

現在通過新建一條K8s的Network Policy,去禁止test-ns1的pod(10.10.10.1)去訪問test-ns2的service(nginx-ns2)。

禁止test-ns1的pod(10.10.10.1)請求test-ns2的service(nginx-ns2)的ClusterIP(10.96.0.12),具體配置如下:

Tungsten Fabric與K8s集成指南丨創建安全策略

驗證流程:

1.test-ns1的pod(10.10.1)在未創建網絡策略deny-service-ip之前,能夠通過curl成功請求test-ns2的service(nginx-ns2),能夠通過nslookup成功請求到kube-system的service(kube-dns);

  1. 在test-ns1命名空間中創建K8s的網絡策略deny-service-ip;

3.test-ns1的pod(10.10.1)在已創建deny-service-ip網絡策略之后,不能夠通過curl成功請求test-ns2的service(nginx-ns2),能夠通過nslookup成功請求到kube-system的service(kube-dns)。

所以網絡策略deny-service-ip確實是禁止了test-ns1的pod(10.10.10.1),而不會影響它訪問其他的service clusterip。
Tungsten Fabric與K8s集成指南丨創建安全策略

(作者來自深圳市天源景云科技有限公司)


“Tungsten Fabric+K8s集成指南”系列文章---

第一篇:部署準備與初始狀態
第二篇:創建虛擬網絡

“Tungsten Fabric+K8s輕松上手”系列文章---

第一篇:TF Carbide 評估指南--準備篇
第二篇:通過Kubernetes的服務進行基本應用程序連接
第三篇:通過Kubernetes Ingress進行高級外部應用程序連接
第四篇:通過Kubernetes命名空間實現初步的應用程序隔離
第五篇:通過Kubernetes網絡策略進行應用程序微分段


Tungsten Fabric與K8s集成指南丨創建安全策略
關注微信:TF中文社區
Tungsten Fabric與K8s集成指南丨創建安全策略

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

杭州市| 行唐县| 上饶县| 赤水市| 彭水| 慈利县| 新建县| 康平县| 左云县| 湾仔区| 邹平县| 子洲县| 宝丰县| 大理市| 法库县| 平度市| 资阳市| 嘉义县| 长子县| 会昌县| 团风县| 璧山县| 平武县| 屏山县| 云梦县| 界首市| 惠安县| 铅山县| 新民市| 玛多县| 江川县| 泰和县| 海城市| 安西县| 郧西县| 灵丘县| 雷山县| 绥滨县| 柞水县| 长春市| 天峨县|