使用 Config Sync 信息中心

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

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

准备工作

IAM 权限

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

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

基于角色的访问权限控制

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

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) 企业版集群上配置基于角色的访问权限控制的说明进行操作,以设置 ClusterRoleBinding

访问信息中心

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

    前往“配置”

  2. 选择要查看的项目。

查看信息中心

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

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

    您的广告资源包可能具有以下对帐状态:

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

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

    • 已同步:软件包已同步到集群。
    • 待处理:文件包正在等待同步。
    • 正在协调:同步软件包的 Deployment 正在协调。
    • 已停用:同步软件包的 Deployment 已停止。
    • 错误:文件包在同步时遇到了错误。
    • 未知:Config Sync 无法确定软件包的同步状态。
  • Config Sync 状态显示集群上 Config Sync 的安装状态。

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

    • 已启用:已启用 Config Sync 的集群。
    • 未启用:未启用 Config Sync 的集群。
    • 待处理:已启用 Config Sync 但正在更改的集群。此状态通常发生在首次配置或更新到新版本时。
    • 错误:集群启用了 Config Sync,但存在一个问题,导致 Config Sync 无法正常运行。
    • 未知:无法确定 Config Sync 的状态。

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

查看文件包状态

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

修改软件包

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

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

  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 软件包页面。几分钟后,您应该会在已配置的软件包的同步状态列中看到已同步

查看设置

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

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

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

如需有关 Config Sync 设置的指导,请参阅配置 Config Sync

后续步骤