Kegagalan saat menginstal Kf
IP Istio belum siap
Hal ini dapat terjadi jika Istio memerlukan waktu terlalu lama untuk mendapatkan IP eksternal. Tunggu beberapa menit, lalu jalankan kembali langkah pengiriman Cloud Build. Namun, mungkin saja ada hal lain yang sedang terjadi.
Error dari server (Permintaan Buruk): Karakter tidak valid
Jika Anda melihat error ini saat menyetel default konfigurasi, kemungkinan nilai ${DOMAIN}
env var yang digunakan dalam perintah menyertakan '$' yang di-escape. Gunakan tanda kutip tunggal untuk menentukan domain dengan nama ruang atau substitusi lainnya:
Error from server (BadRequest): invalid character '$' in string escape code
Error dengan objek Kf Kubernetes
Ikuti petunjuk berikut untuk memecahkan masalah objek Kf Kubernetes.
Temukan nama jenis resource Kubernetes yang ingin Anda pecahkan dengan mencantumkan semua resource Kf:
kubectl api-resources --api-group=kf.dev
Contoh output:
NAME SHORTNAMES APIGROUP NAMESPACED KIND apps kf.dev true App builds kf.dev true Build clusterservicebrokers kf.dev false ClusterServiceBroker routes kf.dev true Route servicebrokers kf.dev true ServiceBroker serviceinstancebindings kf.dev true ServiceInstanceBinding serviceinstances kf.dev true ServiceInstance spaces kf.dev false Space
Dapatkan instance resource yang ingin Anda pecahkan masalahnya menggunakan
kubectl
. Jika objek tidak berada dalam namespace, hapus flag-n
:kubectl get api-resource-name.kf.dev object-name -n space-name -o yaml
Contoh:
kubectl get apps.kf.dev my-app -n my-space -o yaml
Pilih masalah Anda dari tab di bawah:
Objek tidak direkonsiliasi
- Periksa nilai
metadata.generation
. Angka ini bertambah setiap kali objek diperbarui. Jika jumlahnya sangat tinggi, kemungkinan dua pengontrol Kubernetes memperebutkan objek tersebut. Periksa cluster Anda untuk melihat apakah ada kebijakan yang diterapkan ke objek yang mungkin dapat mengubahnya dari status yang diinginkan. - Periksa apakah namespace tempat objek tersebut sedang dihapus. Jika ya, objek mungkin tidak dapat direkonsiliasi.
- Pastikan kolom
status.observedGeneration
ada. Jika tidak, pengontrol mungkin belum mengeksekusi objek. Validasi bahwa cluster dan pengontrol responsif menggunakankf doctor
. - Pastikan kolom
metadata.generation
cocok dengan kolomstatus.observedGeneration
. Jika tidak, validasi bahwa cluster dan pengontrol responsif menggunakankf doctor
. - Periksa kegagalan dalam daftar
status.conditions
berdasarkan daftar alasan error umum berikut:
NotOwned
: Ada resource lain yang ada di cluster atau namespace sebagai resource yang coba dibuat oleh objek ini. Baca pesan tersebut untuk menemukan nama duplikat dan mengganti nama resource yang mengalami konflik atau objek Kf.TemplateError
: Terdapat kesalahan konfigurasi dalam spesifikasi resource Kf atau konfigurasi Kf yang menyebabkan resource turunan salah direkonsiliasi. Validasi setelan objek Kf dan ruang Kf.CacheOutdated
: Pengontrol Kf tidak menerima update dari Kubernetes dengan cukup cepat. Memeriksa respons cluster Kubernetes.ReconciliationError
: Pengontrol Kf tidak dapat membuat resource turunan yang diperlukan. Periksa untuk memastikan cluster Anda responsif, Kf berjalan, dan tidak ada kebijakan yang diterapkan yang mencegah Kf membuat objek yang direferensikan dalam pesan.
Objek tidak dapat dihapus
- Pastikan
metadata.deletionTimestamp
objek telah ditetapkan. Jika tidak ditetapkan, berarti penghapusan yang diminta tidak berhasil. - Pastikan
metadata.deletionTimestamp
objek sudah berlalu. Jika masalah tersebut terjadi pada masa mendatang, objek mungkin tidak akan dihapus. - Periksa apakah daftar
metadata.finalizers
ada pada objek. Jika finalr ada, objek harus menunggu sampai dihapus sebelum dihapus. Jika Anda ingin memaksa penghapusan tanpa menunggu finalizer, edit objek untuk menghapusnya. - Mungkin ada objek turunan yang mencegah objek tersebut dihapus. Minta administrator memeriksa semua objek dalam namespace dan cluster untuk melihat apakah salah satunya perlu dihapus secara manual terlebih dahulu.
- Periksa nilai