用 ExternalName 创建通过域名提供的服务
1
2
3
4
5
6
7
| apiVersion: v1
kind: Service
metadata:
name: mysql-ali
spec:
type: ExternalName
externalName: rm-bp1xxxxxxxxxxxxxx.mysql.rds.aliyuncs.com
|
externalName
也可以填写 IP,但是不推荐。
转发 IP:port 形式,可以使用下面方法
手动创建 EndPoint 来绑定服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| # 服务例子
apiVersion: v1
kind: Service
metadata:
name: registry-gcr
spec:
type: ClusterIP
ports:
- port: 5000
targetPort: 5000
---
# 手动创建 ep,如果已存在服务,需要修改指向外部服务,可以直接编辑 ep 配置,将 subsets 部分修改
apiVersion: v1
kind: Endpoints
metadata:
name: registry-gcr
subsets:
- addresses:
- ip: 10.200.0.101 # 集群外部 IP
ports:
- port: 5000
|
可以通过 kubectl get ep
确认前后地址是否符合预期。
Ref.
https://kubernetes.io/zh/docs/concepts/services-networking/service/#externalname
https://blog.opskumu.com/kubernetes-ext-service.html