nomos bugreport contents

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」取得的資訊:

  1. 「Nomos version」會顯示 Config Sync 版本,也就是 nomos version 的輸出內容。
  2. Nomos 狀態會顯示 nomos status 狀態的輸出內容,例如已同步處理的提交內容和任何錯誤。
  3. Config Sync 自訂資源的相關資訊:
    1. ConfigManagement 和 ClusterSelectors 等叢集範圍資源位於 raw/cluster-1/cluster/configmanagement/。
    2. 如果是命名空間範圍內的資源,例如 RootSync、RepoSync 和 ResourceGroup,則位於 raw/cluster-1/namespaces/namespace-1。
  4. 由 Config Sync 同步處理及管理的資源:
    1. 如果已啟用 RootSync 和 RepoSync API,則位於 ResourceGroup 的規格中。您可以取得這些資源的數量,以及種類、命名空間和名稱。
    2. 如果您未啟用 RootSync 和 RepoSync API,且在 ConfigManagement 物件 (已淘汰) 中指定 Git 欄位,則資源的完整內容會位於 ClusterConfig 和 NamespaceConfig 中。您應遷移 ConfigManagement 物件。
  5. 所有 Config Sync Pod 的記錄都位於 raw/cluster-1/namespaces/pod-namespace-1/pod-name-1/container-name.txt 下方。
  6. 所有 Config Sync Pod 的完整內容:位於 raw/cluster-1/namespaces/pod-namespace-1/pods.txt 下方。
  7. 是否已啟用 Config Sync RootSync 和 RepoSync API (即使用多存放區模式)?
    1. 檢查 ConfigManagement 資源,如果看到 spec.enableMultiRepo: true,表示已啟用 RootSync 和 RepoSync API。
    2. 如果看到 RootSync、RepoSync 或協調器 Pod 等元件,表示您已啟用 RootSync 和 RepoSync API。
    3. 如果看到 git-importer Pod 等元件,表示 RootSync 和 RepoSync API 未啟用,您需要遷移 ConfigManagement 物件。