nomos bugreport の内容

nomos コマンドライン ツールは、Config Sync の一般的な管理タスク(診断アーカイブの作成など)に役立ちます。アーカイブの正確な出力とレイアウトは変更される可能性があり、API とはみなされません。nomos のコードは、Config Sync リポジトリにあります。

kubectl getkubectl 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 のバージョンは、nomos version の出力である Config Sync のバージョンを示しています。
  2. nomos ステータスは、nomos status ステータスの出力を示します(たとえば、どの commit が同期されるかどうか、エラーかどうか)。
  3. Config Sync カスタム リソースに関する情報:
    1. ConfigManagement や ClusterSelector などのクラスタ スコープのリソースの場合は、raw/cluster-1/cluster/configmanagement/ にあります。
    2. RootSync、RepoSync、ResourceGroup などの名前空間スコープの場合は、raw/cluster-1/namespaces/namespace-1 にあります。
  4. Config Sync によって同期および管理されるリソース:
    1. RootSync API と RepoSync API が有効になっている場合は、ResourceGroup の仕様にあります。これらのリソースの数、種類、Namespace、名前を取得できます。
    2. RootSync API と 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 API と RepoSync API が有効になっているか(つまり、マルチリポジトリ モードを使用しているか)。
    1. ConfigManagement リソースを確認し、spec.enableMultiRepo: true が表示される場合、RootSync API と RepoSync API が有効になっています。
    2. RootSync、RepoSync、Reconciler Pod などのコンポーネントが表示される場合は、RootSync API と RepoSync API が有効になっています。
    3. git-importer Pod などのコンポーネントが表示される場合は、RootSync API と RepoSync API が有効になっていないため、ConfigManagement オブジェクトを移行する必要があります。