本地服务调用 K8S 环境中的 SpringCloud 微服务实战

常规手段:通过 service 访问对应的 pod

  • 通常情况下,从外部访问 kubernetes 内部 pod 服务的方法是创建 service,再通过访问 service 的方式来访问对应的 Pod,但是这样做会变更 kubernetes 环境现有配置,例如原本注册中心对应的 service type 是 ClusterIP,这里只有改成 NodePort 或者 LoadBalancer 才能让外部访问到,又例如服务 A 原本没有 service,这里为了外部访问只能为其创建 service。

  • 如果这个 Kubernetes 环境是生产环境,上述改动都是不允许的,如果是开发环境,又会造成开发和生产环境有大量不一样的配置,因此,创建 service 虽然可行但并不是好方案。

更适合本地开发的方案:kubefwd 服务

  • 比 service 更适合本地开发的方案是使用 kubectl port-forward 命令在本地电脑创建 kubefwd 服务,例如将对当前电脑 8081 端口的请求,可以 kubefwd 转发到 kubernetes 上的注册中心 Pod 的 8080 端口;

  • 有了 kubefwd,我们在开发服务 B 的时候,只要把发往注册中心和服务 A 的请求都 kubefwd 服务转发到 kubernetes 上去就可以了,如下图:

  • 理论分析就到此吧,接下来一起实战本地服务调用 K8S 环境中的微服务。

实战环境

  • 以下是本次实战所需的环境,请确保您的 kubernetes 是正常可用的:

  1. kubernetes:

  2. kubectl:1.7.0

  3. kubernetes 所在 Linux 服务器:CentOS7.4

  4. 本地环境:win10 专业版 64 位

  5. SpringCloud:Edgware.SR1

  • 如果您还没有搭建 kubernetes 环境,

  • windows 环境配置 kubectl 远程操作 kubernetes 的方法

  • 实战所需的注册中心和服务 A 对应的是两个 maven 工程(eureka-server 和 s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值