使用 Config Sync 信息中心

本页面介绍如何使用 Config Sync 信息中心。

此信息中心可让您全面了解 Config Sync 管理的软件包以及这些软件包中的资源的状态。

准备工作

IAM 权限

如需访问 Config Sync 信息中心,项目中需要以下 IAM 角色:

  • roles/container.clusterViewer
  • roles/gkehub.viewer

基于角色的访问权限控制

用户还需要在每个集群中拥有相关 Kubernetes 权限。如果您不想向用户授予广泛的权限(例如集群管理员的权限),则可以创建一个包含使用 Config Sync 信息中心所需的最低权限的自定义 RBAC 角色。

config-sync-dashboard-reader ClusterRole 会向用户授予信息中心所需资源的 getlist 权限。

  1. 要创建 config-sync-dashboard-reader ClusterRole 并将其应用于集群,请运行以下命令:

    cat <<EOF > config-sync-dashboard-reader.yaml
    kind: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: config-sync-dashboard-reader
    rules:
    - apiGroups: ["apiextensions.k8s.io"]
      resources: ["customresourcedefinitions"]
      verbs: ["get", "list"]
    - apiGroups: ["configmanagement.gke.io"]
      resources: ["configmanagements"]
      verbs: ["get", "list"]
    - apiGroups: ["configsync.gke.io"]
      resources: ["rootsyncs", "reposyncs"]
      verbs: ["get", "list"]
    - apiGroups: ["kpt.dev"]
      resources: ["resourcegroups"]
      verbs: ["get", "list"]
    - apiGroups: ["apps"]
      resources: ["deployments"]
      verbs: ["get", "list"]
    - apiGroups: [""]
      resources: ["pods", "services"]
      verbs: ["get", "list"]
    - apiGroups: ["anthos.cloud.google.com"]
      resources: ["canonicalservices"]
      verbs: ["get", "list"]
    - apiGroups: ["networking.istio.io"]
      resources: ["virtualservices"]
      verbs: ["get", "list"]
    
    EOF
    kubectl apply -f config-sync-dashboard-reader.yaml
    
  2. 按照在 Google Kubernetes Engine (GKE) Enterprise 版本集群上配置基于角色的访问控制的说明来设置 ClusterRoleBinding

访问信息中心

  1. 在 Google Cloud 控制台中,转到功能部分下的配置页面。

    转到“配置”

  2. 选择要查看的项目。

查看信息中心

信息中心标签页提供 Config Sync 安装的状态概览:

  • 对账状态显示进行了协调的软件包数量。如果已实现所需的状态(由软件包中的资源表示),则说明软件包已协调。

    您的软件包可能具有以下协调状态:

    • 当前:软件包的实际状态与期望状态匹配。协调过程被视为完成,直到所需状态或实际状态发生更改。
    • 进行中:软件包的实际状态尚未达到期望状态(由软件包中的资源表示)。新创建的软件包通常以此状态开始。
    • 失败:将实际状态与所需状态进行协调的过程遇到错误或跟不上进度。
    • 未知:Config Sync 无法确定软件包的协调状态。
  • Synchronization status(同步状态)显示进行了同步的软件包数量。如果来源(例如 Git 代码库)中观察到的软件包最新状态反映在集群中,则说明该软件包已同步。

    您的软件包可能具有以下同步状态:

    • Synced(已同步):软件包已同步到集群。
    • 待处理:软件包正在等待同步。
    • 正在协调:同步软件包的 Deployment 正在协调。
    • Stalled(已停滞):同步软件包的 Deployment 已停滞。
    • 错误:软件包在同步期间遇到错误。
    • 未知:Config Sync 无法确定软件包的同步状态。
  • Config Sync 状态显示集群上 Config Sync 的安装状态。

    您的集群可能具有以下与 Config Sync 相关的状态:

    • 已启用:集群已启用 Config Sync。
    • 未启用:集群未启用 Config Sync。
    • 待处理:集群已启用 Config Sync,但正在进行更改。此状态通常在首次配置期间或更新到新版本时出现。
    • 错误:集群已启用 Config Sync,但存在问题且 Config Sync 无法正常工作。
    • 未知:无法确定 Config Sync 的状态。

其他表格显示了按软件包和集群分组的问题,并提供了安装 Config Sync 和查看设置的链接以及入门资源。

查看软件包状态

通过软件包标签页,您可以查看有关各个软件包和集群的深入详细信息。使用此标签页可以更好地了解同步错误和健康状况不佳的资源背后的潜在原因。

修改软件包

您还可以使用软件包标签页修改软件包配置。

如需修改软件包,请完成以下步骤:

  1. 在要修改的软件包的名称旁边,选择修改软件包列中的
  2. 软件包详情部分的来源类型下拉列表中,选择您的来源类型。
  3. 来源部分,完成以下操作:

    • 对于托管在 Git 代码库中的源代码,请输入以下字段:

      1. 输入您用作可靠来源的 Git 代码库的网址作为代码库网址
      2. 可选:更新修订版本字段以检查您是否未使用默认的 HEAD
      3. 可选:如果您不想从根代码库同步,请更新路径字段。
      4. 可选:如果您不使用默认 main 分支,请更新分支字段。
    • 对于托管在 OCI 映像中的来源,请输入以下字段:

      1. 输入用作映像的可靠来源的 OCI 映像的网址。
      2. 输入要从中同步的目录的路径(相对于根目录)以作为目录
  4. (可选):展开高级设置部分,完成以下操作:

    1. 选择身份验证类型

      • :不使用身份验证。
      • SSH:使用 SSH 密钥对。
      • Cookiefile:使用 cookiefile
      • 令牌:使用令牌。
      • Google Cloud 代码库:使用 Google 服务账号访问 Cloud Source Repositories 代码库。请仅在集群中未启用 Workload Identity 时选择此选项。
      • Workload Identity:使用 Google 服务账号访问 Cloud Source Repositories 代码库。
    2. 输入数字以设置同步等待时间,这决定了 Config Sync 从可靠来源同步之间的等待时间。

    3. 输入 Git 代理网址,以便在与可靠来源通信时使用 HTTPS 代理。

    4. 选择层次结构以更改来源格式

      在大多数情况下,建议使用默认值非结构化,因为它支持您根据需要整理可靠来源。

  5. 修改完软件包后,点击保存

    系统会将您重定向至 Config Sync 软件包页面。几分钟后,您应该会在配置的软件包的 同步状态列中看到 Synced(已同步)。

查看设置

设置标签页显示集群列表以及有关其 Config Sync 设置和舰队设置的信息。

您还可以使用此标签页在集群上升级 Config Sync:

  • 在要升级的集群的名称旁边,选择上下文菜单 ,然后选择 修改配置

如需查看 Config Sync 设置的指导信息,请参阅配置 Config Sync

后续步骤