בגרסה 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 ואילך. אם לא תתקינו את הפלאגין, תופיע הודעת שגיאה שדומה להודעה הבאה.
הוראות מפורטות מופיעות במאמר התקנת פלאגינים נדרשים.
שגיאה לדוגמה: No auth provider found (לא נמצא ספק אימות)
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-cloud-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.