svc原本與pod是不相連的冗锁,svc通過標(biāo)簽選擇器獲取pod地址并放在endpoint中独郎,當(dāng)客戶端訪問服務(wù)端時會從endpoint中選擇一個赂蕴,并將傳入連接重定向到該位置監(jiān)聽的服務(wù)器宝磨。
當(dāng)服務(wù)的endpoint和服務(wù)解耦后缘眶,可以分別手動配置和更新它們。(如果svc創(chuàng)建時不指定pod標(biāo)簽則需要自定義endpoint束莫,因為svc需要通過pod標(biāo)簽來獲取pod信息)
手動配置
apiVersion: v1
kind: Service
metadata:
name: external-service 這個要與endpoint中的名字一樣
spec:
type: NodePort
ports:
- port: 80 集群內(nèi)部端口
targetPort: 8080 pod服務(wù)中暴露的端口
nodePort: 30081 外部訪問端口
---
apiVersion: v1
kind: Endpoints
metadata:
name: external-service 這個要與svc中的名字一樣
subsets:
- addresses:
- ip: 100.118.53.66
- ip: 100.118.53.67
ports:
- port: 8080 pod中服務(wù)暴露的端口