监控 RootSync 和 RepoSync 对象
本页面介绍了监控 RootSync 和 RepoSync 对象时可以使用的不同方式。
查看日志
本部分介绍如何查看 RootSync 和 RepoSync 对象的日志。 查看日志可发现有关潜在错误的信息。
如需查看 RootSync 调节器的日志,请运行以下命令:
kubectl logs -n config-management-system deployment/root-reconciler CONTAINER_NAME
将
CONTAINER_NAME
替换为以下某个值:git-sync
:git-sync
容器将配置从 Git 代码库拉取到协调器容器可以读取的本地目录。hydration-controller
:hydration-controller
容器渲染从代码库中提取的任何 Helm 或 Kustomize 配置,然后将渲染的配置保存在共享卷中以供reconciler
容器进一步处理。otel-agent
:otel-agent
容器是一个用于检索和导出 Config Sync 指标的 OpenTelemetry 代理。reconciler
:reconciler
容器会将这些配置应用到集群。
如需查看 RepoSync 调节器的日志,请运行以下命令:
kubectl logs -n config-management-system deployment/ns-reconciler-NAMESPACE CONTAINER_NAME
请替换以下内容:
NAMESPACE
:您在其中创建了命名空间代码库的命名空间。CONTAINER_NAME
:git-sync
、hydration-controller
、otel-agent
或reconciler
。
查看已同步的提交
您可以检查哪个提交已同步到集群。
如需查看 RootSync 的同步提交,请运行以下命令:
kubectl get rootsync root-sync -n config-management-system
如需查看 RepoSync 的同步提交,请运行以下命令:
kubectl get reposync repo-sync -n NAMESPACE
将
NAMESPACE
替换为在其中创建了命名空间代码库的命名空间。
这些命令的输出会显示来源提交的值和同步提交。例如,如果您运行了 RepoSync 的命令,则会看到类似于以下内容的输出:
NAME RENDERINGCOMMIT SOURCECOMMIT SYNCCOMMIT
root-sync 66882815f0ef5517df27e864fb1315e97756ab72 66882815f0ef5517df27e864fb1315e97756ab72 66882815f0ef5517df27e864fb1315e97756ab72
RENDERINGCOMMIT
列中的值是 hydration-controller
处理的提交。如果不需要渲染,则该值与 SOURCECOMMIT
列相同。SOURCECOMMIT
列中的值是 Git 代码库中应同步到集群的提交。SYNCCOMMIT
列中的值是当前部署到集群的提交。如果 SOURCECOMMIT
和 SYNCCOMMIT
列中的两个值相同,则预期提交已部署到集群。
查看对象详情
如需查看 RootSync 和 RepoSync 对象的详情,请使用 kubectl describe
。该命令可以为您提供潜在错误的更多信息。
如需查看 RootSync 对象的详情,请运行以下命令:
kubectl describe rootsync root-sync -n config-management-system
如需查看 RepoSync 对象的详情,请运行以下命令:
kubectl describe reposync repo-sync -n NAMESPACE
将
NAMESPACE
替换为在其中创建了命名空间代码库的命名空间。
查看资源是否准备就绪
如需了解同步到集群的资源是否准备就绪,请查看协调状态。例如,如果您查看协调状态,则系统可以显示同步的 Deployment 是否已准备好处理流量。
对于同步到集群的 Git 代码库,所有资源的协调状态会汇总到一个名为 ResourceGroup 的资源中。对于每个 RootSync 或 RepoSync 对象,系统会生成一个 ResourceGroup 来捕获应用于集群的资源集,并汇总其状态。
如需查看 RootSync 对象的协调状态,请运行以下命令:
kubectl get resourcegroup.kpt.dev root-sync -n config-management-system -o yaml
如需查看 RepoSync 对象的协调状态,请运行以下命令:
kubectl get resourcegroup.kpt.dev repo-sync -n NAMESPACE -o yaml
将
NAMESPACE
替换为在其中创建了命名空间代码库的命名空间。
在输出中,您会看到所有 ResourceGroup 资源状态。例如,以下输出显示名为 nginx-deployment
的 Deployment 已准备就绪:
resourceStatuses:
- group: apps
kind: Deployment
name: nginx-deployment
namespace: default
status: Current