我目前有一个正在开发的托管 (GCP) 微服务环境。在处理服务时,我目前在本地运行环境。我运行我正在处理的服务需要与之通信的所有服务。
这提供了糟糕的开发人员体验,因为:
- 我必须启动每项服务;可能有很多
- 运行这么多服务会占用我大量的系统资源
- 如果这些服务中的任何一个需要数据库,我也必须设置它
我正在寻找解决方案。理想情况下,我将只在本地运行单个服务并连接到托管环境中的其余服务。
是否有任何流行的服务网格提供此选项?我主要关注 Istio 和 Kuma。有没有想到的替代解决方案?
我目前有一个正在开发的托管 (GCP) 微服务环境。在处理服务时,我目前在本地运行环境。我运行我正在处理的服务需要与之通信的所有服务。
这提供了糟糕的开发人员体验,因为:
我正在寻找解决方案。理想情况下,我将只在本地运行单个服务并连接到托管环境中的其余服务。
是否有任何流行的服务网格提供此选项?我主要关注 Istio 和 Kuma。有没有想到的替代解决方案?
对于远程开发/调试,我建议看看 Telepresence。
它甚至被 Kubernetes 文档推荐:
使用 Telepresence 允许您为本地服务使用自定义工具,例如调试器和 IDE,并为服务提供对 ConfigMap、机密和在远程集群上运行的服务的完全访问权限。
https://kubernetes.io/docs/tasks/debug-application-cluster/local-debugging/
另一方面,Istio 使您能够进行影子部署和金丝雀或蓝/绿部署。例如,您可以运行服务并将某些用户(基于标头)发送到新版本。您可以将流量镜像到服务或逐步将流量从 0% 转移到 100%。我会说它更多地用于在负载下测试您的新服务或逐步发布新版本。