Link

目录

  1. 目录
  2. 概述
  3. kt-connect
  4. Telepresence
  5. nocalhost

概述

最近在群里面看到有人需要在开发终端上远程访问集群内的 Redis Cluster,发现访问不通,背后的原因是在 Redis 的工作机制下,Client 需要能够直接访问 Redis Pod 的 IP 地址,也就是要实现 Pod 全路由,经过一番讨论,发现社区有很多实现远程连接的方案,类似于直接在终端和 Server 间建立隧道,实现 Client 到 Pod 的直接访问,此处记录下提到的几种方案。

kt-connect

阿里出品的一个工具。

KtConnect(Kt为Kubernetes Toolkit集群工具包的简写)是一款基于Kubernetes环境用于提高本地测试联调效率的小工具。

有了这个工具后,Client 可以和集群建立 VPN,实现 Client 到 Pod 以及 Service 的互通。

https://github.com/alibaba/kt-connect/releases

Telepresence

Telepresence在Kubernetes集群中运行的Pod中部署双向网络代理,该Pod将Kubernetes环境(如TCP连接,环境变量,卷)中的数据代理到本地进程。本地进程透明地覆盖其网络,以便DNS调用和TCP连接通过代理路由到远程Kubernetes集群,能够获取远端K8S集群的各项资源。该工具可以实现:

  • 本地服务可以完全访问远程群集中的其他服务;
  • 本地服务可以完全访问Kubernetes的环境变量,Secrets和ConfigMap;
  • K8S中运行的远程服务也可以完全访问本地服务。

https://github.com/telepresenceio/telepresence

nocalhost

Nocalhost 是一款开源的基于 IDE 的云原生应用开发工具:

  • 直接在 Kubernetes 集群中构建、测试和调试应用程序
  • 提供易于使用的 IDE 插件(支持 VS Code 和 JetBrains),即使在 Kubernetes 集群中进行开发和调试,Nocalhost 也能保持和本地开发一样的开发体验
  • 使用即时文件同步进行开发: 即时将您的代码更改同步到远端容器,而无需重建镜像或重新启动容器。

https://nocalhost.dev/zh-CN/