עדכון עומסי עבודה עם שמירת מצב

בדף הזה מוסבר איך לעדכן עומסי עבודה קיימים עם שמירת מצב שפועלים באשכול Kubernetes של מכשיר Google Distributed Cloud (GDC) עם בידוד פיזי. ככל שהאפליקציה מתפתחת על סמך השימוש במשאבים והאופטימיזציות של ההגדרות, צריך לעדכן את מפרט ה-Pod הבסיסי באשכול Kubernetes כדי לשקף את השינויים בעומס העבודה. מידע נוסף על תכנון עדכונים לעומסי עבודה עם שמירת מצב זמין במסמכי Kubernetes בנושא אסטרטגיות עדכון.

הדף הזה מיועד למפתחים בקבוצת מפעילים של אפליקציות, שאחראים לעדכון של עומסי עבודה של אפליקציות בארגון שלהם.

לפני שמתחילים

כדי להשלים את המשימות שמתוארות במאמר הזה, צריך לבקש את ההרשאות הנדרשות ולהכין את הסביבה.

שליחת בקשה לתפקידי IAM

כדי ליצור, למחוק, לערוך או להציג עומסי עבודה עם שמירת מצב באשכול Kubernetes, צריך לבקש מאדמין ה-IAM בארגון להקצות לכם את התפקיד אדמין במרחב שמות (namespace-admin). התפקיד הזה משויך למרחב השמות של הפרויקט.

הכנת הסביבה

כדי להריץ פקודות באשכול Kubernetes בשרת פיזי שהוגדר מראש, צריך לוודא שיש לכם את המשאבים הבאים:

  1. מאתרים את שם אשכול Kubernetes או שואלים את מנהל הפלטפורמה מה שם האשכול.

  2. אם אין לכם קובץ kubeconfig, אתם צריכים להיכנס וליצור אותו עבור אשכול Kubernetes.

  3. משתמשים בנתיב kubeconfig של אשכול Kubernetes כדי להחליף את הערך CLUSTER_KUBECONFIG בהוראות האלה.

עדכון משאב StatefulSet

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

כדי לעדכן אובייקט StatefulSet, מריצים את הפקודה:

kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
    apply -f STATEFULSET_FILE

מחליפים את מה שכתוב בשדות הבאים:

  • ‫CLUSTER_KUBECONFIG: קובץ ה-kubeconfig של אשכול Kubernetes שמריץ את עומסי העבודה עם שמירת מצב.

  • ‫NAMESPACE: מרחב השמות של הפרויקט.

  • ‫STATEFULSET_FILE: השם של קובץ המניפסט המעודכן StatefulSet.

הפקודה kubectl apply מחילה קובץ מניפסט על משאב. אם המשאב שצוין לא קיים, הפקודה יוצרת אותו.

בדיקת פריסת עדכון של משאב StatefulSet

אפשר לראות מידע מפורט על סטטוס ההשקה של העדכון ועל ההיסטוריה של אובייקט StatefulSet. אפשר גם לבטל את ההשקה של אובייקט StatefulSet.

בדיקת ההשקה

כדי לבדוק את ההשקה של משאב StatefulSet, מריצים את הפקודה:

kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout status statefulset STATEFULSET_NAME
  • ‫CLUSTER_KUBECONFIG: קובץ ה-kubeconfig של אשכול Kubernetes שמריץ את עומסי העבודה עם שמירת מצב.

  • ‫NAMESPACE: מרחב השמות של הפרויקט.

  • ‫STATEFULSET_NAME: השם של אובייקט StatefulSet המעודכן.

הצגת היסטוריית ההשקה

כדי לראות את היסטוריית ההשקה של משאב StatefulSet, מריצים את הפקודה:

kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout history statefulset STATEFULSET_NAME
  • ‫CLUSTER_KUBECONFIG: קובץ ה-kubeconfig של אשכול Kubernetes שמריץ את עומסי העבודה עם שמירת מצב.

  • ‫NAMESPACE: מרחב השמות של הפרויקט.

  • ‫STATEFULSET_NAME: השם של אובייקט StatefulSet המעודכן.

ביטול השקה

כדי לבטל השקה, מריצים את הפקודה:

kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout undo statefulset STATEFULSET_NAME

מחליפים את מה שכתוב בשדות הבאים:

  • ‫CLUSTER_KUBECONFIG: קובץ ה-kubeconfig של אשכול Kubernetes שמריץ את עומסי העבודה עם שמירת מצב.

  • ‫NAMESPACE: מרחב השמות של הפרויקט.

  • ‫STATEFULSET_NAME: השם של אובייקט StatefulSet.