大家好,蓉蓉来为大家讲解下。telepresence,telepresence,facility这个很多人还不知道,现在让我们一起来看看吧!
#Telepresence# 将本地环境变成集群一部分, 使用 Telepresence 可以进行 Kubernetes 微服务的快速本地开发, 然后在云中运行其余应用程序, 使用您最喜欢的 IDE 和工具更快地调试您的服务,以加速您的内部开发循环。
Kubernetes 解决了微服务运行时的环境问题,但对开发环境就不那么友好了。比方说如果我们要在本地开发调试一个服务 A,但服务 A 可能依赖服务B、C,而服务 B 又有一层依赖 D,我们就需要在本地把服务 B、C、D 都搭建起来才能调试服务 A。这显然是一个很痛苦的过程。
业界有人用 docker-compose 来模拟集群中的场景。这个方案的不足之处在于它需要把 Kubernetes 的那一套逻辑用 docker-compose.yml 文件重写一遍,这给我们带来了维护成本。另一方面,有的时候依赖树太大,本地机器完全无法同时运行这么多服务。
另一种解决方案就是 Telepresence ,它能够在不修改程序代码的情况下,让本地应用程序无感地接入到 Kubernetes 集群中,这样就可以直接在本地开发调试微服务了。
Telepresence是一款由Ambassador Lab,原名 Datawire的一个公司向CNCF捐赠的,为Kubernetes微服务框架提供快速本地化开发功能的开源软件。
Telepresence在Kubernetes集群中运行的Pod中部署双向网络代理,该Pod将Kubernetes环境(如TCP连接,环境变量,卷)中的数据代理到本地进程。本地进程透明地覆盖其网络,以便DNS调用和TCP连接通过代理路由到远程Kubernetes集群,能够获取远端K8S集群的各项资源。该工具可以实现:
*本地服务可以完全访问远程群集中的其他服务;
*本地服务可以完全访问Kubernetes的环境变量,Secrets和ConfigMap;
*K8S中运行的远程服务也可以完全访问本地服务。
通过使用 Telepresence,用户可以将他们的工作站变成集群中的另一个节点。这是通过代理完成的,Telepresence可以让用户快速迭代他们的代码,使用 IDE,并将调试器附加到他们正在运行的任何东西上。
通过 Telepresence,开发人员可以使用他们喜欢的任何调试器。他们可以在 IDE 中的笔记本电脑上本地运行经过测试的服务,然后运行 Telepresence,让笔记本电脑成为集群的一部分。
值得一提的是, Telepresence 的发起人, Ambassador Lab,原名 Datawire 而闻名,是位于波士顿的 Ambassador Edge Stack 开发商,它提供先进的边缘功能来支持 Kubernetes 的 DevOps。 Ambassador Edge Stack 专为 Kubernetes 托管环境而构建,基于行业领先的 Envoy 代理。 Ambassador Edge Stack 提供开源和商业版本。
目前, Ambassador Lab是2021年目前为止Kubernetes 发展生态中排名非常高的十大初创公司之一。
本文telepresence,telepresence,facility到此分享完毕,希望对大家有所帮助。