nomos 指令列工具可協助處理 Config Sync 的常見管理工作,例如產生診斷封存檔。封存內容的確切輸出內容和版面配置可能會變更,且不視為 API。nomos 的程式碼位於 Config Sync 存放區。
您可以執行 kubectl get 或 kubectl logs,從叢集取得類似資訊,但 nomos bugreport 的優點是會建立 Config Sync 系統重要資訊的封存檔。與 Google Cloud 支援團隊聯絡時,請提供 nomos bugreport輸出內容。
您也可以使用 nomos bugreport 的輸出內容進行偵錯或內部支援。
nomos bugreport 輸出檔案結構如下所示:
- raw/
- cluster/
- configmanagement/
- namespaces/
- config-management-monitoring/
- config-management-system/
- gatekeeper-system/
- resource-group-system/
- kube-system/
- processed/
- status.txt
- version.txt
您可以從「nomos bugreport」取得以下資訊:
- 「Nomos version」會顯示 Config Sync 版本,也就是
nomos version的輸出內容。 - Nomos 狀態會顯示
nomos status狀態的輸出內容,例如已同步處理的提交內容和任何錯誤。 - Config Sync 自訂資源的相關資訊:
- 如果是叢集範圍的資源,例如 ConfigManagement 和 ClusterSelectors,則位於
raw/cluster-1/cluster/configmanagement/。 - 如果是命名空間範圍內的資源,例如 RootSync、RepoSync 和 ResourceGroup,則位於
raw/cluster-1/namespaces/namespace-1。
- 如果是叢集範圍的資源,例如 ConfigManagement 和 ClusterSelectors,則位於
- 由 Config Sync 同步處理及管理的資源:
- 如果已啟用 RootSync 和 RepoSync API,則位於 ResourceGroup 的規格中。您可以取得這些資源的數量,以及種類、命名空間和名稱。
- 如果您未啟用 RootSync 和 RepoSync API,且在
ConfigManagement物件 (已淘汰) 中指定 Git 欄位,則資源的完整內容會位於 ClusterConfigs 和 NamespaceConfigs 中。您應遷移ConfigManagement物件。
- 所有 Config Sync Pod 的記錄都位於
raw/cluster-1/namespaces/pod-namespace-1/pod-name-1/container-name.txt下方。 - 所有 Config Sync Pod 的完整內容:位於
raw/cluster-1/namespaces/pod-namespace-1/pods.txt下方。 - 是否已啟用 Config Sync RootSync 和 RepoSync API (即使用多存放區模式)?
- 檢查
ConfigManagement資源,如果看到spec.enableMultiRepo: true,表示已啟用 RootSync 和 RepoSync API。 - 如果看到 RootSync、RepoSync 或協調器 Pod 等元件,表示您已啟用 RootSync 和 RepoSync API。
- 如果看到 git-importer Pod 等元件,表示 RootSync 和 RepoSync API 未啟用,您需要遷移
ConfigManagement物件。
- 檢查