您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

访问 Azure Kubernetes 服务 (AKS) 中的 Kubernetes Web 仪表板

Kubernetes 包含一个可用于基本管理操作的 Web 仪表板。 使用此仪表板,可以查看应用程序的基本运行状况状态和指标,创建并部署服务,以及编辑现有应用程序。 本文介绍如何使用 Azure CLI 访问 Kubernetes 仪表板,然后引导你完成一些基本的仪表板操作。

有关 Kubernetes 仪表板的详细信息,请参阅 Kubernetes Web UI 仪表板。 AKS 使用版本 2.0 及更高版本的开源仪表板。

警告

将 AKS 仪表板外接程序设置为弃用。改为使用 Azure 门户中的 Kubernetes 资源视图(预览版)

  • 默认情况下,所有新群集都将禁用仪表板加载项。
  • 从 Kubernetes 1.19 预览版开始,AKS 将不再支持安装托管的 kube-dashboard 加载项。
  • 启用了加载项的现有群集不会受到影响。 用户能够继续将开源仪表板作为用户安装的软件手动安装。

准备阶段

本文档详述的步骤假设你已创建 AKS 群集并已通过该群集建立 kubectl 连接。 如果需要创建 AKS 群集,请参阅快速入门:使用 Azure CLI 部署 Azure Kubernetes 服务群集

还需要安装并配置 Azure CLI 2.6.0 或更高版本。 运行 az --version 即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI

禁用 Kubernetes 仪表板

可以通过运行以下命令禁用加载项。

az aks disable-addons -g myRG -n myAKScluster -a kube-dashboard

登录到仪表板 (kubernetes 1.16+)

重要

Kubernetes 仪表板 v1.10.1 或 kubernetes v1.16 + 开始,由于该版本中的安全修补程序,服务帐户“kubernetes-dashboard”不再能够用于检索资源。 因此,没有身份验证信息的请求会返回 401 未授权错误。 从服务帐户检索的持有者令牌仍可通过此 Kubernetes 仪表板示例中的方式使用,但与早期版本相比,这会影响仪表板加载项的登录流。

如果仍运行 1.16 之前的版本,则仍可向“kubernetes-dashboard”服务帐户授予权限,但不建议这样做:

kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard

显示的初始屏幕要求提供 kubeconfig 或令牌。 这两个选项都要求提供资源权限才会在仪表板中显示这些资源。

登录屏幕

使用 kubeconfig

对于启用了 Azure AD 的群集和启用了非 Azure AD 的群集,都可以传入kubeconfig。 确保访问令牌有效,如果令牌已过期,则可以通过 kubectl 刷新令牌。

  1. 使用 az aks get-credentials -a --resource-group <RG_NAME> --name <CLUSTER_NAME> 设置管理员 kubeconfig
  2. 选择 Kubeconfig 并单击 Choose kubeconfig file 打开文件选择器
  3. 选择 kubeconfig 文件(默认为 $HOME/.kube/config)
  4. 单击 Sign In

使用令牌

  1. 对于启用了非 Azure AD 的群集,运行 kubectl config view 并复制与群集的用户帐户关联的令牌。
  2. 登录时,粘贴到令牌选项中。
  3. 单击 Sign In

对于启用了 Azure AD 的群集,使用以下命令检索 AAD 令牌。 验证是否已替换命令中的资源组和群集名称。

## Update <RESOURCE_GROUP and <AKS_NAME> with your input.

kubectl config view -o jsonpath='{.users[?(@.name == "clusterUser_<RESOURCE GROUP>_<AKS_NAME>")].user.auth-provider.config.access-token}'

成功后,将显示类似如下的页面。

Kubernetes Web 仪表板的概述页

创建应用程序

以下步骤要求用户具有对相应资源的权限。

若要查看 Kubernetes 仪表板可以如何降低管理任务的复杂性,让我们创建一个应用程序。 可以从 Kubernetes 仪表板通过提供文本输入、YAML 文件或通过一个图形化向导来创建应用程序。

若要创建应用程序,请完成以下步骤:

  1. 选择窗口右上角的“创建”按钮。
  2. 若要使用图形化向导,请选择“创建应用”。
  3. 为部署提供一个名称,例如 nginx
  4. 输入要使用的容器映像的名称,例如 nginx:1.15.5
  5. 若要为 Web 流量公开端口 80,请创建一个 Kubernetes 服务。 在“服务”下,选择“外部”,对于端口和目标端口,都输入 80
  6. 准备就绪后,选择“部署”来创建应用。

在 Kubernetes Web 仪表板中部署应用

为 Kubernetes 服务分配公共外部 IP 地址需要一到两分钟时间。 在左侧,在“发现和负载均衡”下,选择“服务”。 此时将列出应用的服务,包括“外部终结点”,如以下示例中所示:

查看服务和终结点的列表

选择终结点地址以在 Web 浏览器窗口中打开默认的 NGINX 页面:

查看部署的应用程序的默认 NGINX 页面

查看 Pod 信息

Kubernetes 仪表板可以提供基本的监视指标和故障排除信息,例如日志。

若要查看有关应用程序 Pod 的详细信息,请在左侧菜单中选择“Pod”。 此时会显示可用 Pod 的列表。 选择你的 nginx Pod 来查看信息,例如资源消耗:

查看 Pod 信息

编辑应用程序

除了创建和查看应用程序之外,Kubernetes 仪表板还可以用来编辑和更新应用程序部署。 若要为应用程序提供额外的冗余,让我们来增加 NGINX 副本数。

若要编辑部署,请执行以下操作:

  1. 在左侧菜单中选择“部署”,然后选择你的 nginx 部署。
  2. 在右上角的导航栏中选择“编辑”。
  3. 找到 spec.replica 值,大约在第 20 行。 若要增加应用程序的副本数,请将此值从 1 更改为 3
  4. 在完成后,选择“更新”。

编辑部署以更新副本数

在副本集内创建新 Pod 需要花费一些时间。 在左侧菜单上,选择“副本集”,然后选择你的 nginx 副本集。 Pod 列表现在反映了已更新的副本计数,如以下示例输出中所示:

查看副本集的信息

后续步骤

有关 Kubernetes 仪表板的详细信息,请参阅 Kubernetes Web UI 仪表板