Kubernetes 资源端口转发简易指南
Kubernetes 改变了人们部署、编排和构建基础设施的方式。在本文中,我们将学习如何从本地计算机访问内部 Kubernetes 资源的最简单方法。
💼 用例
您已将 PostgreSQL 部署到集群中,您不想将其公开,但又想进行一些查询并访问数据库。
🎉 解决方案
使用 Kubernetes 原生端口转发功能。Kubernetes API 允许通过单个 HTTP 连接,在集群资源和本地主机之间建立隧道。因此,您可以从 Kubernetes 集群访问本地主机 5432 端口上的 PostgreSQL 数据库。
你可以用kubectl来实现,
kubectl port-forward -n default deployment/postgres 8432:5432
或者您可以使用非常简单的开源图形用户界面工具——Kube Forwarder。命令行工具固然很好,但它缺少一些基本功能。
- 自动重连(如果您的连接不太稳定,则需要手动重新运行命令)
- 自动补全(您始终需要记住服务名称和命名空间,我在笔记中提供了一些提示)
- 支持多集群(每次转发内容时都需要切换上下文,体验并不好)
因此,考虑到这一点,我们开发了Kube Forwarder——一个易于使用的 Kubernetes 端口转发管理器。
我们还拥有其他重要功能:
- 自动导入kubeconfig 集群
- 导入/导出所有已收藏的集群和资源(非常适合与团队共享)
- 同时转发多个服务
- 零原生依赖(无需 kubectl CLI 即可运行)
如何使用 Kube Forwarder 转发资源❓
如果是第一次操作,流程非常简单,只需三个步骤——
- 添加集群配置
- 找到你想转发的资源
- 开始转发
添加集群配置
如果您已有 kubeconfig 文件,Kube Forwarder 会建议您导入已有的集群:
我们还有其他选择:
- 通过选择一个或多个文件来添加簇
- 请以纯文本格式粘贴您的配置。如果您创建了一个新集群并想要访问某些部署,这将非常有用。
- 从 Kubernetes Forwarder JSON 恢复配置。如果您作为运维人员希望为不熟悉 Kubernetes 的开发团队准备易于使用的转发配置,这将非常有用。
找到你想转发的资源
Kube Forwarder 具有按命名空间、Pod、部署自动补全的功能,因此添加新资源进行转发的过程非常简单。
设置为本地端口(即您本地计算机上的端口)和资源端口(即您的应用程序启动时使用的端口)。其他字段我认为无需额外说明。
添加资源后,点击“运行”按钮,即可从本地计算机访问您的服务。
🙏 我们期待您的反馈
我们相信,像这样的应用可以提高您的工作效率,并吸引更多人开始使用 Kubernetes。请告诉我们您对这款应用的看法,以及您认为可以如何改进它的想法。
我们使用 Electron 构建了该应用程序,因此它在 macOS、Windows 和 Linux 上都能很好地运行。
Github - ⭐ https://github.com/pixel-point/kube-forwarder
文章来源:https://dev.to/alex_barashkov/a-simple-guide-for-port-forwarding-kubernetes-resources-4d3j


