溫馨提示×

溫馨提示×

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

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

如何通過Kubernetes的服務(wù)進行基本應(yīng)用程序連接

發(fā)布時間:2021-12-16 10:54:48 來源:億速云 閱讀:143 作者:柒染 欄目:互聯(lián)網(wǎng)科技

本篇文章給大家分享的是有關(guān)如何通過Kubernetes的服務(wù)進行基本應(yīng)用程序連接,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

這是所有Kubernetes CNI插件所能提供的最基礎(chǔ)和最根本的功能。應(yīng)用程序Pods之間要能相互通信,而Kubernetes Services是確保Pods隨時間推移來實現(xiàn)應(yīng)用程序規(guī)模性和可用性的一種方式。

使用場景

所有主要的CNI插件都提供基本的Pod到Pod的連通性以及某些服務(wù)類型,例如ClusterIP。

除此之外,Tungsten Fabric原生支持LoadBalancer。在AWS上運行時,LoadBalancer在清單中使用Service創(chuàng)建面向公眾的AWS ELB,從而使您的應(yīng)用程序可從Internet一步訪問。

這也意味著在本地和所有主要的公共云中,對所有集成Tungsten Fabric的Kubernetes,可以在應(yīng)用程序中使用Kubernetes部署清單而無需更改。

部署

創(chuàng)建部署時,CNI與Kubernetes協(xié)同工作,為每個應(yīng)用程序Pod分配網(wǎng)絡(luò)IP地址,并將每個Pod“連接”到集群網(wǎng)絡(luò)。

注意:大多數(shù)CNI通過創(chuàng)建一個overlay network來工作,這一網(wǎng)絡(luò)在大多數(shù)情況下都包含在單個Kubernetes集群的邊界內(nèi)。所以,不同集群中的Pod無法直接通信。

在本文檔中我們不會介紹多集群方案,但是Tungsten Fabric能夠支持此類配置。一次安裝Tungsten Fabric就可以同時服務(wù)于多個Kubernetes集群。在這種情況下,即使Kubernetes集群本身位于不同的位置,來自不同集群的Pod也可以直接相互通信。

服務(wù)

Kubernetes中的服務(wù)是“公開運行在一組Pod上的應(yīng)用程序的抽象方法”。在大多數(shù)情況下,服務(wù)是簡單的Round-Robin負(fù)載均衡器。它具有用于接收網(wǎng)絡(luò)請求的虛擬IP地址(“VIP”),以及接受這些請求轉(zhuǎn)發(fā)的零個或多個端點的IP地址。

在大多數(shù)情況下,服務(wù)會通過在運行的Pod上查找匹配的標(biāo)簽(稱為“選擇器”,Selectors)來自動發(fā)現(xiàn)屬于應(yīng)用程序Pod的端點IP地址。

應(yīng)用程序的部署和服務(wù)示例

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

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

whoami | grep root || sudo -s

# 切換到清單目錄

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

查看cnawebapp-loadbalancer.yaml文件,查找以Kind: Deployment和 Kind: Service開頭的部分

less cnawebapp-loadbalancer.yaml

(使用箭頭/ PgUp / PgDn導(dǎo)航;按q退出)

注意:

  • spec.template.spec.containers.ports.containerPort在Deployments中顯示Pod將偵聽的TCP端口;

  • spec.ports 在服務(wù)中顯示服務(wù)的VIP將監(jiān)聽的端口;

  • spec.selector在服務(wù)中會顯示服務(wù)要向其發(fā)送流量的Pod上的標(biāo)簽。

接下來,部署我們的示例應(yīng)用程序,看看會發(fā)生什么:

kubectl create -f cnawebapp-loadbalancer.yaml

這將創(chuàng)建以下應(yīng)用程序拓?fù)洌?/p>

如何通過Kubernetes的服務(wù)進行基本應(yīng)用程序連接

如果應(yīng)用程序部署沒有錯誤,我們應(yīng)該能夠看到:

所有Pod都有自己的IP地址,并且正在各自的端口上監(jiān)聽:

如何通過Kubernetes的服務(wù)進行基本應(yīng)用程序連接

所有服務(wù)都有VIP和正在監(jiān)聽的端口:

如何通過Kubernetes的服務(wù)進行基本應(yīng)用程序連接

所有服務(wù)都發(fā)現(xiàn)了各自的端點:

如何通過Kubernetes的服務(wù)進行基本應(yīng)用程序連接

由于Tungsten Fabric提供了對Kubernetes的LoadBalancer服務(wù)支持,因此現(xiàn)在應(yīng)該能夠從Internet連接到我們的應(yīng)用程序。我們可以找出負(fù)載均衡器的公共DNS名稱:

如何通過Kubernetes的服務(wù)進行基本應(yīng)用程序連接

讓我們通過將網(wǎng)絡(luò)瀏覽器指向該地址來進行檢查,可以看到應(yīng)用位于:

aa01af9988cc311e9badf06b57ebf630-1452353610.us-west-1.elb.amazonaws.com

如何通過Kubernetes的服務(wù)進行基本應(yīng)用程序連接

成功了!

清理

使用該應(yīng)用程序后,可以隨時取消部署:

kubectl delete -f cnawebapp-loadbalancer.yaml

以上就是如何通過Kubernetes的服務(wù)進行基本應(yīng)用程序連接,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI