初步探索 Kubernetes 的官方 Dashboard

Kubernetes 是当前最流行的容器编排系统,它提供了一种简单而强大的方式来管理容器化应用程序的部署、扩展和更新。虽然 Kubernetes 自带了一些命令行工具来管理集群,但是这些工具并不是每个人都能够使用或熟悉的,因此 Kubernetes 还提供了一个基于 Web 的 Dashboard,以便更直观地管理和监控 Kubernetes 集群的各个方面。

安装 Kubernetes Dashboard

Kubernetes Dashboard 可以通过 Helm Chart 或者直接运行一个 YAML 文件来安装。以下是使用 YAML 文件安装 Kubernetes Dashboard 的步骤:

  1. 下载 Kubernetes Dashboard YAML 文件:

  2. 打开 YAML 文件,查找 kubernetes-dashboard 部分,并取消注释 type: ClusterIPtype: NodePort,这将使 Kubernetes Dashboard 可以通过 NodePort 或者集群内部 IP 访问。

  3. 安装 Kubernetes Dashboard:

  4. 等待 Kubernetes Dashboard 的 Pod 运行。可以使用以下命令检查状态:

  5. 创建一个 ClusterRoleBinding,以便通过 Kubernetes Dashboard 的 Service Account 登录 Kubernetes Dashboard:

  6. 获取 Kubernetes Dashboard 的登录令牌:

  7. 打开浏览器,并进入 Kubernetes Dashboard 页面。登录后可以查看 Kubernetes 集群的各种资源和状态。

Kubernetes Dashboard 的主要功能

Kubernetes Dashboard 提供了以下主要功能:

集群资源概览

Kubernetes Dashboard 提供了一个集群概览页面,可以查看集群的已部署的各类资源的总数、状态、CPU 和内存使用情况等信息,并提供了一些常用的集群操作,如创建命名空间、部署应用程序、扩展 Deployment 和 StatefulSet 等。

Pod 详情

Kubernetes Dashboard 提供了一个 Pod 详情页面,可以查看一个 Pod 在集群中所运行的所有容器的日志、资源使用情况、事件和标签等信息,并提供了一些常用的 Pod 操作,如重新启动、删除和修改环境变量等。

部署详情

Kubernetes Dashboard 提供了一个 Deployment 和 StatefulSet 详情页面,可以查看一个部署在集群中的所有 Pod,以及它们的状态、日志、资源使用情况和事件等信息,并提供了一些常用的部署操作,如扩展、收缩、重新部署和滚动更新等。

服务和 Ingress 路由

Kubernetes Dashboard 提供了一个服务和 Ingress 路由页面,可以查看集群中的所有服务和 Ingress 路由,并了解它们各自的状态、IP 地址、端口和暴露的服务等信息。

示例代码

以下是一个使用 Node.js 和 Express.js 搭建的简单的 Web 应用程序,它可以通过 Kubernetes Dashboard 部署到 Kubernetes 集群中:

const express = require('express')
const app = express()
const port = process.env.PORT || 3000

app.get('/', (req, res) => {
  res.send('Hello, World!')
})

app.listen(port, () => {
  console.log(`App listening at http://localhost:${port}`)
})

要将此应用程序部署到 Kubernetes 集群中,请按照以下步骤操作:

  1. 创建一个 Dockerfile 文件:

  2. 构建 Docker 镜像:

  3. 推送 Docker 镜像到 Docker Hub:

  4. 创建一个简单的 Deployment:

  5. 创建一个 Service,将 Deployment 暴露给集群内部:

  6. 使用 Kubernetes Dashboard 或者 kubectl 命令启动 Deployment 和 Service:

  7. 打开浏览器,并进入 Kubernetes Dashboard 页面,查看刚刚创建的部署和服务的状态。接下来可以使用 Kubernetes Dashboard 或者 kubectl 命令扩展、收缩、升级和管理这个应用程序。

总结

Kubernetes Dashboard 是一个可以更直观地管理和监控 Kubernetes 集群的强大工具。本文介绍了如何安装 Kubernetes Dashboard,以及它的主要功能,并提供了一个使用 Node.js 和 Express.js 构建的 Web 应用程序的示例。如果你是一名 Kubernetes 用户或者开发人员,那么 Kubernetes Dashboard 将成为你必不可少的工具之一。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65a8c39dadd4f0e0ff1f4b8b


纠错反馈