Kf ServiceInstances の使用時に発生する可能性のあるさまざまな問題のトラブルシューティングの手順について説明します。
オブジェクトが削除中のまま停止している
次のコマンドを実行してリソース情報を取得し、以下に示す原因を確認してください。
kubectl get serviceinstances.kf.dev -n SPACE_NAME SERVICEINSTANCE_NAME -o yaml
kf
CLI は、一部の問題を確認する際に有用です。
kf doctor --space SPACE_NAME serviceinstance/SERVICEINSTANCE_NAME
考えられる原因 | 解決策 |
---|---|
削除のタイムスタンプが将来の日付である。 |
クロックのずれにより、まだ |
ファイナライザがオブジェクトに存在する。 |
ファイナライザがオブジェクトに存在します。オブジェクトを削除する前に、コントローラによってファイナライザを削除する必要があります。なお、そのコントローラは削除するファイナライザを設定したものである必要があります。 ファイナライザを待たずに強制的に削除する場合は、オブジェクトを編集して 警告: コントローラによる処理の実施を許可せずにファイナライザを削除すると、エラー、セキュリティ問題、データの損失、リソースの孤立が発生する可能性があります。 |
依存するオブジェクトが存在する可能性がある。 |
オブジェクトは削除される前に、依存するオブジェクトが削除されるのを待機している可能性があります。詳細については、Kubernetes ガベージ コレクション ガイドをご覧ください。Namespace とクラスタ内のすべてのオブジェクトを確認して、それらのうちの一つが削除をブロックしていないか確認するよう管理者に依頼してください。 削除対象のオブジェクトに依存するオブジェクトを待つことなく削除を実施する必要がある場合は、カスケード フラグを |
オブジェクトの世代状態がずれている
次のコマンドを実行してリソース情報を取得し、以下に示す原因を確認してください。
kubectl get serviceinstances.kf.dev -n SPACE_NAME SERVICEINSTANCE_NAME -o yaml
kf
CLI は、一部の問題を確認する際に有用です。
kf doctor --space SPACE_NAME serviceinstance/SERVICEINSTANCE_NAME
考えられる原因 | 解決策 |
---|---|
オブジェクトに世代バージョンのずれがある。 |
このエラーは通常、Kf コントローラがオブジェクトの最新バージョンを読み取らなかった場合に発生します。多くの場合、Kubernetes レプリカの結果整合性がとれて自己修復されるため、ユーザーによる操作は必要ありません。 |
オブジェクトの調整に失敗した
次のコマンドを実行してリソース情報を取得し、以下に示す原因を確認してください。
kubectl get serviceinstances.kf.dev -n SPACE_NAME SERVICEINSTANCE_NAME -o yaml
kf
CLI は、一部の問題を確認する際に有用です。
kf doctor --space SPACE_NAME serviceinstance/SERVICEINSTANCE_NAME
考えられる原因 | 解決策 |
---|---|
オブジェクトに TemplateError がある。 |
このエラーは通常、ユーザーがカスタム リソースの仕様に無効なプロパティを入力した場合か、スペース / クラスタの構成が不適切な場合に発生します。 根本原因を把握するには、 |
オブジェクトに ChildNotOwned エラーがある(名前の競合)。 |
このエラーは通常、コントローラが作成しようとしているオブジェクトがすでに存在していることを意味します。これは、ユーザーが作成した K8s リソースと同じ名前のリソースをコントローラが作成しようとしている場合に発生しますが、ユーザーがリソースを削除した後、Kf コントローラがそのリソースを再作成しようとすると、より頻繁に発生します。子リソースがまだ残っている場合、その所有者は存在しなくなった古いリソースになります。 このエラーから復旧するには、影響を受けたリソースを削除してから、リソースを再作成することをおすすめします。オブジェクトを削除するには、Kf の削除コマンドか、 リソースを再作成するには、Kf コマンドを使用します。例: |
オブジェクトに ReconciliationError がある。 |
このエラーは通常、Kf コントローラがリソースの作成または更新を行うために Kubernetes API サーバーに HTTP 呼び出しを行ったときに、なんらかの問題が発生したことを意味します。 根本原因を把握するには、 |
バッキング リソースの調整に失敗した
次のコマンドを実行してリソース情報を取得し、以下に示す原因を確認してください。
kubectl get serviceinstances.kf.dev -n SPACE_NAME SERVICEINSTANCE_NAME -o yaml
kf
CLI は、一部の問題を確認する際に有用です。
kf doctor --space SPACE_NAME serviceinstance/SERVICEINSTANCE_NAME
考えられる原因 | 解決策 |
---|---|
バッキング リソースの DeprovisionFailed エラー。 |
このエラーは通常、バッキング リソース(外部 OSB サーバーでホストされた MySQL データベース)のプロビジョニングを解除できない場合に発生します。Kf では、依存リソースのプロビジョニングを安全に解除できるかどうか判断できません。 このエラーから復旧するには、コマンド エラー メッセージを確認したら、管理者にバッキング リソースの確認と手動でのクリーンアップを依頼します。バッキング リソースを安全に解放できると判断したら、 |