Memecahkan Masalah ServiceBrokers Kf

Gunakan langkah-langkah ini untuk memecahkan berbagai masalah yang dapat terjadi saat menggunakan Kf ServiceBrokers.

Objek macet saat dihapus

Jalankan perintah berikut untuk mendapatkan informasi resource, lalu periksa penyebab yang tercantum di bawah:

kubectl get servicebrokers.kf.dev -n SPACE_NAME SERVICEBROKER_NAME -o yaml

CLI kf dapat membantu memeriksa beberapa masalah:

kf doctor --space SPACE_NAME servicebroker/SERVICEBROKER_NAME
Kemungkinan PenyebabSolusi
Stempel waktu penghapusan berada di masa mendatang.

Dengan clock condong, metadata.deletionTimestamp mungkin masih berada di masa mendatang. Tunggu beberapa menit untuk melihat apakah objek sudah dihapus.

Terdapat finalizer pada objek.

Finalizer ada pada objek, dan harus dihapus oleh pengontrol yang menetapkannya sebelum objek dihapus.

Jika ingin memaksa penghapusan tanpa menunggu finalr, edit objek untuk menghapusnya dari array metadata.finalizers.

Peringatan: Menghapus finalr tanpa mengizinkan pengontrol diselesaikan dapat menyebabkan error, masalah keamanan, kehilangan data, atau resource usang.

Objek yang bergantung mungkin ada.

Objek mungkin menunggu pada dependensi untuk dihapus sebelum dihapus. Lihat panduan pembersihan sampah memori Kubernetes untuk mempelajari lebih lanjut. Minta administrator memeriksa semua objek dalam namespace dan cluster untuk melihat apakah salah satunya memblokir penghapusan.

Jika Anda perlu menghapus objek tanpa menunggu dependen, gunakan kubectl delete dengan flag menurun yang ditetapkan ke: --cascade=orphan.

Penyimpangan status pembuatan objek

Jalankan perintah berikut untuk mendapatkan informasi resource, lalu periksa penyebab yang tercantum di bawah:

kubectl get servicebrokers.kf.dev -n SPACE_NAME SERVICEBROKER_NAME -o yaml

CLI kf dapat membantu memeriksa beberapa masalah:

kf doctor --space SPACE_NAME servicebroker/SERVICEBROKER_NAME
Kemungkinan PenyebabSolusi
Objek memiliki penyimpangan versi pembuatan.

Error ini biasanya terjadi Pengontrol Kf tidak membaca versi terbaru objek, error ini biasanya dipulihkan sendiri setelah replika Kubernetes mencapai konsistensi akhir, dan biasanya tidak memerlukan tindakan dari pengguna.

Rekonsiliasi objek gagal

Jalankan perintah berikut untuk mendapatkan informasi resource, lalu periksa penyebab yang tercantum di bawah:

kubectl get servicebrokers.kf.dev -n SPACE_NAME SERVICEBROKER_NAME -o yaml

CLI kf dapat membantu memeriksa beberapa masalah:

kf doctor --space SPACE_NAME servicebroker/SERVICEBROKER_NAME
Kemungkinan PenyebabSolusi
Objek memiliki TemplateError

Error ini biasanya terjadi jika pengguna memasukkan properti yang tidak valid di Spesifikasi resource kustom, atau konfigurasi di Space/Cluster buruk.

Untuk memahami akar masalahnya, pengguna dapat membaca pesan error yang lebih panjang di status.conditions objek menggunakan perintah:kubectl describe RESOURCE_TYPE RESOURCE_NAME -n space. Contoh: kubectl describe serviceinstance my-service -n my-space.

Objek memiliki error ChildNotOwned (Konflik nama)

Error ini biasanya berarti bahwa objek yang coba dibuat oleh pengontrol sudah ada. Hal ini terjadi jika pengguna membuat resource K8 dengan nama yang sama dengan resource yang coba dibuat oleh pengontrol; tetapi lebih sering terjadi jika pengguna menghapus resource, pengontrol Kf akan mencoba membuat ulang resource. Jika resource turunan masih ada, pemiliknya adalah resource lama yang sudah tidak ada.

Untuk memulihkan dari error, sebaiknya pengguna menghapus resource yang terpengaruh, lalu membuatnya lagi. Untuk menghapus objek, gunakan perintah penghapusan Kf atau gunakan perintah kubectl delete RESOURCE_TYPE RESOURCE_NAME -n SPACE. Misalnya, kf delete-space my-space atau kubectl delete space my-space.

Untuk membuat ulang resource, gunakan perintah Kf. Misalnya: kf create-space my-space.

Objek memiliki ReconciliationError

Error ini biasanya berarti ada masalah dengan panggilan HTTP yang dilakukan (oleh pengontrol Kf) ke layanan Kubernetes API untuk membuat/memperbarui resource.

Untuk memahami akar masalahnya, pengguna dapat membaca pesan error yang lebih panjang di status.conditions objek menggunakan perintah:kubectl describe RESOURCE_TYPE RESOURCE_NAME -n space. Contoh: kubectl describe serviceinstance my-service -n my-space.