一、背景
k8s容器的服務(wù)service實(shí)現(xiàn)有以下常用方式:
- NodePort
用于為集群外部訪問Service后面Pod提供訪問接入端口。
開發(fā)測試環(huán)境,可以使用這種方式,不依賴其他中間件。
好處是,可以訪問Node節(jié)點(diǎn)的IP+${NodePort}
比如Node節(jié)點(diǎn)的IP地址是192.168.80.180,NodePort的端口是31767。那么外部訪問地址是http://192.168.80.180:31767/doc.html。
- LoadBalancer
當(dāng)K8s運(yùn)行在一個云環(huán)境內(nèi)時, LB類型可自動觸發(fā)創(chuàng)建一個軟件負(fù)載均衡器用于對Service做負(fù)載均衡調(diào)度.
因?yàn)橥獠克蠧lient都訪問一個NodeIP, 該節(jié)點(diǎn)的壓力將會很大, 而LoadBalancer則可解決這個問題。
而且它還直接動態(tài)監(jiān)測后端Node是否被移除或新增了,然后動態(tài)更新調(diào)度的節(jié)點(diǎn)數(shù)。
- ClusterIP
默認(rèn)類型,會自動分配一個內(nèi)部IP,但是外部無法訪問。
- ExternalName模式
用于將集群外部的服務(wù)引入到集群內(nèi)部,在集群內(nèi)部可直接訪問來獲取服務(wù)。
適用于大多數(shù)服務(wù)已轉(zhuǎn)移部署到K8S中,而少部分舊服務(wù)還部署在ECS。
二、創(chuàng)建SLB
第一步,申請新的slb實(shí)例,這里是一個內(nèi)網(wǎng)網(wǎng)絡(luò)。
(當(dāng)然,你也可以使用lvs實(shí)現(xiàn)負(fù)載均衡,因?yàn)槲覀兎?wù)都部署在阿里云,直接購買的是負(fù)載均衡服務(wù))
第二步,新增監(jiān)聽8899端口
(當(dāng)然,你不用手動創(chuàng)建,在k8s容器側(cè)操作即會自動創(chuàng)建監(jiān)聽。)
三、新建服務(wù)service
service.yaml詳情:
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alicloud-loadbalancer-address-type: intranet
service.beta.kubernetes.io/alicloud-loadbalancer-force-override-listeners: 'true'
service.beta.kubernetes.io/alicloud-loadbalancer-id: ${slb的實(shí)例ID}
labels:
service.k8s.alibaba/loadbalancer-id: ${slb的實(shí)例ID}
name: xxx-service
namespace: java-service
spec:
allocateLoadBalancerNodePorts: true
externalTrafficPolicy: Cluster
internalTrafficPolicy: Cluster
ports:
- name: xxx-service
port: 8899
protocol: TCP
targetPort: 8899
selector:
app: xxx-service
sessionAffinity: None
type: LoadBalancer
注意,${slb的實(shí)例ID} 修改為你上文申請的SLB的實(shí)例ID值。
-
關(guān)鍵信息是type: LoadBalancer,指明service的實(shí)現(xiàn)類型是LB。
-
selector: app: xxx-service 對應(yīng)pod的labels。文章來源:http://www.zghlxwxcb.cn/news/detail-794803.html
四、總結(jié)
本文主要講述的是,如何在云環(huán)境下的k8s容器里, 暴露服務(wù)service的時候,使用slb實(shí)現(xiàn)對外訪問。文章來源地址http://www.zghlxwxcb.cn/news/detail-794803.html
到了這里,關(guān)于阿里云使用SLB實(shí)現(xiàn)k8s的服務(wù)service的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!