部署和访问 Kubernetes Dashboard
Kubernetes Dashboard 已弃用且不再维护。
Kubernetes Dashboard 项目已被归档,不再积极维护。对于新的安装,请考虑使用 Headlamp。
说明
对于类似于 Kubernetes Dashboard 的集群内部署,请参阅 Headlamp 集群内安装指南。Dashboard 是一个基于 Web 的 Kubernetes 用户界面。您可以使用 Dashboard 将容器化应用程序部署到 Kubernetes 集群,排查容器化应用程序的问题,以及管理集群资源。您可以使用 Dashboard 获得集群上运行的应用程序的概览,以及创建或修改单个 Kubernetes 资源(例如 Deployments、Jobs、DaemonSets 等)。例如,您可以扩展 Deployment,启动滚动更新,重新启动 Pod 或使用部署向导部署新应用程序。
Dashboard 还提供有关集群中 Kubernetes 资源状态以及可能发生的任何错误的信息。

部署 Dashboard UI
说明
Kubernetes Dashboard 当前仅支持基于 Helm 的安装,因为它更快并且使我们能够更好地控制 Dashboard 运行所需的所有依赖项。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 Token 登录。要为此演示创建 Token,您可以按照我们的指南 创建示例用户。
警告
教程中创建的示例用户将具有管理权限,仅供教育目的使用。命令行代理
您可以使用 kubectl 命令行工具启用对 Dashboard 的访问,方法是运行以下命令
kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard-kong-proxy 8443:443
Kubectl 将在 https://:8443 上提供 Dashboard。
UI 只能从执行该命令的机器访问。有关更多选项,请参阅 kubectl port-forward --help。
说明
kubeconfig 身份验证方法不支持外部身份提供程序或基于 X.509 证书的身份验证。欢迎视图
当您访问 Dashboard 上的空集群时,您将看到欢迎页面。此页面包含指向本文档的链接以及部署您的第一个应用程序的按钮。此外,您可以查看默认在集群的 kube-system 命名空间 中运行的系统应用程序。

部署容器化应用程序
Dashboard 允许您使用简单的向导将容器化应用程序创建和部署为 Deployment 和可选 Service。您可以手动指定应用程序详细信息,也可以上传包含应用程序配置的 YAML 或 JSON manifest 文件。
单击任何页面的右上角的 CREATE 按钮开始。
指定应用程序详细信息
部署向导要求您提供以下信息
应用程序名称(必填):您的应用程序的名称。将添加一个带有该名称的 标签 到将要部署的 Deployment 和 Service(如果有)。
应用程序名称必须在所选 Kubernetes 命名空间 中是唯一的。它必须以小写字符开头,并以小写字符或数字结尾,并且仅包含小写字母、数字和破折号 (-)。限制为 24 个字符。前导和尾随空格将被忽略。
容器镜像(必填):公共 Docker 容器镜像 在任何注册表上的 URL,或私有镜像(通常托管在 Google Container Registry 或 Docker Hub 上)。容器镜像规范必须以冒号结尾。
Pod 数量(必填):您希望应用程序部署的 Pod 的目标数量。该值必须是正整数。
将创建一个 Deployment 以在您的集群中维护所需的 Pod 数量。
Service(可选):对于应用程序的某些部分(例如前端),您可能希望将 Service 暴露到集群外部的外部公共 IP 地址(外部 Service)。
说明
对于外部 Service,您可能需要打开一个或多个端口才能执行此操作。仅在集群内部可见的其他 Service 称为内部 Service。
无论 Service 类型如何,如果您选择创建 Service 并且您的容器侦听一个端口(传入),您需要指定两个端口。Service 将创建映射传入端口到容器看到的的目标端口。此 Service 将路由到您部署的 Pod。支持的协议是 TCP 和 UDP。此 Service 的内部 DNS 名称是您指定为应用程序名称的值。
如果需要,您可以展开 高级选项 部分,您可以在其中指定更多设置
描述:您在此处输入的文本将作为 注释 添加到 Deployment 并显示在应用程序的详细信息中。
标签:默认 标签 用于您的应用程序是应用程序名称和版本。您可以指定要应用于 Deployment、Service(如果有)和 Pod 的其他标签,例如 release、environment、tier、partition 和 release track。
示例
release=1.0 tier=frontend environment=pod track=stable命名空间:Kubernetes 支持由相同的物理集群支持的多个虚拟集群。这些虚拟集群称为 命名空间。它们允许您将资源划分为逻辑命名组。
Dashboard 在下拉列表中提供所有可用的命名空间,并允许您创建一个新的命名空间。命名空间名称最多可以包含 63 个字母数字字符和破折号 (-),但不能包含大写字母。命名空间名称不应仅由数字组成。如果名称设置为数字,例如 10,则 Pod 将被放置在默认命名空间中。
如果命名空间的创建成功,则默认情况下会选择它。如果创建失败,则会选择第一个命名空间。
镜像拉取密钥:如果指定的 Docker 容器镜像为私有镜像,则可能需要 pull secret 凭据。
Dashboard 在下拉列表中提供所有可用的密钥,并允许您创建一个新的密钥。密钥名称必须遵循 DNS 域名语法,例如
new.image-pull.secret。密钥的内容必须是 base64 编码,并指定在.dockercfg文件中。密钥名称最多可以包含 253 个字符。如果镜像拉取密钥的创建成功,则默认情况下会选择它。如果创建失败,则不会应用任何密钥。
CPU 要求(核心数) 和 内存要求(MiB):您可以指定容器的最小 资源限制。默认情况下,Pod 以无限制的 CPU 和内存限制运行。
运行命令 和 运行命令参数:默认情况下,您的容器运行指定的 Docker 镜像的默认 入口命令。您可以使用命令选项和参数来覆盖默认设置。
以特权模式运行:此设置确定 特权容器 中的进程是否等同于在主机上以 root 用户身份运行的进程。特权容器可以利用诸如操作网络堆栈和访问设备等功能。
环境变量:Kubernetes 通过 环境变量 暴露 Services。您可以组合环境变量或使用环境变量的值将参数传递给您的命令。它们可以用于应用程序以查找 Service。值可以使用
$(VAR_NAME)语法引用其他变量。
上传 YAML 或 JSON 文件
Kubernetes 支持声明式配置。在这种风格中,所有配置都存储在清单(YAML 或 JSON 配置文件)中。清单使用 Kubernetes API 资源模式。
作为在部署向导中指定应用程序详细信息的替代方案,您可以将应用程序定义在一个或多个清单中,并使用 Dashboard 上传这些文件。
使用 Dashboard
以下部分描述了 Kubernetes Dashboard UI 的视图;它们提供的功能以及如何使用它们。
导航
当集群中定义了 Kubernetes 对象时,Dashboard 会在初始视图中显示它们。默认情况下,仅显示 default 命名空间中的对象,可以使用导航菜单中位于的命名空间选择器进行更改。
Dashboard 显示大多数 Kubernetes 对象类型,并将它们分组到几个菜单类别中。
管理员概览
对于集群和命名空间管理员,Dashboard 会列出 Nodes、Namespaces 和 PersistentVolumes,并具有它们的详细视图。节点列表视图包含聚合到所有节点上的 CPU 和内存使用情况指标。详细视图显示节点的指标、规范、状态、已分配的资源、事件以及在节点上运行的 Pod。
工作负载
显示在所选命名空间中运行的所有应用程序。该视图按工作负载类型(例如:Deployments、ReplicaSets、StatefulSets)列出应用程序。可以单独查看每种工作负载类型。列表总结了有关工作负载的可操作信息,例如 ReplicaSet 的就绪 Pod 数量或 Pod 的当前内存使用量。
工作负载的详细视图显示状态和规范信息,并显示对象之间的关系。例如,ReplicaSet 正在控制的 Pod,或 Deployments 的新 ReplicaSet 和 HorizontalPodAutoscalers。
服务
显示允许将服务暴露到外部世界并在集群内发现服务的 Kubernetes 资源。因此,Service 和 Ingress 视图显示由它们定位的 Pod、集群内部连接的内部端点以及外部用户的外部端点。
存储
存储视图显示 PersistentVolumeClaim 资源,这些资源由应用程序用于存储数据。
ConfigMaps 和 Secrets
显示所有用于集群中运行的应用程序的实时配置的 Kubernetes 资源。该视图允许编辑和管理配置对象,并默认显示隐藏的密钥。
日志查看器
Pod 列表和详细页面链接到内置于 Dashboard 中的日志查看器。该查看器允许深入查看属于单个 Pod 的容器的日志。

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