k8s内调用外部服务方法

k8s内调用外部服务方法

有时候,我们容器应用需要使用非集群以外的地址来完成某些功能调用或服务,那么

一、我们在kubernetes上面,只需要实现service组件的定义部分,其中并不需要对容器端口进行绑定。

二、手动实现endpoint来完成集群外服务地址同集群服务名称的动态绑定,后续若外部地址或端口发生 了变化,那么,我们只需更改endpoint定义即可。并不影响集群内部容器服务的使用。

service.yaml


#组件类别
kind: Service

#版本号
apiVersion: v1

#元数据
metadata:

#服务名称
name: mysql

#描述信息
Spec:

#IP类型/集群
type: ClusterIP

#端口集合
ports:

#端口号
– port: 3306

#目标端口(与endpoints定义一致)
targetPort: 3306

endpoint.yaml


kind: Endpoints

apiVersion: v1

#元数据
metadata:

#绑定名称为"mysql"的服务项
name: mysql

subsets:

addresses:

#此处为集群外部IP地址
ip: 192.168.1.100

ports:

#mysql服务端口
port: 3306
posted @ 2018-09-14 14:48  乔吉拉德  阅读(1582)  评论(0)    收藏  举报