Memecahkan masalah upgrade


Halaman ini menunjukkan cara menyelesaikan masalah upgrade cluster Google Kubernetes Engine (GKE).

Jika Anda memerlukan bantuan tambahan, hubungi Cloud Customer Care.

kube-apiserver tidak responsif setelah upgrade bidang kontrol

Masalah berikut terjadi saat Anda memulai upgrade bidang kontrol manual versi GKE cluster. Beberapa webhook akses yang di-deploy oleh pengguna dapat memblokir komponen sistem sehingga tidak dapat membuat peran RBAC permisif yang diperlukan supaya berfungsi dengan benar. Selama upgrade bidang kontrol, Google Cloud akan membuat ulang komponen server Kubernetes API (kube-apiserver). Jika webhook memblokir peran RBAC untuk komponen server API, server API tidak akan dimulai dan upgrade cluster tidak akan selesai.

Pesan error di gcloud CLI mirip dengan yang berikut ini:

FAILED: All cluster resources were brought up, but: component "KubeApiserverReady" from endpoint "readyz of kube apiserver is not successful" is unhealthy.

Untuk mengidentifikasi webhook yang gagal, periksa log audit GKE untuk panggilan RBAC dengan informasi berikut:

protoPayload.resourceName="RBAC_RULE"
protoPayload.authenticationInfo.principalEmail="system:apiserver"

RBAC_RULE adalah nama lengkap peran RBAC, seperti rbac.authorization.k8s.io/v1/clusterroles/system:controller:horizontal-pod-autoscaler.

Nama webhook yang gagal ditampilkan di log dengan format berikut:

admission webhook WEBHOOK_NAME denied the request

Untuk mengatasi masalah ini, coba langkah-langkah berikut:

  • Sesuaikan batasan untuk memungkinkan pembuatan dan pembaruan ClusterRole yang memiliki awalan system:.
  • Sesuaikan webhook Anda agar tidak menghalangi permintaan untuk membuat dan memperbarui peran RBAC sistem.
  • Nonaktifkan webhook.

Mengapa ini terjadi?

Kubernetes akan otomatis merekonsiliasi peran RBAC sistem default dengan kebijakan default dalam versi minor terbaru. Kebijakan default untuk peran sistem terkadang berubah pada versi Kubernetes baru.

Untuk melakukan rekonsiliasi ini, GKE membuat atau mengupdate ClusterRoles dan ClusterRoleBindings di cluster. Jika Anda memiliki webhook yang menghalangi dan menolak permintaan pembuatan atau update karena cakupan izin yang digunakan kebijakan RBAC default, server API tidak dapat berfungsi pada versi minor yang baru.

Workload dikeluarkan setelah upgrade cluster Standar

Workload Anda mungkin berisiko dikeluarkan setelah upgrade cluster jika semua hal berikut terpenuhi:

  • Workload sistem memerlukan lebih banyak ruang saat bidang kontrol cluster menjalankan versi GKE baru.
  • Node yang ada tidak memiliki resource yang cukup untuk menjalankan workload sistem baru dan workload yang ada.
  • Autoscaler cluster dinonaktifkan untuk cluster.

Untuk mengatasi masalah ini, coba langkah berikut:

Langkah berikutnya

Jika Anda memerlukan bantuan tambahan, hubungi Cloud Customer Care.