このページでは、サポートされている Config Sync のバージョンの既知の問題について説明します。
ここに記載されている問題の多くはすでに修正されています。修正済みバージョンは、修正が導入されたバージョンを表します。この修正を適用するには、記載されているバージョン以降にアップグレードしてください。
Google Developer Program に参加している場合は、このページを保存して、このページに関連するリリースノートが公開されたときに通知を受け取ることができるようにしてください。詳細については、保存したページをご覧ください。
既知の問題をプロダクト バージョンまたは問題のカテゴリでフィルタするには、次のプルダウン メニューからフィルタを選択します。
Config Sync のバージョンを選択:
問題のカテゴリを選択:
既知の問題をフィルタすることもできます。
カテゴリ | 特定されたバージョン | 修正済みのバージョン | 問題と回避策 |
---|---|---|---|
指標 | 1.5.0 | 1.21.0 |
修正済み: 削除されたパッケージについて報告された指標
ResourceGroup オブジェクトは、RootSync オブジェクトまたは RepoSync オブジェクトの削除前に削除の伝播が有効になっている場合にのみ自動的に削除されます。
回避策:
|
コンポーネントの状態 | 1.15.0 |
Reconciler のスケジュールが設定できないConfig Sync Reconciler には、RootSync または RepoSync の構成に応じて、さまざまな量のリソースが必要です。特定の構成では、他の構成よりも多くのリソースが必要になります。 Reconciler がスケジューリングできない場合は、ノードで使用可能な量を超えるリソースをリクエストしている可能性があります。 Standard モードの GKE クラスタを使用している場合、Reconciler リソース リクエストは非常に低く設定されます。この設定は、スロットリングやパフォーマンス低下につながる場合でもあっても、スケジューリングを可能にすることを目的として選択されています。これにより、Config Sync は小規模なクラスタや小規模なノードでも機能します。ただし、GKE Autopilot クラスタでは、同期中の使用状況をより現実的に表すように、Reconciler リクエストが高い値に設定されます。 回避策: GKE Autopilot または GKE Standard でノード自動プロビジョニングを有効にすると、リソースのリクエスト数を確認して適切なサイズのノードを作成し、スケジューリングを行うことができます。ただし、ノードまたはノード インスタンス サイズを手動で構成する場合は、Reconciler Pod のリソース要件に合わせて、それらの設定の調整が必要になる可能性があります。 |
|
指標 | 1.15.0 |
エクスポートに失敗しました。権限が却下されましたデフォルトでは、Reconciler マネージャーがアプリケーションのデフォルト認証情報を検出すると、Otel コレクタは Prometheus、Cloud Monitoring、Monarch に指標をエクスポートするように構成されます。 回避策: Cloud Monitoring を構成していないか、Cloud Monitoring と Cloud Monarch を無効にしていない場合は、 |
|
指標 | 1.15.0 |
カスタム構成で otel-collector がクラッシュするデフォルトの ConfigMap のいずれか( 回避策: 指標のエクスポート構成をカスタマイズするには、 |
|
修復 |
Config Sync が自身と競合しているConfig Sync が自身とコントローラの競合状態になっているように見えることがあります。この問題は、Git リポジトリ内のリソースのオプション フィールドにデフォルト値を設定した場合に発生します。たとえば、RoleBinding のサブジェクトに対して 回避策: リソース宣言からフィールドを削除します。 |
||
修復 |
Config Sync が Config Connector リソースと競合しているConfig Sync と Config Connector が StorageBucket などのリソースに対して競合状態になっているように見える場合があります。この問題は、信頼できる情報源のリソース 回避策:
この問題を回避するには、リソース宣言に |
||
信頼できる情報源 | 1.17.3 | 1.18.3 |
修正済み: GitHub での Git SSH 認証エラー
git のエラー メッセージは次のとおりです。 回避策: 別の認証方法を使用してください。 |
信頼できる情報源 | 1.15.0 | 1.18.0 |
修正済み: Cloud Source Repositories の認証情報が定期的に無効になるCloud Source Repositories の認証トークンが期限切れになると、Config Sync が定期的にエラーになることがあります。この問題は、トークンの更新が期限切れになるまで待ってからトークンを更新すると発生します。 バージョン 1.18.0 以降では、トークンの有効期限が切れてから 5 分以内に最初のリクエストが行われると、トークンが更新されます。これにより、認証情報が実際に無効でない限り、無効な認証情報エラーを防ぐことができます。 |
信頼できる情報源 | 1.13.0 | 1.20.1 |
修正済み: OCI ソースのアクセス トークンを生成できないConfig Sync が信頼できる情報源として OCI を使用し、Workload Identity Federation for GKE で認証するよう構成されている場合、Config Sync がコンテナ レジストリで認証を試みた際に一時的な この問題は、oauth2 ライブラリがトークンの有効期限が切れた後にのみ認証トークンを更新することにより発生します。 エラー メッセージに、 回避策: Config Sync が信頼できる情報源からのフェッチを次に試行する際に、エラーは自動的に解決します。 Config Sync で複数回エラーが発生すると、再試行の頻度が低下します。Config Sync を強制的に再試行するには、Reconciler Pod を削除します。このアクションにより、Config Sync は Reconciler Pod を再作成し、信頼できる情報源からすぐにフェッチします。 kubectl delete pod -n config-management-system RECONCILER_NAME RECONCILER_NAME は、RootSync オブジェクトまたは RepoSync オブジェクトの Reconciler 名に置き換えます。 |
信頼できる情報源 | 1.19.0 | 1.20.0 |
修正済み: Git ロックファイルが残っている
KNV2004: error in the git-sync container: ... fatal: Unable to create '/repo/source/.git/shallow.lock': File exists. ... 回避策: この問題を回避するには、影響を受ける Reconciler Pod を再起動して、新しいエフェメラル ボリュームを Pod に割り当てます。 kubectl delete pod -n config-management-system RECONCILER_NAME RECONCILER_NAME は、RootSync オブジェクトまたは RepoSync オブジェクトの Reconciler 名に置き換えます。
|
同期 | 1.7.0 | 1.21.0 |
修正済み: ミューテーションを無視するアノテーションが適用されないConfig Sync 適用ツールのバグにより、 回避策: |
同期 | 1.5.0 | 1.20.1 |
修正: API 検出エラーにより、マネージド オブジェクトが
|
同期 | 1.15.0 |
監査ログ内の多数の無効な
|
|
非公開レジストリ | 1.19.0 |
Config Sync が reconciler Deployment に非公開レジストリを使用しない場合非公開レジストリが構成されている場合、Config Sync はすべての Deployment のイメージを置き換える必要があります。ただし、Config Sync は、Reconciler Deployment のイメージのイメージ レジストリに代わるものではありません。 回避策: この問題を回避するには、containerd でイメージ レジストリ ミラーを構成します。 |
|
同期 | 1.17.0 | 1.18.3 |
修正済み: Config Sync Reconciler がクラッシュループするConfig Sync バージョン 1.17.0 以降では、一部の Kubernetes プロバイダで、Reconciler が REST 構成を作成できないという問題が発生することがあります。 この問題は Reconciler ログに次の例のように表示されます。 Error creating rest config: failed to build rest config: reading local kubeconfig: loading REST config from "/.kube/config": stat /.kube/config: no such file or directory |
同期 | 1.7.0 | 1.21.0 |
修正済み: 更新されたインベントリをクラスタに書き込めませんでしたConfig Sync が ResourceGroup オブジェクトのステータスの更新に失敗すると、Reconciler ログに次のようなエラーが断続的に書き込まれる場合があります。 KNV2009: task failed (action: "Inventory", name: "inventory-set-0"): failed to write updated inventory to cluster: Operation cannot be fulfilled on resourcegroups.kpt.dev "root-sync": the object has been modified; please apply your changes to the latest version and try again このエラーは、Reconciler と ResourceGroup Controller 間の競合状態が原因で発生します。Reconciler が ResourceGroup 仕様を更新する前に ResourceGroup Controller が ResourceGroup のステータスを更新すると、 回避策: この問題の回避策はありません。エラーは自然に解決されます。 |
Terraform | Terraform version 5.41.0 |
Terraform を使用して Config Sync をインストールまたはアップグレードできないTerraform バージョン 5.41.0 では、リソース 回避策:
|
|
Google Cloud コンソール |
Google Cloud コンソールの Config Sync ダッシュボードにデータがない旨のエラーが表示されるGoogle Cloud コンソールのダッシュボードに、Config Sync クラスタに関する「データがない」や「クラスタ認証情報が無効」といった内容のエラーが表示されることがあります。この問題は、GDC(VMware)クラスタまたは GDC(ベアメタル)クラスタにログインしていない場合に発生することがあります。 回避策: Google Cloud GDC(VMware)または GDC(Bare Metal)クラスタのコンソールにこういったエラーが表示された場合は、GKE Identity Service または Connect Gateway を使用してクラスタにログインしていることを確認します。 |
||
同期 | 1.21.0 |
修正済み: Config Sync が放棄されたリソースの更新を妨げるバージョン 1.21.0 より前では、RootSync オブジェクトや RepoSync オブジェクトを削除しても、Config Sync がこれらのリソース オブジェクトを追跡するために使用していたラベルとアノテーションが残ってしまう場合があります。 そのようなラベルやアノテーションにより、RootSync や RepoSync オブジェクトが削除された後に、次の副作用を引き起こす可能性があります。
|
|
nomos コマンドライン ツール | 1.17.0 |
nomos CLI は
|
次のステップ
このドキュメントに問題のソリューションが見当たらない場合は、サポートを受けるで、次のトピックに関するアドバイスなど、詳細なヘルプをご覧ください。
- Cloud カスタマーケアに問い合わせて、サポートケースを登録する。
- StackOverflow で質問して、コミュニティからサポートを受ける。kpt または Kustomize を使用する場合は、
kpt
タグまたはkustomize
タグを使用して類似の問題を検索します。 - GitHub の公開バグトラッカーを使用して、バグの報告や機能リクエストを行う。