3.2.11. トラブルシューティングガイド
3.2.11.1. IoTProject
が終了時に動かなくなる問題を修正
IoTProject
インスタンスが削除されても、リソースはすぐには削除されません。削除のみがマークされ、必要なクリーンアップ操作はバックグラウンドで実行されます。クリーンアップが正常に実行されると、リソースは自動的に削除されます。
状況によっては、インフラストラクチャーの問題が原因で、この時点でクリーンアップ操作を実行できない場合があります。IoTProject
は引き続き保持され、Operator は定期的に再試行してリソースをクリーンアップします。インフラストラクチャーが稼働状態に戻ると、クリーンアップは成功します。
インフラストラクチャーが二度と機能しないことが予想される場合は、IoTProject
リソースを強制的に破棄することが望ましい場合があります。
リソースクリーンアップファイナライザーを手動で削除すると、クリーンアッププロセスがスキップされ、システムが適切にクリーンアップされなくなります。
手順
oc
ツールを使用して、プロジェクトが終了状態でスタックしているかどうかを評価します。oc get iotproject iot -n myapp NAME IOT TENANT DOWNSTREAM HOST DOWNSTREAM PORT TLS PHASE iot myapp.iot messaging-be482a6.enmasse-infra.svc 5671 true Terminating
出力には、終了中の状態のプロジェクトが表示されます。さらに、クリーンアップファイナライザーがまだ存在することを確認します。
oc get iotproject iot -n myapp -ojsonpath='{range .metadata.finalizers[*]}{..}{"\n"}{end}' iot.enmasse.io/deviceRegistryCleanup
リストに
iot.enmasse.io/deviceRegistryCleanup
のエントリーが含まれている場合には、リソースのクリーンアッププロセスはまだ保留中です。ファイナライザーのリストからファイナライザー
iot.enmasse.io/deviceRegistryCleanup
を手動で削除します。oc edit iotproject iot -n myapp
これにより、リソースのコンテンツを含むテキストエディターが開きます。
apiVersion: iot.enmasse.io/v1alpha1 kind: IoTProject metadata: creationTimestamp: "2019-12-09T15:00:00Z" deletionTimestamp: "2019-12-09T16:00:00Z" finalizers: - iot.enmasse.io/deviceRegistryCleanup 1 name: iot namespace: myapp
- 1
- 削除するファイナライザーのある行
ファイナライザーの行を削除します。エディターを保存し、終了します。これにより、サーバーで自動的に更新がトリガーされ、システムは引き続き
IoTProject
リソースを削除します。- ファイナライザーを削除すると、リソースは削除され、システムから表示されなくなっているはずです。