本页面介绍如何使用 Google Cloud CLI 命令监控 Config Sync:
使用
gcloud alpha anthos config sync repo
列出多个集群中的代码库状态。使用
gcloud alpha anthos config sync resources
查看 Config Sync 管理的资源。
您还可以在 Config Sync 信息中心中查看类似信息。
准备工作
在使用本页面上的命令之前,请完成以下步骤:
更新 Google Cloud CLI 组件:
gcloud components update
注册集群(如果您尚未注册)。如果您已通过 Google Cloud 控制台安装和配置 Config Sync,则可以跳过此步骤。
如果您的集群不是 GKE 集群,则平台管理员需要为已注册的集群设置 Connect 网关。
设置项目:
gcloud config set project PROJECT_ID
将
PROJECT_ID
替换为设置和运行 Config Sync 的项目 ID。
查看多个集群中的 Config Sync 状态
如果您在项目中的多个已注册集群上安装和配置 Config Sync,则可以使用 gcloud alpha anthos config sync repo
列出跨集群同步的代码库的状态并调试 Config Sync 问题。
与 nomos status
相比,gcloud alpha anthos config sync repo
按代码库对状态进行分组,而 nomos status
命令按集群对状态进行分组。
列出所有代码库
如需列出同步到当前项目中任何已注册集群的 Git 代码库的所有状态,请运行以下命令:
gcloud alpha anthos config sync repo list
输出类似于以下内容:
┌─────────────────────────────────────────────────────────────────┬───────┬────────┬─────────┬───────┬─────────┬─────────────┐
│ SOURCE │ TOTAL │ SYNCED │ PENDING │ ERROR │ STALLED │ RECONCILING │
├─────────────────────────────────────────────────────────────────┼───────┼────────┼─────────┼───────┼─────────┼─────────────┤
│ https://source.developers.google.com/p/test/r/test//@main │ 2 │ 2 │ 0 │ 0 │ 0 │ 0 │
│ https://source.developers.google.com/p/test/r/dev//@main │ 2 │ 1 │ 0 │ 0 │ 1 │ 0 │
│ https://source.developers.google.com/p/test/r/staging//@main │ 1 │ 0 │ 0 │ 1 │ 0 │ 0 │
└─────────────────────────────────────────────────────────────────┴───────┴────────┴─────────┴───────┴─────────┴─────────────┘
对于每个代码库,您可以查看各个集群的相应状态:
TOTAL
是代码库同步到的集群数量。SYNCED
是此代码库在其中已成功同步的集群的数量。PENDING
是此代码库在其中待同步的集群的数量。ERROR
是此代码库同步期间在其中出现错误的集群的数量。STALLED
是同步此代码库的 Deployment 在其中已停止的集群的数量。RECONCILING
是同步此代码库的 Deployment 在其中正在进行协调的集群的数量。
列出具有特定状态的代码库
您还可以使用 --status
标志列出具有特定状态的代码库。支持的值为 synced
、pending
、error
、stalled
和 reconciling
。
例如,通过运行以下命令列出存在错误的代码库:
gcloud alpha anthos config sync repo list --status=error
输出类似于以下内容:
┌─────────────────────────────────────────────────────────────────┬───────┬────────┬─────────┬───────┬─────────┬─────────────┐
│ SOURCE │ TOTAL │ SYNCED │ PENDING │ ERROR │ STALLED │ RECONCILING │
├─────────────────────────────────────────────────────────────────┼───────┼────────┼─────────┼───────┼─────────┼─────────────┤
│ https://source.developers.google.com/p/test/r/staging//@main │ 1 │ 0 │ 0 │ 1 │ 0 │ 0 │
└─────────────────────────────────────────────────────────────────┴───────┴────────┴─────────┴───────┴─────────┴─────────────┘
描述代码库
使用 describe 命令来查看代码库状态的详细信息:
gcloud alpha anthos config sync repo describe \
--source URL
将 URL
替换为上一部分所述的 repo list
命令输出中的网址。
您还可以使用 --namespace
和 --name
指定要描述的代码库。
gcloud alpha anthos config sync repo describe \
--sync-namespace config-management-system --sync-name root-sync
默认情况下,该命令会输出代码库状态以及已应用但协调失败的所有托管式资源。例如:
[
{
"clusters": [
"cluster-1",
"cluster-2",
],
"commit": "32293c90a63efba3121c7648048fcd3e85043a34",
"errors": [],
"source": "https://source.developers.google.com/p/test/r/test//@main",
"status": "SYNCED"
}
]
您还可以使用 --managed-resources
标志来控制要查看的代管式资源。支持的值包括 all
、current
、inprogress
、notfound
、failed
(默认值)或 unknown
。您可以使用以下命令查看所有代管式资源:
gcloud alpha anthos config sync repo describe \
--namespace config-management-system --name root-sync \
--managed-resources all
输出类似于以下内容:
[
{
"clusters": [
"cluster-1",
"cluster-2",
],
"commit": "32293c90a63efba3121c7648048fcd3e85043a34",
"errors": [],
"source": "https://source.developers.google.com/p/test/r/test//@main",
"status": "SYNCED"
}
]
┌────────────────────────────────────────────────────────────────┐
│ managed_resources │
├───────┬───────────┬─────────┬───────────┬─────────┬────────────┤
│ GROUP │ KIND │ NAME │ NAMESPACE │ STATUS │ CONDITIONS │
├───────┼───────────┼─────────┼───────────┼─────────┼────────────┤
│ │ Namespace │ default │ │ Current │ │
│ │ ConfigMap │ foo │ default │ Current │ │
└───────┴───────────┴─────────┴───────────┴─────────┴────────────┘
查看 Config Sync 管理的资源
您可以使用 gcloud alpha anthos config sync resources
按集群、群组、种类、命名空间、名称、状态或这些特性的组合来过滤代管式资源。
列出所有代管式资源
gcloud alpha anthos config sync resources list
此命令会列出同步到当前项目中任何已注册的集群的所有代管式资源。输出类似于以下内容:
┌───────────────────┬───────────────────────────┬──────────────────────────┬──────────────────┬───────────────────────────────────────────┬─────────┬───────────┐
│ CLUSTER_NAME │ GROUP │ KIND │ NAMESPACE │ NAME │ STATUS │ CONDITION │
├───────────────────┼───────────────────────────┼──────────────────────────┼──────────────────┼───────────────────────────────────────────┼─────────┼───────────┤
│ cluster-1 │ │ Namespace │ │ default │ Current │ │
│ cluster-1 │ rbac.authorization.k8s.io │ RoleBinding │ default │ viewers │ Current │ │
│ cluster-2 │ │ Namespace │ │ gamestore │ Current │ │
│ cluster-2 │ rbac.authorization.k8s.io │ RoleBinding │ gamestore │ gamestore-admin │ Current │ │
│ cluster-2 │ rbac.authorization.k8s.io │ RoleBinding │ gamestore │ gamestore-webstore-admin │ Current │ │
└───────────────────┴───────────────────────────┴──────────────────────────┴──────────────────┴───────────────────────────────────────────┴─────────┴───────────┘
输出的每一行描述了代管式资源及其相应的状态:
CLUSTER_NAME
是代管式资源所属的集群的名称。GROUP
是代管式资源的组特性。KIND
是托管式资源的种类属性。NAMESPACE
是代管式资源的命名空间。NAME
是托管式资源的名称。STATUS
是代管式资源的协调状态。您可以在 Kubernetes Sig 文档中找到可能状态的列表。CONDITION
是说明代管式资源的状态的消息。
列出单个集群中的代管式资源
您可以使用 gcloud
命令或在 Google Cloud 控制台中查看每个集群的代管式资源。
您可以使用 --cluster
标志列出特定集群中的代管式资源。例如,使用以下命令列出名为 cluster-1
的集群中的代管式资源:
gcloud alpha anthos config sync resources list --cluster=cluster-1
输出内容类似如下:
┌───────────────────┬───────────────────────────┬──────────────────────────┬──────────────────┬───────────────────────────────────────────┬─────────┬───────────┐
│ CLUSTER_NAME │ GROUP │ KIND │ NAMESPACE │ NAME │ STATUS │ CONDITION │
├───────────────────┼───────────────────────────┼──────────────────────────┼──────────────────┼───────────────────────────────────────────┼─────────┼───────────┤
│ cluster-1 │ │ Namespace │ │ default │ Current │ │
│ cluster-1 │ rbac.authorization.k8s.io │ RoleBinding │ default │ viewers │ Current │ │
└───────────────────┴───────────────────────────┴──────────────────────────┴──────────────────┴───────────────────────────────────────────┴─────────┴───────────┘
后续步骤
- 了解如何使用 nomos 命令行工具监控 Config Sync。
- 了解如何使用指标监控 Config Sync。