简介
k8s中的资源类型Service
用作代理Pod
,一般来说需要在Service
中定义selector
才可以绑定到对应pod
上。存在一种特殊的service
,即不指定selector
的service
。这种类型的service一般用作代理外部服务。例如集群外存在mysql
服务,这时想要映射到集群内部地址使用,此时即可使用这种service
。
要点
service
不指定selector
- 创建
endpoints
与service
同名
此时即可完成绑定
示例:
external-service.yaml
---
apiVersion: v1
kind: Service
metadata:
name: external-service
spec:
type: NodePort
ports:
- port: 80
---
apiVersion: v1
kind: Endpoints
metadata:
name: external-service
subsets:
- addresses:
- ip: 172.16.21.180
ports:
- port: 3306
root@master:~/endpoints# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
external-service NodePort 10.254.139.74 <none> 80:51080/TCP 12h
此时通过访问$NODE_IP:51080
即可访问原先的172.16.21.180:3306
阅读次数: 本文累计被阅读 1000000 次