如何進(jìn)行TungstenFabric與K8s集成及創(chuàng)建隔離命名空間

本篇文章為大家展示了如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

專(zhuān)注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)瑞麗免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了超過(guò)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

K8s與Tungsten Fabric集成后有四種配置模式,分別為:默認(rèn)模式、自定義隔離模式、命名空間隔離模式、嵌套模式。
默認(rèn)模式:Tungsten Fabric創(chuàng)建一個(gè)由所有命名空間共享的虛擬網(wǎng)絡(luò),并從中分配service和pod的IP地址,在Kubernetes集群中產(chǎn)生的所有命名空間中的所有pod都能夠彼此通信。
自定義隔離模式:管理員和應(yīng)用程序開(kāi)發(fā)人員可以添加注釋?zhuān)?quot;opencontrail.org/network: <fq_network_name>")來(lái)指定虛擬網(wǎng)絡(luò)。在這個(gè)虛擬網(wǎng)絡(luò)中,一個(gè)命令空間中的一個(gè)或所有pod將在這個(gè)虛擬網(wǎng)絡(luò)中被啟動(dòng)。如果該注釋是在pod上配置的,那么pod將在該網(wǎng)絡(luò)中啟動(dòng);如果注釋是在命名空間中配置的,那么命名空間中的所有pod都將在該網(wǎng)絡(luò)中啟動(dòng)。
命名空間隔離模式:集群管理員可以在創(chuàng)建新的命令空間時(shí),添加注釋?zhuān)?quot;opencontrail.org/isolation : true")以啟用命令空間隔離。因此,該命名空間中的服務(wù)不能從其他命名空間訪問(wèn),除非明確定義了安全組或網(wǎng)絡(luò)策略以允許訪問(wèn),或者啟動(dòng)注釋?zhuān)?quot;opencontrail.org/isolation.service : false")單獨(dú)允許該命名空間的service可以被其他命令空間的pod訪問(wèn)。
嵌套模式:Tungsten Fabric支持與基于OpenStack虛擬機(jī)部署的Kubernetes集群集成。Tungsten Fabric提供了一個(gè)可折疊的控制和數(shù)據(jù)平面,一個(gè)TF控制平面和一個(gè)網(wǎng)絡(luò)堆棧管理和服務(wù)同時(shí)在OpenStack和Kubernetes兩個(gè)集群中。有了統(tǒng)一的控制和數(shù)據(jù)平面,可以無(wú)縫地交互和配置這些集群,不需要單獨(dú)為每個(gè)集群部署TF。
 

創(chuàng)建隔離命名空間


在此將會(huì)創(chuàng)建一個(gè)隔離的命名空間,名為isolated-ns,具體配置文件如下:
 
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

執(zhí)行kubectl的創(chuàng)建命令之后,對(duì)應(yīng)的命名空間隨即被創(chuàng)建。
 
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

而在TF上也會(huì)有對(duì)應(yīng)的policy和虛擬網(wǎng)絡(luò)被創(chuàng)建出來(lái),分別為:
TF policy: k8s-isolated-ns-pod-service-np
這條TF policy的作用,是允許附加了該條策略的虛擬網(wǎng)絡(luò)能夠訪問(wèn)命令空間isolated-ns中的service clusterip。
TF network: k8s-isolated-ns-pod-network , k8s-isolated-ns-service-network

這兩個(gè)網(wǎng)絡(luò)分別使用了命名空間default里面的IPAM,所以在這個(gè)命令空間isolated-ns中默認(rèn)創(chuàng)建出來(lái)的pod和service所分配的IP所屬的IP池,與命名空間default中的一樣,即pod(10.32.0.0/12)和service(10.96.0.0/12)。
 
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

驗(yàn)證與非隔離命令空間的網(wǎng)絡(luò)連通性


接下來(lái)在隔離的命令空間isolated-ns中創(chuàng)建pod和service,驗(yàn)證isolated-ns與其他命令空間的連通性。
首先在default和isolated-ns兩個(gè)命令空間中分別創(chuàng)建兩個(gè)pod和一個(gè)service。
 
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

所以目前的資源為:
2個(gè)命名空間:default,isolated-ns
2個(gè)service:nginx-default (10.105.147.31),nginx-isolated (10.97.162.157)
4個(gè)pod:
nginx-default-test01 (10.47.255.251)
nginx-default-test02 (10.47.255.250)
nginx-isolated-test01 (10.47.255.249)
nginx-isolated-test02 (10.47.255.247)
 
網(wǎng)絡(luò)連通性驗(yàn)證流程:
1. 從命名空間default中的pod nginx-default-test01去ping其他三個(gè)pod,結(jié)果是pod nginx-default-test01只能連通同一命名空間中pod,而無(wú)法連通隔離命名空間中的pod。
    
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

2. 從命名空間isolated-ns中的pod nginx-isolated-test01去ping其他三個(gè)pod,結(jié)果是pod nginx-isolated-test01只能連通同一命名空間中pod,而無(wú)法連通其他命名空間中的pod。
 
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

3. 從命名空間default中的pod nginx-default-test01去curl分別在兩個(gè)命令空間中的service,結(jié)果是pod nginx-default-test01只能請(qǐng)求default和kube-system這些非隔離命名空間中的service,而無(wú)法請(qǐng)求隔離命名空間中的service。
 
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

4. 從命名空間isolated-ns中的pod nginx-isolated-test01去curl分別在兩個(gè)命令空間中的service,結(jié)果是pod nginx-isolated-test01只能請(qǐng)求default和kube-system這些非隔離命名空間中的service,而無(wú)法請(qǐng)求隔離命名空間中的service,即便該service在自己所在的命名空間。
 
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

所有驗(yàn)證結(jié)果綜合起來(lái)就是,非隔離命名空間和隔離命名空間之后建的pod默認(rèn)無(wú)法互訪——即便在相同的IPAM中,并且非隔離命名的service可以被任何pod訪問(wèn),而隔離命名空間的service默認(rèn)無(wú)法被訪問(wèn)。
現(xiàn)在需要添加TF policy讓pod之間,pod和service之間能夠連通。
對(duì)于pod之間的訪問(wèn),需要添加如下TF policy,該條policy是連接兩個(gè)網(wǎng)絡(luò),k8s-default-pod-network與k8s-isolated-ns-pod-network。
 
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

創(chuàng)建完成,分別將這條Policy附加到隔離命名空間和非隔離命令空間的pod網(wǎng)絡(luò)上,k8s-default-pod-network與k8s-isolated-ns-pod-network。
 
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間
 
此時(shí)再進(jìn)行pod之間的網(wǎng)絡(luò)連接驗(yàn)證,結(jié)果是兩個(gè)命名空間的pod之間已經(jīng)能夠通信。
 
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

對(duì)于pod與service之間的訪問(wèn),需要添加如下TF policy,該條policy是允許指定網(wǎng)絡(luò)能夠訪問(wèn)isolated-ns的service。
 
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

創(chuàng)建完成后,再將這條Policy附加到隔離命名空間和非隔離命令空間的pod網(wǎng)絡(luò)上,k8s-default-pod-network與k8s-isolated-ns-pod-network,以及隔離命名空間的service網(wǎng)絡(luò)k8s-isolated-ns-service-network上。
 
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間
 
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間

此時(shí)再進(jìn)行pod與service之間的網(wǎng)絡(luò)連接驗(yàn)證,結(jié)果是兩個(gè)命名空間的pod都可以訪問(wèn)到隔離命名空間中的service。
 
如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間
在隔離命名空間和非隔離命名空間的流量全通之后,還可以通過(guò)安全策略去做進(jìn)一步的流量控制。

上述內(nèi)容就是如何進(jìn)行Tungsten Fabric與K8s集成及創(chuàng)建隔離命名空間,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

名稱(chēng)欄目:如何進(jìn)行TungstenFabric與K8s集成及創(chuàng)建隔離命名空間
網(wǎng)頁(yè)網(wǎng)址:http://bm7419.com/article20/igocjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化Google、云服務(wù)器、外貿(mào)建站、企業(yè)建站網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司