总体介绍

  • WebKubectl 帮助您管理 Kubernetes 集群的凭据,并在 Web 浏览器中运行 kubectl 命令,从而不必在本地 PC 或其他服务器上安装 kubectl。
  • WebKubectl 也适用于团队多人同时使用,此外还可以使用 API 集成到您自己的应用中。

UI 展示

UI展示

技术优势

  • 支持多用户和多个 Kubernetes 集群:一个 WebKubectl 部署可用于一个团队,尽管团队各个成员都在同时连接不同的 Kubernetes 集群、使用不同的 Kubernetes 权限。
  • 会话隔离:所有的在线会话都是隔离的,每个会话都有自己的命名空间和存储空间,对其他存储空间不可见。
  • 支持 kubeconfig 文件和 bearer token:您可以提供 kubeconfig 文件或 bearer token 以通过 WebKubectl 连接 Kubernetes 集群。
  • 易于使用和集成:使用 WebKubectl 首页可以快速入门,或者使用API与您的应用集成。
  • 管理 VPC 中的 Kubernetes 集群:通过 WebKubectl 您可以管理那些在 VPC 中、您自己的电脑无法直接连接的 Kubernetes 集群。
  1. _______________________________________________________________________
  2. | Local Network | DMZ | VPC/Datacenter |
  3. | | | |
  4. | | _______________ | ---------------- |
  5. | --------------- | | | /~~~~~>| Kubernetes A | |
  6. | | Your Laptop |~~~~~~~>| Web Kubectl | / | ---------------- |
  7. | --------------- | | | \ | |
  8. | | --------------- \ | ---------------- |
  9. | | \~~~~>| Kubernetes B | |
  10. | | | ---------------- |
  11. -----------------------------------------------------------------------

架构

  • WebKubectl 使用 webkubectl/gotty 在 Web 浏览器中运行基于 JavaScript 的 Shell 终端。
  • 当打开一个新会话时,将为该会话创建一个临时 Linux 命名空间,以确保所有会话都是隔离的,每个会话都有自己的命名空间和存储,同时为当前会话生成 ~/.kube/config 文件。
  • 会话结束后,临时命名空间和存储将被删除。

安全

  • 终端 Token 验证:从 API 响应中获取的终端 Token 使用一次后将立即失效,如果一直不使用,则在5分钟后过期。
  • Authentication:默认情况下,无需进行任何身份验证即可访问所有资源,若要限制匿名访问,可以启用 gotty 的基本身份验证,请参见操作方法
  • SSL/TLS:默认情况下,服务器与客户端之间的所有流量均未加密,我们建议您启用 gotty 的 SSL / TLS选项,请参见操作方法。或者,您可以在代理后面部署 WebKubectl 并为该代理启用 SSL / TLS,请注意,您的代理需要支持 WebSocket 协议。

扩展

依赖