运行类似于 Kubernetes 仪表盘的网页

Posted

技术标签:

【中文标题】运行类似于 Kubernetes 仪表盘的网页【英文标题】:Run a web page similar to kubernetes dashboard 【发布时间】:2019-07-22 09:56:40 【问题描述】:

我想运行一个类似于 kubernetes 仪表板的网页。网页从用户那里获取输入并生成一个小文件,但我希望在不使用任何服务器的情况下加载网页。 kubernetes 正在部署一个 pod 并打开我想做的网页。如果 kubernetes 也在使用服务器,它是如何使用它的(是直接使用 pod 中的操作系统下载它还是 kubernetes 是如何做到的)。

概述我想知道 kubernetes 仪表板是如何部署的,它是否使用服务器,如果是,它如何将服务器安装在 kubernetes pod 中,否则它如何调出 UI。

【问题讨论】:

【参考方案1】:

实际上,Kubernetes 扮演着编排器的角色,为集群中的容器之间建立通信通道提供了足够的方式,并且默认使用 Docker 作为容器runtime。

容器代表映像的运行时环境,但是映像包含操作系统层和应用程序二进制文件,您可以找到 here 的一个很好的解释。为了构建自己的镜像,您可以考虑两种方式来实现这一点:从Docker Hub 中的现有镜像创建镜像或从Dockerfile 组合镜像。存储自定义镜像可能是将其推送到 Docker Hub 存储库或通过部署 Registry server 来代表一些私人隔离回购。

当您准备好映像并计划在 Kubernetes 集群中实现应用程序时,是创建第一个微服务的好时机。尽管全球有大量关于 Kubernetes 集群及其运行时引擎architecture 的资料,但我将重点关注应用程序部署生命周期。

Deployment 是主要机制,它定义了如何在集群中实现 Pod,并为进一步的应用程序运行时工作流提供特定的配置。

Service 描述了特定 Pod 如何与集群中的其他资源通信的方式,提供应用程序将响应的端点 IP 地址和端口。

在使用KubernetesDashboard的一般场景中,使用kubectl proxy的方法将通过主机和Kubernetes API之间的代理网关暴露应用程序,这更像是用于测试目的而不安全,与Nodeport类型相比这带来了更方便的方式来使应用程序可以在集群外部访问,如本堆栈thread 中所述。

我鼓励您在官方 Kubernetes documentation 中获得更多学习内容。

【讨论】:

以上是关于运行类似于 Kubernetes 仪表盘的网页的主要内容,如果未能解决你的问题,请参考以下文章

安装部署 Kubernetes 仪表板(Dashboard)

kubeapps -kubernetes 应用仪表盘

kubernetes安装dashboard(控制面板)仪表盘

Kubernetes之kuberconfig--普通用户授权kubernetes集群

远程访问 EC2 上的 Kubernetes 仪表板

显示未经授权的 Kubernetes 仪表板