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 の仕様に含まれています。リソースの数、種類、名前空間、名前を取得できます。
    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 オブジェクトを移行する必要があります。