בגרסה 1.22 של Kubernetes, פרויקט Kubernetes הוציא משימוש את מנגנון האימות המובנה שמשמש לקוחות כמו כלי שורת הפקודה kubectl כדי לגשת לשרת Kubernetes API. מנגנון האימות המובנה מתוכנן להסרה ב-Kubernetes 1.26. לעיון בהקשר, אפשר לעיין ב-GitHub PR 102181.
ההסרה לא משפיעה על אופרטורים שנפרסו באשכול ומשתמשים בחשבונות שירות של Kubernetes כדי לתקשר עם שרת ה-API.
מה צריך לעשות?
GKE פרסם פלאגין אימות מעודכן,
gke-gcloud-auth-plugin. הפלאגין הזה משתמש במסגרת client-go Credential Plugins כדי לספק אסימוני אימות לצורך תקשורת עם אשכולות GKE.
צריך להתקין את הפלאגין לפני שמעדכנים את לקוחות שורת הפקודה לגרסה 1.26 ואילך. אם לא תתקינו את הפלאגין, תופיע הודעת שגיאה שדומה לזו שבהמשך.
הוראות מפורטות מופיעות במאמר התקנת פלאגינים נדרשים.
שגיאה לדוגמה: לא נמצא ספק אימות
Unable to connect to the server: getting credentials: exec: executable gke-gcloud-auth-plugin not found
panic: no Auth Provider found for name gcp
דוגמה לשגיאה: לא נמצא קובץ ההפעלה gke-gcloud-auth-plugin
Unable to connect to the server: getting credentials: exec: executable gke-gcloud-auth-plugin not found
It looks like you are trying to use a client-go credential plugin that is not installed.
To learn more about this feature, consult the documentation available at:
https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins
Install gke-gcloud-auth-plugin for use with kubectl by following \
https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke.