真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

TungstenFabric+K8s輕松上手丨通過Kube

點(diǎn)擊下載文檔,查看本文所有相關(guān)鏈接https://tungstenfabric.org.cn/assets/uploads/files/tf-ceg-case4.pdf

創(chuàng)新互聯(lián)從2013年創(chuàng)立,我們提供高端網(wǎng)站建設(shè)、重慶小程序開發(fā)公司、電商視覺設(shè)計(jì)、重慶APP開發(fā)公司及網(wǎng)絡(luò)營銷搜索優(yōu)化服務(wù),在傳統(tǒng)互聯(lián)網(wǎng)與移動(dòng)互聯(lián)網(wǎng)發(fā)展的背景下,我們堅(jiān)守著用標(biāo)準(zhǔn)的設(shè)計(jì)方案與技術(shù)開發(fā)實(shí)力作基礎(chǔ),以企業(yè)及品牌的互聯(lián)網(wǎng)商業(yè)目標(biāo)為核心,為客戶打造具商業(yè)價(jià)值與用戶體驗(yàn)的互聯(lián)網(wǎng)+產(chǎn)品。

Tungsten Fabric+K8s輕松上手丨通過Kube

在大多數(shù)生產(chǎn)環(huán)境中,需要實(shí)施網(wǎng)絡(luò)訪問控制。Kubernetes提供了一種方法來描述Pod 組應(yīng)該如何通過使用NetworkPolicy資源進(jìn)行通信。

與Kubernetes中的大多數(shù)事情一樣,要使網(wǎng)絡(luò)策略正常運(yùn)行,您需要一個(gè)支持它們的Kubernetes CNI插件。

使用場景

在幾乎所有環(huán)境中,為應(yīng)用程序需要通信的組件建立明確的規(guī)則,都是一個(gè)好主意。Kubernetes網(wǎng)絡(luò)策略規(guī)范是一種直接的方法,可讓您將NetworkPolicy直接與應(yīng)用程序清單集成在一起。

NetworkPolicy定義資源的方式,使您可以精確地指定哪些網(wǎng)絡(luò)通信是被允許的,而哪些則不允許,同時(shí)使用podSelector定義處理在Kubernetes上運(yùn)行的應(yīng)用程序的動(dòng)態(tài)屬性。

這意味著您的策略可以針對單個(gè)Pod或Pod組,從而將安全范圍“縮小”到Pod的大小。

嚴(yán)格定義的網(wǎng)絡(luò)策略與default-deny配置相結(jié)合,可以避免由于惡意應(yīng)用程序入 侵,和/或行為不當(dāng),或者配置錯(cuò)誤而造成的麻煩。例如,一個(gè)應(yīng)用程序組件可能具有滯留的緩存DNS條目或錯(cuò)誤的配置參數(shù),導(dǎo)致它與錯(cuò)誤的后端進(jìn)行通信?;蛘邞?yīng)用程序可能會(huì)被攻陷并被用作跳板,執(zhí)行偵查,嘗試橫向滲 透,或者只是使用Pod對Kubernetes API的訪問權(quán)限來啟動(dòng)一些加密貨幣挖礦Pod,以竊取您的計(jì)算資源。

使用網(wǎng)絡(luò)策略保護(hù)示例應(yīng)用程序的安全

網(wǎng)絡(luò)策略設(shè)計(jì)的主題比本指南中允許的空間要大得多。在此示例中,我們將執(zhí)行以下操作:

  • 為我們的default命名空間創(chuàng)建一個(gè)default-deny Ingress策略。這意味著命名空間內(nèi)的所有傳入Pods的連接必須明確被允許;
  • 為每個(gè)示例應(yīng)用程序組件創(chuàng)建一個(gè)Ingress NetworkPolicy對象,僅允許那些我們確定的對象。

步驟1:明確哪些組件應(yīng)當(dāng)可以相互通信

首先,我們需要提醒自己,應(yīng)用程序的各個(gè)組件應(yīng)該如何通信。為此,我們將回到在簡介中看到的應(yīng)用程序圖:

Tungsten Fabric+K8s輕松上手丨通過Kube

從該圖中可以看到:

  1. 外界需要到達(dá)yelb-ui的TCP端口80-(1)和(2)
  2. yelb-ui需要到達(dá)yelb-appserver的TCP端口4567
  3. yelb-appserver反過來將需要到達(dá)yelb-db的TCP端口5432,以及
  4. .. yelb-cache的TCP端口6379。

步驟2:如何識(shí)別組件?

請記住,NetworkPolicy資源使用選擇器來識(shí)別策略適用于哪個(gè)Pod,以及該策略將要控制的流量的源和目的地是什么。

在本演示中,我們將使用podSelectror方法,因此需要獲取應(yīng)用到應(yīng)用程序Pod的標(biāo)簽列表。讓我們查看cnawebapp-loadbalancer.yaml示例應(yīng)用程序的清單,并收集標(biāo)簽:
Tungsten Fabric+K8s輕松上手丨通過Kube

現(xiàn)在準(zhǔn)備編寫我們的策略。

部署后,這些策略將以以下方式控制應(yīng)用程序組件之間的通信:
Tungsten Fabric+K8s輕松上手丨通過Kube

步驟3:“default-deny”策略

確保您位于沙箱控制節(jié)點(diǎn)上,以root用戶身份登錄,并且位于正確的目錄中:

#確認(rèn)您是root賬戶

whoami | grep root || sudo -s

#切換到清單目錄

cd /home/centos/yelb/deployments/platformdeployment/Kubernetes/yaml

在此步驟中,我們將創(chuàng)建一個(gè)策略,該策略將阻止所有未明確允許的網(wǎng)絡(luò)通信。在這一演示中,我們將只限制Ingress流量;但實(shí)際上,您也可以控制Egress流量(但是這樣做時(shí)要注意這可能會(huì)阻止DNS查詢?。?/p>

cat > yelb-policy.yaml <

該策略基本上說:“對于任何Pod,都應(yīng)用一個(gè)沒有規(guī)則的Ingress策略”,這將導(dǎo)致應(yīng)用這個(gè)策略的,所有流向這個(gè)命名空間Pods的傳入流量被丟棄掉。

步驟4:“yelb-ui”的策略

該yelb-ui和其他組件在某種意義上說有一些不同,因?yàn)樗俏ㄒ灰粋€(gè)可以被從外部訪問的組件。因此,其ingress:定義將使用ipBlock的0.0.0.0/0,以表示“每個(gè)人”:

cat >> yelb-policy.yaml <

該策略表示:“對于具有應(yīng)用標(biāo)簽app: yelb-ui和tier: frontend的Pods,允許傳入來自任何源IP的流量,只要它去往Pod的TCP端口80”。

步驟5:示例應(yīng)用中其他Pod的策略

我們示例應(yīng)用程序中的其他3個(gè)Pod僅會(huì)看到來自其他Pod的流量,因此其策略將使用帶有允許發(fā)送流量的Pod標(biāo)簽的podSelector參數(shù):

cat >> yelb-policy.yaml <

步驟6:在應(yīng)用策略之前測試

為了能有一個(gè)“前后”對比,讓我們部署示例應(yīng)用程序并獲取基線:

#部署我們的應(yīng)用

kubectl create -f cnawebapp-loadbalancer.yaml

等待應(yīng)用啟動(dòng)并在外部可用:

#獲得我們程序yelb-ui Service的外部DNS名字:

kubectl get svc -o wide | grep yelb-ui | awk '{print $4}'

我們應(yīng)該可以看到類似a0b8dfc14916811e9b411026463a4a33-1258487840.us-west-1.elb.amazonaws.com的輸出;在網(wǎng)絡(luò)瀏覽器中打開它;樣本應(yīng)用程序應(yīng)當(dāng)加載了。

接下來,我們知道所有Pod通信都是不受限制的,因此我們應(yīng)該能夠從yelb-ui ping 到y(tǒng)elb-db——這是在應(yīng)用程序正常運(yùn)行且我們不進(jìn)行故障排除動(dòng)作的情況下,本來不應(yīng)該發(fā)生的活動(dòng):

#獲得"yelb-ui"的完整Pod名字

src_pod=$(kubectl get pods | grep yelb-ui | awk '{print $1}')

#獲得"yelb-db"的IP:

db_pod_ip=$(kubectl get pods -o wide | grep yelb-db | awk '{print $6}')

#從"yelb-ui" ping"yelb-db":

kubectl exec -it ${src_pod} ping ${db_pod_ip}

我們應(yīng)該看到該ping命令正在接收響應(yīng);因此存在不受限制的網(wǎng)絡(luò)連接。按^ C停止命令。

步驟7:部署策略并測試結(jié)果

在最后一步,我們將部署策略并觀察其效果:

#部署網(wǎng)絡(luò)策略

kubectl create -f yelb-policy.yaml

運(yùn)行上面的命令后,請等待幾秒鐘以穩(wěn)定下來。Tungsten Fabric將在后臺(tái)生成適當(dāng)?shù)陌踩M,并進(jìn)行安裝。讓我們測試一下我們曾經(jīng)可以正常運(yùn)行的ping命令是否仍然有效:

#從"yelb-ui" ping "yelb-db" again:

kubectl exec -it ${src_pod} ping ${db_pod_ip}

這次,我們看到?jīng)]有響應(yīng),因?yàn)樵撏ㄐ努F(xiàn)在已被該策略阻止。接下來,測試是否仍可以通過網(wǎng)絡(luò)瀏覽器訪問該應(yīng)用——應(yīng)該可以!

步驟8:探索Tungsten Fabric的安全流量組可視化

Tungsten Fabric包含一個(gè)功能,可在“項(xiàng)目”中實(shí)現(xiàn)流量可視化,在我們的案例中,該項(xiàng)目對應(yīng)于Kubernetes Namespace。

要訪問它,請?jiān)L問Carbide Evaluation Page鏈接,用于獲取訪問沙箱控制節(jié)點(diǎn)——在頂部有一個(gè)名為Contrail UI的鏈接,完成login和password的輸入。單擊鏈接,然后在左上角單擊“Monitor”圖標(biāo),然后在菜單中單擊“Security” -> “Traffic Groups”。然后在頂部的標(biāo)簽鏈,在其末尾選擇“k8s-default”:

Tungsten Fabric+K8s輕松上手丨通過Kube

您應(yīng)該看到類似于以下的圖表:

Tungsten Fabric+K8s輕松上手丨通過Kube
繼續(xù)測試。您看到的流,代表示例應(yīng)用程序在做的事情,包括無法從 yelb-uiping到y(tǒng)elb-db,以及yelb-appserver的出站請求(如果我們?nèi)ゲ榭?,將轉(zhuǎn)到y(tǒng)elb-db的DNS查詢)。

清理

一旦進(jìn)行了足夠的探索,可以隨時(shí)清理:

#卸載Network Policy

kubectl delete -f yelb-policy.yaml

#刪除我們的示例應(yīng)用程序:

kubectl delete -f cnawebapp-loadbalancer.yaml

#刪除策略清單:

rm -f yelb-policy.yaml

回顧和資源

對于許多(即使不是全部)生產(chǎn)部署,控制應(yīng)用程序的網(wǎng)絡(luò)通信能力至關(guān)重要。在Kubernetes上運(yùn)行的應(yīng)用程序?qū)崿F(xiàn)此類控件的方法是通過NetwokPolicy資源。但是,要使這些資源真正起作用,您需要一個(gè)支持它們的CNI插件。

Tungsten Fabric提供了完整的NetworkPolicy支持,無論集成Tungsten Fabric的Kubernetes在哪里運(yùn)行,是在私有數(shù)據(jù)中心,還是在公共云中。

網(wǎng)絡(luò)策略可以變得非常簡單或非常復(fù)雜,而找出最適合您的應(yīng)用程序的最佳方法,就是在我們提供的用例和示例基礎(chǔ)上更深入地研究。這里有一些資源可能會(huì)有所幫助:

  • 網(wǎng)絡(luò)策略的詳細(xì)介紹
  • 一個(gè)不錯(cuò)的GitHub存儲(chǔ)庫,其中包含大量具有詳細(xì)文檔的網(wǎng)絡(luò)策略清單示例
  • 在2019 Kubecon上的演講中有一個(gè)介紹網(wǎng)絡(luò)策略的很好的材料

(上述資源鏈接,可點(diǎn)擊下載查看https://tungstenfabric.org.cn/assets/uploads/files/tf-ceg-case4.pdf)


至此,Tungsten Fabric Carbide指南文章系列文章告一段落,往期回顧——

第一篇:TF Carbide 評(píng)估指南--準(zhǔn)備篇
第二篇:通過Kubernetes的服務(wù)進(jìn)行基本應(yīng)用程序連接
第三篇:通過Kubernetes Ingress進(jìn)行高級(jí)外部應(yīng)用程序連接
第四篇:通過Kubernetes命名空間實(shí)現(xiàn)初步的應(yīng)用程序隔離


【號(hào)外】TF中文社區(qū)3月Meetup活動(dòng),將聚焦Tungsten Fabric與K8s的集成,由重量級(jí)嘉賓分享Tungsten Fabric與K8s的部署和實(shí)踐,詳細(xì)演示操作過程,并解答關(guān)于Tungsten Fabric和K8s的一切問題。關(guān)注“TF中文社區(qū)”公眾號(hào),了解最新活動(dòng)信息。


關(guān)于Tungsten Fabric:
Tungsten Fabric項(xiàng)目是一個(gè)開源項(xiàng)目協(xié)議,它基于標(biāo)準(zhǔn)協(xié)議開發(fā),并且提供網(wǎng)絡(luò)虛擬化和網(wǎng)絡(luò)安全所必需的所有組件。項(xiàng)目的組件包括:SDN控制器,虛擬路由器,分析引擎,北向API的發(fā)布,硬件集成功能,云編排軟件和廣泛的REST API。
關(guān)于TF中文社區(qū):
TF中文社區(qū)由中國的一群關(guān)注和熱愛SDN的志愿者自發(fā)發(fā)起,有技術(shù)老鳥,市場老炮,也有行業(yè)專家,資深用戶。將作為連接社區(qū)與中國的橋梁,傳播資訊,提交問題,組織活動(dòng),聯(lián)合一切對多云互聯(lián)網(wǎng)絡(luò)有興趣的力量,切實(shí)解決云網(wǎng)絡(luò)建設(shè)過程中遇到的問題。


Tungsten Fabric+K8s輕松上手丨通過Kube
關(guān)注微信:TF中文社區(qū)
Tungsten Fabric+K8s輕松上手丨通過Kube


當(dāng)前名稱:TungstenFabric+K8s輕松上手丨通過Kube
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/peeeci.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部