如何将正在开发的本地服务连接到托管服务网格?

问题描述

我目前正在开发一个托管(GCP)微服务环境。在服务上工作时,我目前在本地运行环境。我运行我正在使用的服务需要与之通信的所有服务。

这会带来糟糕的开发人员体验,因为:

  • 我必须提速每项服务;可能很多
  • 运行如此多的服务会占用我很多系统资源
  • 如果其中任何一项服务需要数据库,我也必须进行设置

我正在为此寻求支持。从概念上讲,我将只在本地运行单个服务,然后连接到托管环境中的其余服务。

任何流行的服务网格都可以将此作为选项吗?我主要在看Istio和Kuma。有其他替代解决方案吗?

解决方法

对于远程开发/调试,我建议看一下网真。

https://www.telepresence.io/

Kubernetes文档甚至推荐它:

使用网真,您可以将自定义工具(例如调试器和IDE)用于本地服务,并为该服务提供对ConfigMap,密钥和在远程群集上运行的服务的完全访问权限。

https://kubernetes.io/docs/tasks/debug-application-cluster/local-debugging/

另一方面,

Istio使您可以进行影子部署以及金丝雀或蓝/绿部署。您可以例如运行服务并将特定用户(基于标头)发送到新版本。您可以将流量镜像到服务,或将流量从0逐步转移到100%。我想说的更多是在负载下测试新服务或逐步发布新版本。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...