kubernetes通訊淺談-創(chuàng)新互聯(lián)
kubernetes 通訊淺談
我們在日常工作中,能遇見的情況只有下面三種,k8s集群內(nèi)部之間的相互連接,k8s集群內(nèi)部訪問k8s集群外部的服務(wù),還有就是k8s集群外部服務(wù)訪問k8s集群內(nèi)部的訪問。下面我們來講解下他們都是如何實現(xiàn)的,我們將使用分步的方式來講解
為蘭西等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及蘭西網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、蘭西網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!kubernetes集群內(nèi)部的通訊
當(dāng)k8s里面只有兩個POD之間的通信是最為簡單的
上圖所示是我們Pod B
客戶端去鏈接請求Pod A
服務(wù)端,這個時候我們只需要把Pod A
的地址告訴Pod B
即可,這個時候Pod A
扛不住請求了,我們需要在擴(kuò)展一個Pod A
那我門是不是就想要辦法在Pod A
服務(wù)端前面放個Nginx或者什么的來做負(fù)載,只有這樣Pod B
才能按照以前的地址去請求服務(wù)啊,所以我們這個時候在Pod A
上面添加上一個service
服務(wù)
svc資源通過matchLables
字段選擇打有對應(yīng)標(biāo)簽的Pod
,這個時候Pod B
在來請求服務(wù)的時候就直接去訪問SVC A
,我們告訴Pod B
SVC A
所對應(yīng)的IP地址是什么,SVC A
會自動負(fù)載到后端的POD A
上,需要注意的是:當(dāng)這個時候如果 A服務(wù)還是扛不住壓力,那我們就只需要多啟動幾個Pod A
就行了,啟動的新的Pod之后,svc還是會根據(jù)matchLables
把它自動添加到負(fù)載里面去
我們k8s集群里面不可能只有兩種服務(wù)啊,肯定有很多服務(wù),但我們不可能每個都手工去配置吧,所以這個時候就引入了CoreDNS
的概念,我們用CoreDNS來維護(hù)svc 和clusterIP的關(guān)系
其實這個時候 k8s集群內(nèi)部的通訊就大致講清楚了,但是這個里面有個及其特殊的svc:headless svc
,這個svc當(dāng)別的客戶端來請求他的時候,他不會去負(fù)載的向下面pod去做請求,而是把下面POD的所有IP返回給客戶端,由客戶端自己來決定鏈接那個POD。
k8s集群內(nèi)部請求集群外部的服務(wù)
如果是單個服務(wù),我們可以選擇直接在內(nèi)部直接連接外部的服務(wù),但是如果外部服務(wù)是個集群的話,那如果我們還這樣做就需要在外部集群前面做個負(fù)載,
但是這樣如果有很多個集群我們就要創(chuàng)建很多個nginx的4層負(fù)載,太麻煩了,我們可以把負(fù)載放到k8s集群里面,我們采用k8s的svc
+endpoints
來實現(xiàn)外部集群的負(fù)載均衡
這個時候svc
和endpoint
是通過名字來進(jìn)行綁定的,這樣我們就實現(xiàn)了集群內(nèi)部和集群外部通訊
k8s集群外部和k8s集群內(nèi)部通信
在實際工作中,除了k8s集群內(nèi)部通訊,我認(rèn)為就是這種通訊方式使用的比較多,因為我們在k8s上跑的集群不就是為了讓客戶來訪問的嗎?下面我們將下三種實現(xiàn)方式
nodeport
nodeport是我們在node上面所端口綁定,所以node上都會開放此pord端口,我們?nèi)我庹埱笃渲幸粋€node端口,即使這個pod沒有落在這個node上也行,當(dāng)請求到node port的時候他會自動轉(zhuǎn)發(fā)到對應(yīng)的Podip上來實現(xiàn)訪問
hostport
必須pod落在那個node上,那個node才會開放對應(yīng)的端口
ingress
ingress是我們使用最普遍的暴漏k8s集群內(nèi)部服務(wù)讓外部來訪問的方式,ingress是一類資源的統(tǒng)稱,我們現(xiàn)在一般都適用ingress-nginx,關(guān)于ingress 請參考https://www.zhangshoufu.com/articles/2019/07/19/1563529715618.html, 這里不在細(xì)說
視頻講解:https://www.bilibili.com/video/av71139472
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站標(biāo)題:kubernetes通訊淺談-創(chuàng)新互聯(lián)
文章分享:http://www.xueling.net.cn/article/cojedg.html