Feature gates

בדף הזה מוסבר איך שערי תכונות של Kubernetes פועלים ב-Google Kubernetes Engine ‏ (GKE). שערי תכונות הם קבוצה של צמדי מפתח/ערך שמפעילים או משביתים תכונות של Kubernetes. אפשר לשנות את תכונות Kubernetes רק באשכולות אלפא ב-GKE. מידע נוסף זמין במאמר בנושא אשכולות אלפא.

בפרויקט Kubernetes משיקים תכונות חדשות בשלבים לאורך זמן. התכונות יכולות להיות בשלב אלפא, בטא או GA.

כדי לראות אילו תכונות מופעלות באשכול שפועלת בו גרסה 1.26 ואילך, צריך לבדוק את מצב Feature Gate.

לחלופין, כדי לאמת את השלב של תכונה שמתאימה לגרסה של מישור הבקרה או הצמתים של האשכול, אפשר לעיין בטבלה Feature gates for Alpha or Beta features (שערי תכונות לגרסאות אלפא או בטא) במסמכי Kubernetes.

תכונות GA Kubernetes ב-GKE

תכונות Kubernetes ב-GA (נקראות גם יציבות) מופעלות ב-GKE כברירת מחדל ואי אפשר להשבית אותן.

תכונות בטא של Kubernetes ב-GKE

תכונות בגרסת בטא מופעלות בדרך כלל כברירת מחדל ב-GKE. יכול להיות ש-GKE ישבית תכונת בטא ספציפית בגרסה מסוימת כדי לפתור בעיה ידועה בתכונה, כדי להבטיח תאימות לאחור או כי השילוב וההסמכה של התכונה ב-GKE עדיין לא הושלמו.

אם רוצים להשתמש בתכונת בטא של Kubernetes באשכול GKE שפועלת בו גרסה 1.26 ואילך, צריך לוודא שהתכונה הזו מופעלת על ידי בדיקת מצב Feature Gate. אם האשכול שלכם מריץ גרסה קודמת ל-1.26, תוכלו לבדוק אם התכונה מופעלת על ידי בדיקת התכונה.

אם אתם לא מצליחים לוודא שתכונת הבטא מופעלת במישור הבקרה או בגרסת הצומת של אשכול GKE, אתם יכולים לפנות לתמיכה ב-Cloud Customer Care.

ממשקי API בגרסת בטא של Kubernetes עם אשכולות GKE

בנוסף לתכונות בטא של Kubernetes, אפשר להשתמש גם בממשקי API בגרסת בטא של Kubernetes עם אשכולות GKE. בממשקי API בגרסת בטא שהושקו בגרסה 1.24 ואילך, צריך להגדיר ממשקי API בגרסת בטא לכל משאב בכל אשכול. מידע נוסף זמין במאמר בנושא שימוש בממשקי Kubernetes beta API עם אשכולות GKE.

תכונות אלפא של Kubernetes ב-GKE

תכונות אלפא של Kubernetes מושבתות כברירת מחדל בכל אשכולות GKE, למעט אשכולות אלפא. יכול להיות שב-GKE תופעל תכונת אלפא ספציפית בגרסה ספציפית של מישור הבקרה.

במערכות אלפא, כל שערי התכונות של אלפא שזמינים בגרסת Kubernetes מופעלים, וחלק משערי התכונות של בטא מופעלים, בהתאם לערך ברירת המחדל. מידע נוסף על שערי התכונות שזמינים בגרסאות ספציפיות ועל תכונות הבטא שמופעלות כברירת מחדל זמין במאמר שערי תכונות לתכונות אלפא או בטא במסמכי התיעוד של Kubernetes. אפשר גם לשנות באופן סלקטיבי שערים ספציפיים של תכונות. מידע נוסף זמין במאמר Feature gates and alpha clusters.

כדי להפעיל את כל התכונות של אלפא Kubernetes, צריך ליצור אשכול אלפא רגיל.

בדיקת המצב של Feature Gate

אם האשכולות מריצים גרסה 1.26 ואילך, אפשר להריץ פקודה של kubectl כדי לבדוק אילו תכונות מופעלות.

בודקים את מצב Feature Gate באשכול GKE:

  1. התקנה והגדרה של גישת kubectl
  2. מריצים את הפקודה הבאה:

    kubectl get --raw /metrics | grep kubernetes_feature_enabled
    

    הפלט, כמו בדוגמה הבאה, מציג את השם של Feature Gate, את השלב המתאים ("" הוא GA) ואם ה-Feature Gate מופעל. הסמל 1 מציין שהתכונה מופעלת, והסמל 0 מציין שהיא מושבתת.

    דוגמה לפלט:

    # HELP kubernetes_feature_enabled [BETA] This metric records the data about the stage and enablement of a k8s feature.
    # TYPE kubernetes_feature_enabled gauge
    kubernetes_feature_enabled{name="APIListChunking",stage=""} 1
    kubernetes_feature_enabled{name="APIPriorityAndFairness",stage=""} 1
    kubernetes_feature_enabled{name="APIResponseCompression",stage="BETA"} 1
    kubernetes_feature_enabled{name="APISelfSubjectReview",stage=""} 1
    kubernetes_feature_enabled{name="APIServerIdentity",stage="BETA"} 1
    kubernetes_feature_enabled{name="APIServerTracing",stage="BETA"} 1
    kubernetes_feature_enabled{name="AdmissionWebhookMatchConditions",stage="BETA"} 1
    ...
    

    הפלט הזה מציין, לדוגמה, שהתכונה APIResponseCompressionמופעלת ונמצאת בשלב הבטא.

המאמרים הבאים