部署和访问 Kubernetes 仪表板

部署 Web UI (Kubernetes Dashboard) 并访问它。

Dashboard 是一个基于 Web 的 Kubernetes 用户界面。您可以使用 Dashboard 将容器化应用程序部署到 Kubernetes 集群、排查容器化应用程序问题以及管理集群资源。您可以使用 Dashboard 来概览集群上运行的应用程序,以及创建或修改单个 Kubernetes 资源(例如 Deployment、Job、DaemonSet 等)。例如,您可以使用部署向导来扩展 Deployment、启动滚动更新、重启 Pod 或部署新应用程序。

Dashboard 还提供有关集群中 Kubernetes 资源状态以及可能发生的任何错误的信息。

Kubernetes Dashboard UI

部署 Dashboard UI

Dashboard UI 默认不部署。要部署它,请运行以下命令

# Add kubernetes-dashboard repository
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
# Deploy a Helm Release named "kubernetes-dashboard" using the kubernetes-dashboard chart
helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard

访问 Dashboard UI

为了保护您的集群数据,Dashboard 默认使用最小的 RBAC 配置进行部署。目前,Dashboard 仅支持使用 Bearer 令牌登录。要为此演示创建一个令牌,您可以按照我们的创建示例用户指南进行操作。

命令行代理

您可以通过运行以下命令,使用 kubectl 命令行工具启用对 Dashboard 的访问

kubectl proxy

Kubectl 将使 Dashboard 可在 https://127.0.0.1:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ 访问。

该 UI 只能从执行命令的计算机访问。有关更多选项,请参阅 kubectl proxy --help

欢迎视图

当您在空集群上访问 Dashboard 时,您将看到欢迎页面。此页面包含指向本文档的链接以及部署您的第一个应用程序的按钮。此外,您可以查看哪些系统应用程序默认在集群的 kube-system 命名空间中运行,例如 Dashboard 本身。

Kubernetes Dashboard welcome page

部署容器化应用程序

Dashboard 让您可以通过简单的向导创建和部署容器化应用程序作为 Deployment 和可选的 Service。您可以手动指定应用程序详细信息,也可以上传包含应用程序配置的 YAML 或 JSON 清单文件。

单击任何页面右上角的 创建 按钮即可开始。

指定应用程序详细信息

部署向导希望您提供以下信息

  • 应用程序名称 (必填):您的应用程序的名称。一个带有该名称的 标签将添加到要部署的 Deployment 和 Service(如果有)。

    应用程序名称在所选 Kubernetes 命名空间中必须是唯一的。它必须以小写字符开头,以小写字符或数字结尾,并且只包含小写字母、数字和破折号 (-)。它限制为 24 个字符。开头和结尾的空格将被忽略。

  • 容器镜像 (必填):任何注册表上的公共 Docker 容器镜像的 URL,或私有镜像(通常托管在 Google 容器注册表或 Docker Hub 上)。容器镜像规范必须以冒号结尾。

  • Pod 数量 (必填):您希望应用程序部署到的目标 Pod 数量。该值必须为正整数。

    将创建一个 Deployment,以在您的集群中维护所需的 Pod 数量。

  • Service (可选):对于应用程序的某些部分(例如前端),您可能希望将 Service 公开到集群外部的外部(可能是公共)IP 地址(外部 Service)。

    仅从集群内部可见的其他 Service 称为内部 Service。

    无论 Service 类型如何,如果您选择创建 Service 并且您的容器侦听端口(传入),则需要指定两个端口。Service 将创建映射端口(传入)到容器看到的目标端口的映射。此 Service 将路由到您部署的 Pod。支持的协议是 TCP 和 UDP。此 Service 的内部 DNS 名称将是您在上面指定为应用程序名称的值。

如果需要,您可以展开 高级选项 部分,您可以在其中指定更多设置

  • 描述:您在此处输入的文本将作为 注释 添加到 Deployment 中,并在应用程序的详细信息中显示。

  • 标签:用于您的应用程序的默认 标签 是应用程序名称和版本。您可以指定要应用于 Deployment、Service(如果有)和 Pod 的其他标签,例如发布、环境、层、分区和发布轨道。

    示例

    release=1.0
    tier=frontend
    environment=pod
    track=stable
    
  • 命名空间:Kubernetes 支持由同一物理集群支持的多个虚拟集群。这些虚拟集群称为 命名空间。它们允许您将资源划分为逻辑命名的组。

    Dashboard 在下拉列表中提供所有可用的命名空间,并允许您创建新的命名空间。命名空间名称最多可包含 63 个字母数字字符和破折号 (-),但不能包含大写字母。命名空间名称不应仅由数字组成。如果名称设置为数字,例如 10,则 Pod 将被放入默认命名空间中。

    如果命名空间的创建成功,则默认选择该命名空间。如果创建失败,则选择第一个命名空间。

  • 镜像拉取密钥:如果指定的 Docker 容器镜像为私有镜像,则可能需要 拉取密钥 凭据。

    Dashboard 在下拉列表中提供所有可用的密钥,并允许您创建新的密钥。密钥名称必须遵循 DNS 域名语法,例如 new.image-pull.secret。密钥的内容必须是 base64 编码的,并在 .dockercfg 文件中指定。密钥名称最多可包含 253 个字符。

    如果镜像拉取密钥的创建成功,则默认选择该密钥。如果创建失败,则不应用任何密钥。

  • CPU 要求(核心)内存要求(MiB):您可以指定容器的最小 资源限制。默认情况下,Pod 在不受限制的 CPU 和内存限制下运行。

  • 运行命令运行命令参数:默认情况下,您的容器运行指定的 Docker 镜像的默认 入口点命令。您可以使用命令选项和参数来覆盖默认值。

  • 以特权模式运行:此设置确定 特权容器中的进程是否等效于在主机上以 root 身份运行的进程。特权容器可以使用诸如操纵网络堆栈和访问设备之类的功能。

  • 环境变量:Kubernetes 通过 环境变量 公开 Service。您可以使用环境变量的值来组成环境变量或将参数传递给命令。它们可以在应用程序中用于查找 Service。值可以使用 $(VAR_NAME) 语法引用其他变量。

上传 YAML 或 JSON 文件

Kubernetes 支持声明式配置。在这种风格中,所有配置都存储在清单中(YAML 或 JSON 配置文件)。清单使用 Kubernetes API 资源模式。

作为在部署向导中指定应用程序详细信息的替代方法,您可以在一个或多个清单中定义您的应用程序,并使用 Dashboard 上传文件。

使用 Dashboard

以下各节介绍 Kubernetes Dashboard UI 的视图;它们提供什么以及如何使用它们。

当集群中定义了 Kubernetes 对象时,Dashboard 会在初始视图中显示它们。默认情况下,仅显示来自 default 命名空间的对象,可以使用位于导航菜单中的命名空间选择器来更改此设置。

Dashboard 显示大多数 Kubernetes 对象类型,并将它们分组在几个菜单类别中。

管理员概述

对于集群和命名空间管理员,Dashboard 列出节点、命名空间和持久卷,并具有它们的详细信息视图。节点列表视图包含在所有节点上汇总的 CPU 和内存使用率指标。详细信息视图显示节点的指标、其规范、状态、已分配资源、事件以及在节点上运行的 Pod。

工作负载

显示所选命名空间中运行的所有应用程序。该视图按工作负载类型(例如:Deployments、ReplicaSets、StatefulSets)列出应用程序。每种工作负载类型都可以单独查看。列表汇总了有关工作负载的可操作信息,例如 ReplicaSet 的就绪 Pod 数量或 Pod 的当前内存使用情况。

工作负载的详细视图显示状态和规范信息,以及对象之间的关系。例如,ReplicaSet 控制的 Pod,或者 Deployments 的新 ReplicaSets 和 HorizontalPodAutoscalers。

服务

显示允许将服务暴露给外部世界并在集群内发现它们的 Kubernetes 资源。因此,Service 和 Ingress 视图显示它们所针对的 Pod,用于集群连接的内部端点以及用于外部用户的外部端点。

存储

存储视图显示应用程序用于存储数据的 PersistentVolumeClaim 资源。

ConfigMaps 和 Secrets

显示用于实时配置集群中运行的应用程序的所有 Kubernetes 资源。该视图允许编辑和管理配置对象,并默认隐藏 secrets。

日志查看器

Pod 列表和详细信息页面链接到内置于 Dashboard 的日志查看器。该查看器允许深入查看属于单个 Pod 的容器的日志。

Logs viewer

下一步是什么

有关更多信息,请参阅 Kubernetes Dashboard 项目页面

上次修改时间:2024 年 4 月 5 日晚上 11:17 PST:Update web-ui-dashboard.md (6c409b3e75)