Help us learn about your current experience with the documentation. Take the survey.

Kubernetes 仪表板

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
  • Status: Beta

使用 Kubernetes 仪表板通过直观的可视化界面了解集群状态。 该仪表板适用于每个已连接的 Kubernetes 集群,无论您是使用 CI/CD 还是 GitOps 部署的。

Dashboard showing the status of Kubernetes pods and services.

配置仪表板

为给定环境配置仪表板。 您可以为已存在的环境配置仪表板,或在创建环境时添加一个。

先决条件:

  • 已为 Kubernetes 安装 GitLab agent,并且已为环境的项目或其父组配置了 user_access
  1. 在左侧边栏,选择 搜索或转到 并找到您的项目。
  2. 选择 运维 > 环境
  3. 选择要与 Kubernetes agent 关联的环境。
  4. 选择 编辑
  5. 选择一个 GitLab agent for Kubernetes。
  6. 可选。从 Kubernetes namespace 下拉列表中选择一个 namespace。
  7. 可选。从 Flux resource 下拉列表中选择一个 Flux 资源。
  8. 选择 保存
  1. 在左侧边栏,选择 搜索或转到 并找到您的项目。
  2. 选择 运维 > 环境
  3. 选择 新建环境
  4. 填写 名称 字段。
  5. 选择一个 GitLab agent for Kubernetes。
  6. 可选。从 Kubernetes namespace 下拉列表中选择一个 namespace。
  7. 可选。从 Flux resource 下拉列表中选择一个 Flux 资源。
  8. 选择 保存

为动态环境配置仪表板

为动态环境配置仪表板:

  • 在您的 .gitlab-ci.yml 文件中指定 agent。您必须指定 agent 配置项目的完整路径, 后跟冒号和 agent 的名称。

例如:

deploy_review_app:
  stage: deploy
  script: make deploy
  environment:
    name: review/$CI_COMMIT_REF_SLUG
    kubernetes:
      agent: path/to/agent/project:agent-name

有关更多信息,请参阅 CI/CD YAML 语法参考

查看仪表板

查看仪表板以查看已连接集群的状态。 您的 Kubernetes 资源和 Flux 协调更新会实时显示。

要查看配置好的仪表板:

  1. 在左侧边栏,选择 搜索或转到 并找到您的项目。
  2. 选择 运维 > 环境
  3. 选择与 Kubernetes agent 关联的环境。
  4. 选择 Kubernetes 概览 选项卡。

将显示一个 pod 列表。选择一个 pod 以查看其详细信息。

Flux 同步状态

您可以从仪表板查看 Flux 部署的同步状态。 要显示部署状态,您的仪表板必须能够检索 KustomizationHelmRelease 资源, 这需要为环境配置一个 namespace。

GitLab 会搜索环境设置中 Flux resource 下拉列表指定的 KustomizationHelmRelease 资源。

仪表板会显示以下状态徽章之一:

状态 描述
已协调 部署已成功与其环境协调。
协调中 正在进行协调。
停滞 协调因无法通过人工干预解决的错误而停滞。
失败 部署因不可恢复的错误而无法协调。
未知 无法检索部署的同步状态。
不可用 无法检索 KustomizationHelmRelease 资源。

触发 Flux 协调

您可以手动协调您的部署与其 Flux 资源。

要触发协调:

  1. 在仪表板上,选择 Flux 部署的同步状态徽章。
  2. 选择 操作 ( ellipsis_v ) > 触发协调 ( retry )。

暂停或恢复 Flux 协调

您可以从 UI 手动暂停或恢复您的 Flux 协调。

要暂停或恢复协调:

  1. 在仪表板上,选择 Flux 部署的同步状态徽章。
  2. 选择 操作 ( ellipsis_v ),然后选择以下选项之一:
    • 暂停协调 ( stop ) 以暂停 Flux 协调。
    • 恢复协调 ( play ) 以重新启动 Flux 协调。

查看 pod 日志

当您想从配置好的仪表板快速了解和排查跨环境问题时,查看 pod 日志。您可以查看 pod 中每个容器的日志。

  • 选择 查看日志,然后选择您要查看日志的容器。

您也可以从 pod 详细信息中查看 pod 日志。

删除 pod

要重启失败的 pod,请从 Kubernetes 仪表板中删除它。

要删除 pod:

  1. Kubernetes 概览 选项卡上,找到您要删除的 pod。
  2. 选择 操作 ( ellipsis_v ) > 删除 pod ( remove )。

您也可以从 pod 详细信息中删除 pod。

详细仪表板

The availability of this feature is controlled by a feature flag. For more information, see the history. This feature is available for testing, but not ready for production use.

详细仪表板提供以下 Kubernetes 资源的信息:

  • Pods
  • Services
  • Deployments
  • ReplicaSets
  • StatefulSets
  • DaemonSets
  • Jobs
  • CronJobs

每个仪表板都会显示一个资源列表,包含其状态、namespace 和运行时间。 您可以选择一个资源来打开一个抽屉,其中包含更多信息,包括标签 和 YAML 格式的状态、注释和规范。

显示已连接集群详细信息的仪表板。

由于 此问题 中描述的重点转移,详细仪表板的工作已暂停。

要提供对详细仪表板的反馈,请参阅 问题 460279

查看详细仪表板

先决条件:

  • 已为 Kubernetes 配置 GitLab agent,并使用 user_access 关键字与环境的项目或其父组共享。

详细仪表板未从侧边栏导航中链接。 要查看详细仪表板:

  1. 找到您的 Kubernetes agent ID:
    1. 在左侧边栏,选择 搜索或转到 并找到您的项目。
    2. 选择 运维 > Kubernetes 集群
    3. 复制您要访问的 agent 的数字 ID。
  2. 转到以下 URL 之一,将 <agent_id> 替换为您的 agent ID:
    资源类型 URL
    Pods https://myinstance.gitlab.com/-/kubernetes/<agent_id>/pods
    Services https://myinstance.gitlab.com/-/kubernetes/<agent_id>/services
    Deployments https://myinstance.gitlab.com/-/kubernetes/<agent_id>/deployments
    ReplicaSets https://myinstance.gitlab.com/-/kubernetes/<agent_id>/replicaSets
    StatefulSets https://myinstance.gitlab.com/-/kubernetes/<agent_id>/statefulSets
    DaemonSets https://myinstance.gitlab.com/-/kubernetes/<agent_id>/daemonSets
    Jobs https://myinstance.gitlab.com/-/kubernetes/<agent_id>/jobs
    CronJobs https://myinstance.gitlab.com/-/kubernetes/<agent_id>/cronJobs

故障排除

在使用 Kubernetes 仪表板时,您可能会遇到以下问题。

用户无法在 API 组中列出资源

您可能会收到一个错误,提示 错误:services 被禁止:用户 "gitlab:user:<用户名>" 无法在集群范围的 API 组 "" 中列出资源 "<资源名>"

当用户不被允许在 Kubernetes RBAC 中执行指定操作时,会发生此错误。

要解决此问题,请检查您的 RBAC 配置。如果 RBAC 配置正确,请联系您的 Kubernetes 管理员。

GitLab agent 下拉列表为空

当您配置新环境时,即使您已配置了 Kubernetes 集群,GitLab agent 下拉列表可能为空。

要填充 GitLab agent 下拉列表,请使用 user_access 关键字授予 agent Kubernetes 访问权限。