Referensi error

Halaman ini menjelaskan kode error Config Sync dan tindakan yang direkomendasikan untuk menangani error ini.

Pesan error Config Sync terdiri dari ID error dalam format KNV1234 dengan 1234 adalah angka unik, diikuti dengan deskripsi masalah dan saran cara memperbaikinya. K diwarisi dari konvensi Kubernetes, aturan dengan awalan N khusus untuk nomos, V khusus untuk error yang dapat dideteksi dalam status awal repositori dan cluster. Kode untuk error yang dapat dideteksi dalam status awal repositori dan cluster berbentuk KNV1XXX. Kode untuk error yang hanya dapat dideteksi saat runtime berbentuk KNV2XXX.

Tabel error KNV

Kode error Deskripsi Tindakan yang disarankan

ID InternalError diubah menjadi KNV9998 dengan Config Sync versi 1.6.1.

T/A

Tidak digunakan lagi di Config Sync 1.3.

T/A

Tidak digunakan lagi di Config Sync 1.3.

T/A

Saat menggunakan struktur repositori hierarkis, direktori yang berisi konfigurasi namespace tidak boleh berisi subdirektori apa pun.

Direktori tanpa konfigurasi namespace adalah direktori namespace abstrak dan memiliki direktori yang diwarisi darinya. Oleh karena itu, direktori namespace abstrak harus memiliki subdirektori. Direktori yang berisi konfigurasi namespace adalah direktori namespace dan tidak dapat diwarisi, sehingga tidak boleh memiliki subdirektori.

Hapus konfigurasi namespace dari direktori induk, atau pindahkan subdirektori ke tempat lain.

Objek cakupan cluster tidak boleh mendeklarasikan anotasi configmanagement.gke.io/namespace-selector. NamespaceSelector hanya dapat dideklarasikan untuk objek cakupan namespace.

Hapus configmanagement.gke.io/namespace-selector dari kolom metadata.annotations.

Satu-satunya setelan yang valid untuk anotasi pengelolaan adalah configmanagement.gke.io/managed=disabled. Setelan ini digunakan untuk membatalkan pengelolaan resource secara eksplisit di repositori Git sambil membiarkan konfigurasi diperiksa. Anotasi configmanagement.gke.io/managed=enabled tidak diperlukan.

Pastikan anotasi pengelolaan adalah configmanagement.gke.io/managed=disabled.

Untuk mengetahui informasi selengkapnya, lihat Mengelola objek.

Objek yang dideklarasikan di repositori tidak dapat diuraikan.

Validasi format YAML Anda. Misalnya, Anda dapat menggunakan perintah kubectl --validate.

Jika nomos vet menampilkan error ini pada jenis dengan group: configsync.gke.io, seperti RepoSync, download v1.6.0-rc.6 atau yang lebih baru dari halaman download untuk menyelesaikannya.

Saat menggunakan repositori tidak terstruktur, konfigurasi tidak boleh dideklarasikan di direktori namespace abstrak.

Pindahkan konfigurasi yang tercantum dalam pesan error ke direktori namespace.

Untuk mengetahui informasi selengkapnya, lihat Menggunakan repositori tidak terstruktur.

Saat menggunakan struktur repositori hierarkis, konfigurasi harus mendeklarasikan namespace yang cocok dengan direktori namespace yang memuatnya atau menghapus kolom.

Perbarui kolom namespace yang diidentifikasi dalam pesan error.

Untuk mengetahui informasi selengkapnya, lihat Struktur repositori hierarkis.

Konfigurasi tidak boleh mendeklarasikan anotasi yang tidak didukung yang dimulai dengan configmanagement.gke.io.

Pastikan Anda menggunakan salah satu anotasi yang didukung berikut:

  • configmanagement.gke.io/managed. Untuk mengetahui informasi selengkapnya, lihat Mengelola objek.
  • configmanagement.gke.io/namespace-selector. Untuk mengetahui informasi selengkapnya, lihat Objek cakupan namespace.
  • configmanagement.gke.io/cluster-selector. Untuk mengetahui informasi selengkapnya, lihat ClusterSelectors.

Konfigurasi tidak boleh memiliki label dengan kunci yang diawali dengan configmanagement.gke.io/. Awalan kunci label ini dicadangkan untuk digunakan oleh Config Sync.

Perbarui label yang diidentifikasi dalam pesan error. Misalnya, jika Anda mencoba mendeklarasikan label bernama
configmanagement.gke.io/example-label: label-value,
Anda dapat mengubahnya menjadi
example-label: label-value.

Tidak digunakan lagi di Config Sync 1.3.

T/A

Konfigurasi merujuk ke ClusterSelector atau NamespaceSelector yang tidak ada. Sebelum Anda dapat menggunakan pemilih dalam anotasi untuk konfigurasi, pemilih harus ada.

Buat pemilih yang tidak ada, atau, jika pemilih dihapus, hapus semua konfigurasi yang merujuk padanya.

Konfigurasi ClusterSelector dan NamespaceSelector menggunakan sintaksis yang benar, tetapi ditemukan error sintaksis.

Pastikan Anda menentukan konfigurasi menggunakan skema data yang sesuai:

Tidak digunakan lagi di Config Sync 1.3.2. T/A

Saat menggunakan struktur repositori hierarkis, konfigurasi untuk ConfigManagement Operator harus ada di direktori system/ repositori. Konfigurasi ini harus mencakup informasi yang diperlukan seperti versi semantik repo.

Tentukan setidaknya konfigurasi minimal untuk Operator ConfigManagement. Untuk mengetahui informasi selengkapnya, lihat Struktur repositori hierarkis.

Tidak digunakan lagi di Config Sync 1.3. T/A

Saat menggunakan struktur repositori hierarkis, namespace tidak boleh dideklarasikan secara langsung di direktori namespaces/.

Buat subdirektori untuk konfigurasi namespace yang tercantum dalam pesan error. Untuk mengetahui informasi selengkapnya, lihat Struktur repositori hierarkis.

Saat menggunakan struktur repositori hierarkis, konfigurasi namespace mendeklarasikan metadata.name, dan nilainya harus cocok dengan nama direktori namespace. Perbaiki metadata.name namespace atau direktorinya.

Tidak ada CustomResourceDefinition yang ditentukan untuk resource di cluster.

Buat CustomResourceDefinition untuk resource yang dirujuk dalam pesan error. Jenis resource yang bukan objek Kubernetes bawaan harus memiliki CustomResourceDefinition.

Saat Anda menggunakan repositori hierarkis, konfigurasi Jenis ini tidak dapat dideklarasikan di direktori system/.

Pindahkan resource yang dirujuk dalam pesan error dari direktori system/. Untuk mengetahui informasi selengkapnya, lihat Struktur repositori hierarkis.

Kolom spec.version di konfigurasi Repo merepresentasikan versi semantik repositori. Error ini menunjukkan bahwa Anda menggunakan versi yang tidak didukung.

Jika format repositori Anda kompatibel dengan versi yang didukung, perbarui kolom spec.version. Jika Anda perlu mengupgrade, ikuti petunjuk di catatan rilis.

Nama direktori harus memiliki kurang dari 64 karakter, terdiri dari karakter alfanumerik huruf kecil atau '-', dan harus diawali dan diakhiri dengan karakter alfanumerik.

Ganti nama atau hapus direktori yang salah nama.

Konfigurasi dengan Jenis yang sama harus memiliki nama unik di namespace yang sama dan namespace abstrak induknya.

Ganti nama atau hapus konfigurasi yang dirujuk dalam pesan error sehingga semuanya memiliki nama unik.

Beberapa resource namespace tidak dapat berada dalam direktori yang sama.

Hapus konfigurasi duplikat sehingga hanya ada satu resource namespace.

Semua konfigurasi harus mendeklarasikan metadata.name.

Tambahkan kolom metadata.name ke konfigurasi yang bermasalah.

Jenis Repo.configmanagement.gke.io tidak diizinkan jika sourceFormat disetel ke unstructured.

Hapus konfigurasi yang bermasalah, atau konversi repositori Anda untuk menggunakan sourceFormat: hierarchy.

Jika Anda menggunakan repositori hierarkis, Anda hanya dapat mendeklarasikan Jenis HierarchyConfig dan Repo di direktori system/.

Pastikan setiap konfigurasi yang dideklarasikan di direktori system/ adalah salah satu Jenis yang diizinkan. Jika tidak, pindahkan ke direktori lain.

Dilarang mendeklarasikan config-management-system, resource-group-system, dan config-management-monitoring, atau resource di dalamnya.

Jika Anda mendeklarasikan namespace config-management-system, hapus namespace tersebut dan konfigurasi apa pun di namespace tersebut.

Jika Anda mendeklarasikan namespace resource-group-system atau config-management-monitoring, batalkan pengelolaan namespace pengontrol:

  1. Perbarui Config Sync untuk berhenti mengelola namespace dan resource apa pun yang dideklarasikan di bawahnya.
  2. Tunggu sinkronisasi, lalu pastikan bahwa resource yang sesuai masih tersedia di cluster, tetapi tidak di nomos status.
  3. Hapus file YAML namespace pengontrol dari sumber.
  4. Izinkan Config Sync melanjutkan pengelolaan resource.

Jika sebelumnya Anda menyinkronkan ke repositori hierarkis dan harus mendeklarasikan namespace pengontrol bersama dengan resource apa pun, pertimbangkan beralih ke repositori tidak terstruktur untuk mendapatkan fleksibilitas yang lebih besar dalam struktur sumber Anda.

metadata.name yang diberikan memiliki format yang tidak valid.

Ubah metadata.name untuk memenuhi kondisi berikut:

  • Lebih pendek dari 254 karakter
  • Terdiri dari karakter alfanumerik huruf kecil, '-', atau '.'
  • Diawali dan diakhiri dengan karakter alfanumerik

Jika metadata.name tidak valid, dan resource asli mendukungnya, sebaiknya gunakan kolom spec.resourceID agar Anda tidak dibatasi oleh batasan ini. Untuk mengetahui informasi selengkapnya, lihat Mengelola resource dengan kolom resourceID.

Tidak digunakan lagi di Config Sync 1.3. T/A

Objek yang tercakup dalam namespace tidak boleh dideklarasikan di luar direktori namespaces/.

Pindahkan konfigurasi yang bermasalah agar berada di direktori yang sah. Untuk mengetahui informasi selengkapnya tentang objek cakupan namespace, lihat Objek cakupan namespace.

Objek cakupan cluster tidak boleh dideklarasikan di luar direktori cluster/.

Pindahkan konfigurasi yang bermasalah agar berada di direktori yang sah. Untuk mengetahui informasi selengkapnya tentang objek cakupan cluster, lihat Objek cakupan cluster.

Tidak digunakan lagi di Config Sync 1.3. T/A

Jenis Resource ini tidak boleh dideklarasikan dalam HierarchyConfig.

Hapus resource yang bermasalah. Untuk membaca selengkapnya tentang HierarchyConfig, lihat Menonaktifkan Pewarisan untuk Jenis Objek.

Nilai ilegal untuk HierarchyMode terdeteksi di HierarchyConfig.

Ubah HierarchyMode menjadi none atau inherit. Untuk membaca selengkapnya tentang HierarchyConfigs, lihat Menonaktifkan Pewarisan untuk Jenis Objek.

Config Sync tidak dapat mengonfigurasi objek ini.

Hapus konfigurasi yang bermasalah dari repositori.

Direktori namespace abstrak dengan konfigurasi harus memiliki setidaknya satu subdirektori namespace.

Tambahkan direktori namespace di direktori namespace abstrak, tambahkan konfigurasi namespace ke direktori namespace abstrak, atau hapus konfigurasi di direktori namespace abstrak.

Konfigurasi dengan metadata.ownerReference yang ditentukan tidak diizinkan.

Hapus kolom status dari repositori sumber. Untuk konfigurasi pihak ketiga yang tidak Anda miliki, gunakan kustomize patches untuk menghapus kolom status yang ditentukan dalam manifes Anda secara massal.

HierarchyConfig ini mereferensikan resource yang memiliki cakupan cluster. Objek yang dicakup cluster tidak diizinkan dalam HierarchyConfig.

Perbarui HierarchyConfig sehingga tidak lagi mereferensikan resource yang bermasalah.

Definisi resource kustom (CRD) tidak boleh dihapus jika Resource Kustom yang sesuai masih ada di repositori.

Hapus CRD beserta Resource Kustom.

CustomResourceDefinition memiliki nama yang tidak valid.

Ubah nama menjadi rekomendasi di pesan error.

Konfigurasi menggunakan Grup dan Jenis yang tidak digunakan lagi.

Ubah Grup atau Jenis ke rekomendasi dalam pesan error.

Resource cakupan cluster tidak boleh mendeklarasikan metadata.namespace.

Hapus kolom metadata.namespace dari resource cakupan cluster Anda.

Resource cakupan namespace harus mendeklarasikan metadata.namespace atau metadata.annotations.configmanagement.gke.io/namespace-selector.

Tambahkan kolom yang belum disertakan ke resource yang tercakup dalam namespace Anda.

Konfigurasi berisi nilai yang tidak valid untuk anotasi.

Ikuti petunjuk dalam pesan error untuk mengatasi error.

Nilai metadata.namespace bukan nama namespace Kubernetes yang valid.

Perbarui nilai metadata.namespace agar mematuhi aturan berikut:

  • Memiliki panjang 63 karakter atau kurang
  • Hanya terdiri dari huruf kecil (a-z), digit (0-9), dan tanda hubung '-'
  • Dimulai dan diakhiri dengan huruf kecil atau digit

Resource dideklarasikan dalam namespace yang tidak dikelola.

Hapus anotasi configmanagement.gke.io/managed: disabled, atau tambahkan anotasi ke resource yang dideklarasikan.

Sumber daya memiliki label ilegal.

Hapus label ilegal yang tercantum dalam pesan error.

Repositori namespace hanya dapat mendeklarasikan resource cakupan namespace di namespace tempat repositori tersebut diterapkan.

Pastikan semua repositori namespace mendeklarasikan resource yang tercakup namespace dengan benar. Misalnya, repositori untuk repositori namespace shipping hanya dapat mengelola resource di namespace shipping. Nilai metadata.namespace bersifat opsional. Secara default, Config Sync mengasumsikan bahwa semua resource di repositori namespace termasuk dalam namespace tersebut.

Misalnya, jika konfigurasi di repositori namespace shipping mendeklarasikan metadata.namespace: billing, Anda akan mendapatkan error.

Selain memastikan bahwa resource yang tercakup dalam namespace dideklarasikan dengan benar, pastikan namespace dideklarasikan di repositori root. Hal ini diperlukan karena namespace memiliki cakupan cluster.

Repositori namespace dapat mendeklarasikan paling banyak satu resource Kptfile.

Hapus semua kecuali satu resource Kptfile.

Saat mengelola objek di beberapa sumber tepercaya, konflik dapat muncul saat objek yang sama (grup yang cocok, jenis, nama, dan ruang nama) dideklarasikan di lebih dari satu sumber.

Misalnya, saat objek yang sama dikelola oleh RootSync dan RepoSync, RootSync yang menang. Jika RootSync diterapkan terlebih dahulu, RepoSync akan melaporkan error status KNV1060. Jika RepoSync diterapkan terlebih dahulu, RootSync akan menggantikan objek RepoSync dan RepoSync melaporkan error status KNV1060 saat melihat update.

Selesaikan konflik dengan memperbarui konfigurasi agar cocok dengan sumber tepercaya lainnya, atau dengan menghapus objek yang bertentangan dari salah satu sumber.

Perintah nomos vet hanya memeriksa error dalam satu repositori dalam satu waktu, sehingga tidak dapat mendeteksi masalah ini.

InvalidRepoSyncError melaporkan bahwa RepoSync salah dikonfigurasi. Objek RepoSync harus dikonfigurasi dengan benar agar Config Sync dapat menyinkronkan konfigurasi dari repositori namespace.

Ikuti petunjuk dalam pesan error untuk memperbaiki kesalahan konfigurasi.

Kptfile tidak memiliki kolom inventaris yang valid. Kptfile harus memiliki kolom inventaris yang tidak kosong dengan ID dan namespace yang ditentukan.

Tentukan nilai untuk .inventory.identifier dan .inventory.namespace di Kptfile.

Kptfile ditemukan di repositori Root. Kptfile hanya didukung di repositori yang memiliki cakupan namespace.

Hapus Kptfile dari repositori Root.

File api-resources.txt di repositori Anda tidak dapat diuraikan.

Ikuti petunjuk dalam pesan error. Misalnya, Anda mungkin perlu menjalankan ulang kubectl api-resources > api-resources.txt.

Format CustomResourceDefinition salah.

Periksa kolom yang ditentukan oleh pesan error dan pastikan nilai kolom tersebut diformat dengan benar.

Objek config hanya boleh mendeklarasikan anotasi cluster-selector. Error ini terjadi saat anotasi lama (configmanagement.gke.io/cluster-selector) dan anotasi inline (configsync.gke.io/cluster-name-selector) ada.

Hapus salah satu anotasi dari kolom metadata.annotations.

Rekonsiliator gagal mengenkode kolom yang dinyatakan ke dalam format yang kompatibel dengan penerapan sisi server. Hal ini dapat disebabkan oleh skema yang sudah tidak berlaku.

Periksa kolom yang ditentukan oleh pesan error dan pastikan kolom tersebut cocok dengan skema jenis resource.

Proses rendering mengalami masalah yang dapat ditindaklanjuti pengguna.

Jika repositori Git berisi konfigurasi Kustomize, tetapi tidak ada file kustomization.yaml di direktori sinkronisasi Git, tambahkan kustomization.yaml di direktori sinkronisasi untuk memicu proses rendering, atau hapus kustomization.yaml dari semua subdirektori untuk melewati rendering.

Jika error disebabkan oleh kegagalan kustomize build, Anda mungkin perlu memperbarui konfigurasi Kustomize di repositori Git Anda. Anda dapat melihat pratinjau dan memvalidasi konfigurasi yang diupdate secara lokal menggunakan nomos hydrate dan nomos vet masing-masing. Jika konfigurasi yang diperbarui berhasil dirender, Anda dapat mengirimkan commit baru untuk memperbaiki error KNV1068.

Jika terjadi error kustomize build saat menarik basis jarak jauh dari repositori publik, Anda harus menetapkan spec.override.enableShellInRendering ke true.

Reconciler telah merekonsiliasi objek RootSync atau RepoSync miliknya sendiri. A Objek RootSync dapat mengelola objek RootSync dan RepoSync lainnya; Objek RepoSync dapat mengelola objek RepoSync lainnya, tetapi tidak dapat mengelola diri sendiri.

Hapus objek RootSync atau RepoSync dari sumber tepercaya yang disinkronkan objek.

Panggilan sistem tingkat OS yang mengakses resource sistem file gagal.

Error ini kemungkinan disebabkan oleh konfigurasi YAML yang tidak valid atau penggunaan karakter khusus. Jika Anda memiliki konfigurasi YAML yang tidak valid, Anda akan melihat pesan error yang mirip dengan berikut: KNV2001: yaml: line 2: did not find expected node content path:.... Untuk mengatasi masalah ini, periksa file YAML Anda dan selesaikan masalah konfigurasi apa pun. Hal ini dapat disebabkan oleh konfigurasi YAML apa pun dalam repositori.

Jika nama file atau jalur Anda berisi karakter khusus, Anda mungkin melihat pesan error yang mirip dengan KNV2001: yaml: control characters are not allowed path:/repo/source/.../._pod.yaml. Dalam contoh ini, ._pod.yaml bukan nama file yang valid. Untuk mengatasi masalah ini, hapus karakter khusus dari nama file atau jalur Anda.

Permintaan yang mengakses Server API Kubernetes gagal.

Permintaan Kubernetes API dapat gagal karena berbagai alasan. Penyebab umumnya mencakup:

  • Error penemuan API
  • Waktu tunggu permintaan atau respons sisi klien atau sisi server
  • Error identitas, autentikasi, atau otorisasi
  • Error konektivitas jaringan
  • Webhook menolak permintaan
  • Webhook tidak responsif atau tidak dapat dijangkau oleh Server API

Config Sync mencoba lagi setelah sebagian besar error Server API. Beberapa masalah mungkin bersifat sementara dan dapat diselesaikan dengan sendirinya, tetapi sebagian besar masalah memerlukan intervensi pengguna untuk menyelesaikannya. Error Server API jarang disebabkan oleh Config Sync itu sendiri, tetapi jika Anda menduga bahwa error tersebut mungkin disebabkan oleh Config Sync, harap ajukan laporan bug.

Panggilan sistem tingkat OS generik gagal.

Config Sync tidak dapat membaca dari sumber tepercaya.

Beberapa masalah dapat menyebabkan error ini. Untuk memecahkan masalah koneksi ke sumber tepercaya, lihat Memecahkan masalah koneksi ke sumber tepercaya. Untuk mempelajari masalah umum yang menyebabkan error KNV2004, lihat Masalah umum.

Config Sync bersaing dengan pengontrol lain untuk mendapatkan resource. Pertarungan semacam itu menggunakan banyak resource dan dapat menurunkan performa Anda. Untuk mengetahui tips tentang cara mendiagnosis dan mengatasi konflik pengontrol, lihat Memecahkan masalah konflik pengontrol.

Untuk membantu mencegah penghapusan yang tidak disengaja, Config Sync tidak mengizinkan Anda menghapus semua namespace atau resource cakupan cluster dalam satu commit.

Jika webhook penerimaan Config Sync dinonaktifkan, batalkan penerapan yang menghapus semua resource.
Jika webhook penerimaan Config Sync diaktifkan, namespace Anda mungkin berhenti secara tidak normal. Untuk memperbaikinya, jalankan langkah-langkah berikut:

  1. Nonaktifkan Config Sync, dan tunggu hingga semua resource dibersihkan atau dalam status stabil. Misalnya, Anda dapat menjalankan kubectl get ns untuk memastikan namespace dihapus.
  2. Aktifkan kembali Config Sync.
  3. Kembalikan commit yang menghapus semua resource.

Jika Anda ingin menghapus seluruh set resource yang dikelola, selesaikan langkah-langkah berikut:

  1. Hapus semua resource yang tercakup dalam namespace atau cluster kecuali satu resource dalam commit pertama dan izinkan Config Sync menyinkronkan perubahan tersebut.
  2. Hapus resource terakhir dalam commit kedua.

Resource di Server API diubah atau dihapus saat Config Sync juga mencoba mengubahnya.

Jika jenis error ini hanya muncul saat startup atau jarang, Anda dapat mengabaikan error ini.

Jika error ini tidak bersifat sementara (berlanjut selama beberapa menit), hal ini mungkin menunjukkan masalah serius dan nomos status melaporkan konflik pengontrol.

Ini adalah error umum yang menunjukkan bahwa Config Sync gagal menyinkronkan beberapa konfigurasi ke cluster.

Ada beberapa masalah yang dapat menyebabkan error ini. Untuk mendapatkan tips tentang cara mengatasi masalah sinkronisasi umum, lihat Memecahkan masalah sinkronisasi.

Ini adalah error umum yang menunjukkan masalah pada resource atau sekumpulan resource.

Pesan error mencakup resource spesifik yang menyebabkan error. Selidiki sumber daya ini.

Resource tertentu diperlukan untuk melanjutkan, tetapi resource tersebut tidak ditemukan. Misalnya, Operator ConfigManagement mencoba memperbarui resource, tetapi resource dihapus saat menghitung update.

Buat atau pulihkan resource yang hilang.

Error ini melaporkan bahwa lebih dari satu instance APIResource ditemukan dalam konteks yang hanya mengizinkan satu APIResource. Misalnya, hanya boleh ada satu resource Repo di cluster.

Hapus APIResource tambahan.

Namespace reconciler tidak memiliki izin yang memadai untuk mengelola resource.

Pastikan rekonsiliator memiliki izin yang memadai.

Peringatan ini terjadi saat konfigurasi webhook Config Sync dimodifikasi secara ilegal. Konfigurasi webhook ilegal akan diabaikan.

Hapus webhook yang dimodifikasi secara ilegal.

Proses rendering mengalami masalah internal. Misalnya, Config Sync tidak dapat mengakses sistem file.

Error ini mungkin menunjukkan bahwa Pod tidak responsif. Anda dapat memulai ulang Pod rekonsiliasi dengan menjalankan perintah berikut:

# restart a root reconciler
kubectl delete pod -n config-management-system -l configsync.gke.io/reconciler=root-reconciler

# restart a namespace reconciler
kubectl delete pod -n config-management-system -l configsync.gke.io/reconciler=ns-reconciler-NAMESPACE
      

Error ini menunjukkan masalah sementara yang akan otomatis teratasi di lain waktu. Misalnya, jika status rendering tidak cocok dengan konfigurasi sumber, Anda mungkin melihat error ini.

Error akan otomatis teratasi.

Ada masalah dengan Config Sync itu sendiri.

Harap ajukan laporan bug.

Anda mengalami error tanpa pesan error yang terdokumentasi.

Kami belum menulis dokumentasi khusus untuk error yang Anda alami.

Kembali ke atas

Pesan error tanpa kode KNV

Error yang dilaporkan oleh rekonsiliator Config Sync memiliki kode error KNV, tetapi error yang dilaporkan dari komponen lain tidak memiliki kode KNV. Misalnya, error izin ditolak berasal dari pengontrol fleet, yang merupakan lapisan di atas Config Sync.

Tabel berikut mencantumkan beberapa error umum tanpa awalan KNV.

Pesan error Tindakan yang disarankan

Error: cannot build exporters: error creating stackdriver exporter: cannot configure Google Cloud metric exporter: stackdriver: google: could not find default credentials.

Error: Permission monitoring.timeSeries.create denied (or the resource may not exist).

Tidak dapat membuat pengekspor

Jika komponen di Open Telemetry Collector tidak dapat mengakses akun layanan default di namespace yang sama, Anda mungkin melihat bahwa Pod otel-collector di config-management-monitoring berstatus CrashLoopBackoff, atau Anda mungkin melihat pesan error yang serupa dengan yang tercantum.

Masalah ini biasanya terjadi saat Workload Identity Federation for GKE diaktifkan di cluster.

Untuk mengatasi masalah ini, ikuti petunjuk di Memantau Config Sync untuk memberikan izin penulisan metrik ke akun layanan default.

Jika error masih berlanjut setelah menyiapkan IAM, mulai ulang Pod otel-collector agar perubahan diterapkan.
Jika Anda menggunakan solusi pemantauan kustom, tetapi membuat fork ConfigMap otel-collector-googlecloud default, periksa dan gabungkan kembali perbedaan apa pun.

server certificate verification failed. CAfile:/etc/ca-cert/cert CRLfile: none

Verifikasi sertifikat server gagal

Jika penampung git-sync, helm-sync, atau oci-sync gagal mengambil artefak, Anda mungkin melihat pesan error ini.

Pesan ini menunjukkan bahwa server dikonfigurasi dengan sertifikat dari Certificate Authority (CA) kustom. Namun, CA kustom tidak dikonfigurasi dengan benar, sehingga menyebabkan penampung gagal mengambil dari server.

Untuk mengatasi masalah ini, pertama-tama, Anda dapat memverifikasi apakah kolom caCertSecretRef telah dikonfigurasi dengan benar di objek RootSync atau RepoSync, dan juga memeriksa apakah objek Secret ada.

Selanjutnya, jika kolom telah dikonfigurasi dan objek Secret ada, pastikan objek Secret berisi sertifikat lengkap.
Bergantung pada cara penyediaan CA kustom, pendekatan untuk memeriksa sertifikat lengkap mungkin berbeda.

Berikut adalah contoh cara mencantumkan sertifikat server:

echo -n | openssl s_client -showcerts -connect HOST:PORT -servername SERVER_NAME 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'
        

Anda dapat meminta tim administrasi jaringan Anda untuk mendapatkan sertifikat CA untuk Anda.

Error message: "MESSAGE": "Unable to retrieve pull secret, the image pull may not succeed."

Tidak dapat mengambil secret pull, penarikan image mungkin tidak berhasil

Jika Anda menggunakan registry pribadi dengan Google Distributed Cloud, penginstalan atau upgrade Config Sync dapat terhenti. Anda akan melihat error yang mirip dengan pesan ini.

Untuk mengatasi masalah ini, ikuti langkah-langkah di Mengupdate Config Sync menggunakan registry pribadi sebelum menginstal atau mengupgrade Config Sync.

Permission 'gkehub.features.create' denied on 'projects/PROJECT_ID/locations/global/features/configmanagement'

Izin ditolak

Jika Anda menerima error yang mirip dengan contoh ini saat mencoba mengonfigurasi Config Sync, Anda mungkin tidak memiliki peran Admin GKE Hub.

Untuk memastikan Anda memiliki izin yang diperlukan, pastikan Anda telah memberikan peran IAM yang diperlukan.

Kembali ke atas

Langkah berikutnya