1. 首先创建一个没有selector的service
注意⚠️:
- 创建一个没有selector的不需要通过标签匹配集群内不Pod的service
- 没有selector的service不会创建同名的endpoint资源
apiVersion: v1
kind: service
metedata:
labels:
app: redis-external
name: redis-external
spec:
ports:
- name: redis-external
port: 6379
protocal: TCP
targetPort: 6379
sessionAffinity: None
type: ClusterIP
2. 创建同名的Endpoints
没有selector的service是不会创建同名的Endpoints的,所以我们要手动创建同名Endpoints并编辑配置外部服务的IP和端口
apiVersion: v1
kind: Endpoints
metadata:
labels:
app: redis-external
name: redis-external # 要与service名称相同
subnets:
- addressses:
- ip: 192.168.100.10 # 外部服务的IP地址
ports:
- name: redis-external # 需要与service的port名称一致
port: 6379 # 外部服务的端口
protocol: TCP # 需要与service的协议一致
注意⚠️:如果外部服务变更的话编辑这个Endpoints,将IP变更就好。