!!! warning “”

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

UI 展示

UI展示

技术优势

!!! warning “”

  1. - 支持多用户和多个 [Kubernetes][Kubernetes] 集群:一个 [WebKubectl][WebKubectl] 部署可用于一个团队,尽管团队各个成员都在同时连接不同的 [Kubernetes][Kubernetes] 集群、使用不同的 [Kubernetes][Kubernetes] 权限。
  2. - 会话隔离:所有的在线会话都是隔离的,每个会话都有自己的命名空间和存储空间,对其他存储空间不可见。
  3. - 支持 kubeconfig 文件和 bearer token:您可以提供 kubeconfig 文件或 bearer token 以通过 [WebKubectl][WebKubectl] 连接 [Kubernetes][Kubernetes] 集群。
  4. - 易于使用和集成:使用 [WebKubectl][WebKubectl] 首页可以快速入门,或者使用API与您的应用集成。
  5. - 管理 VPC 中的 [Kubernetes][Kubernetes] 集群:通过 [WebKubectl][WebKubectl] 您可以管理那些在 VPC 中、您自己的电脑无法直接连接的 [Kubernetes][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. -----------------------------------------------------------------------

架构

!!! warning “”

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

安全

!!! warning “”

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

扩展

!!! warning “”

  1. - [kubectl插件](https://github.com/topics/kubectl-plugins): [ahmetb/kubectx](https://github.com/ahmetb/kubectx)
  2. - [ahmetb/kubectl-aliases](https://github.com/ahmetb/kubectl-aliases)
  3. - [derailed/k9s](https://github.com/derailed/k9s)
  4. - [helm/helm](https://github.com/helm/helm)

依赖

!!! warning “”

  1. - [webkubectl/gotty](https://github.com/KubeOperator/webkubectl/tree/master/gotty)
  2. - [ahmetb/kubectx](https://github.com/ahmetb/kubectx)
  3. - [ahmetb/kubectl-aliases](https://github.com/ahmetb/kubectl-aliases)
  4. - [junegunn/fzf](https://github.com/junegunn/fzf)
  5. - [derailed/k9s](https://github.com/derailed/k9s)
  6. - [helm/helm](https://github.com/helm/helm)