端口转发

微服务环境中,各个服务都通过 TCP / UDP 端口的形式提供访问。按调用者所在位置、通信协议的形式来划分,大致有如下几种情况:

调用者所在位置 通信协议 临时性 常见场景 推荐配置方式
VPC外 http / https 日常性 用户从互联网(亦可能是公司内网)
访问 web 页面,或者 restful 接口
Kubernetes Ingress
(可在Kuboard中直接配置 互联网入口
VPC外 tcp / udp 临时性 例如,开发者临时需要访问数据库端口、Redis端口等; 在客户端所在机器配置 kubectl,
通过 kubectl port-forwad 进行端口转发
VPC外 tcp / udp 日常性 暂不讨论
VPC内/集群外 http / https 日常性 通过接口网关为周边系统提供服务 Kubernetes Service NodePort
(可在Kuboard中直接配置 访问方式/VPC内访问
VPC内/集群外 tcp / udp 同上 同上
集群内 http / https 日常性 场景1:Web层访问微服务网关
场景2:微服务网关调用微服务,微服务之间的互相调用等。
场景1:Kubernetes Service ClusterIP
(可在Kuboard中直接配置 访问方式/集群内访问
场景2:Spring Cloud中使用Eureka/Consul等服务发现
(Kuboard中 访问方式/不配置
集群内 tcp / udp 日常性 微服务访问数据库、微服务访问Redis等 Kubernetes Service ClusterIP
(可在Kuboard中直接配置 访问方式/集群内访问

Feature planned

在作者使用 Kuboard 的运维实践中,有如下两个场景不能脱离 kubeadm / kubectl 命令行:

  • 初始化集群 / 向集群添加节点
  • 开发者临时需要访问数据库端口、Redis端口时,通过 kubectl port-forward 进行端口转发

Kuboard 计划实现类似 kubectl port-forward 的功能,提高问题诊断过程中的便利性。

更新时间: 2019-07-25 22:26:28
Copyright © 2019-present HuanQing Shao