kubernetes - 如何从本地机器访问 Kubernetes 生产环境中的内部服务?(需要:性能和安全性)
问题描述
我有一个运行生产环境的 Kubernetes 集群。我有堡垒机,我自己的电脑可以连接到堡垒机,堡垒机可以访问集群机器。我想在自己的电脑上连接一些内部(即不暴露于公共网络)的服务,例如 MySQL、Redis、Kibana 等。我需要有足够的性能(例如 kubectl forward 太慢了),并且有足够的安全性。
我曾尝试使用 kubectl forward。但是它很慢,经过搜索,他们说它很慢。所以我想我不能让它更快。
我想我也可以将每个服务公开为NodePort
. 然后我可以使用 ssh 端口转发之类的东西。但是,恐怕安全性低?因为我们要创建一个NodePort,那么如果hacker可以接触到集群,他就可以使用这个nodeport来访问我的MySQL、Redis、Kafka等,这太可怕了。
编辑:此外,我不仅需要我自己的电脑,还需要我的手机能够触摸一些服务,例如我的 Spring Boot 内部管理 url。目前我做ssh
端口转发并绑定到0.0.0.0,所以我的手机可以连接my_computer_ip:the_port
使用它。但是如果没有 ssh 端口转发,我该怎么做呢?
谢谢!
解决方案
推荐阅读
- python - Sublime Text 3 保存文件后添加空格
- sql - 是否可以实现特定于行的检查约束?
- javascript - 如何在 Javascript 中突出显示链接
- google-apps-script - 我可以以编程方式将 App Script 项目文件复制/粘贴到同一个 Drive 文件夹中,然后将副本自动发布为 Web 应用程序吗?
- java - 后台服务在启动应用程序时杀死我的应用程序
- javascript - 如何在 React Native 中加载 Web Assembly 脚本?
- python - 2captcha API + 硒
- node.js - 如何停止在 Windows 上运行带有标题的 npm 进程?
- google-cloud-platform - GCP PubSub 主题推送问题
- python - 从 csv 文件中读取关键字参数