k8s内调用外部服务方法
Posted blablablabla
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于k8s内调用外部服务方法的主要内容,如果未能解决你的问题,请参考以下文章
@FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本