לפני שמתחילים
תצטרכו:
- קלאסטר קיים עם Kf מותקן.
- גישה למחשב שמותקנים בו
gcloud, kfו-kubectl.
אימות ההתקנה הקיימת של Kf
קבלת פרטי אימות כדי ליצור אינטראקציה עם האשכול:
gcloud container clusters get-credentials CLUSTER_NAME \ --zone CLUSTER_ZONE \ --project CLUSTER_PROJECT_IDמריצים את הפקודה
kf debugומוודאים שהגרסאות של Kf CLI ושל שרת Kf זהות.- גרסת ה-CLI מופיעה בקטע
Kf Client. - גרסת השרת של Kf מופיעה בקטע
kf["app.kubernetes.io/version"].
$ kf debug ... Version: Kf Client: v2.0.0 Server version: v1.17.13-gke.1401 kf["app.kubernetes.io/version"]: v2.0.0 ...אם הערכים של לקוח Kf ושרת Kf לא זהים, צריך להוריד ולהתקין את הגרסה של Kf CLI שתואמת לגרסת השרת, ואז לחזור על הבדיקה עם ה-CLI החדש. גרסת ה-CLI חייבת להיות זהה לגרסת השרת כדי להמשיך.
- גרסת ה-CLI מופיעה בקטע
מריצים את הפקודה
kf doctorכדי לבדוק את מצב האשכול. לפני שממשיכים, צריך לוודא שכל הבדיקות עברו.$ kf doctor ... === RUN doctor/user === RUN doctor/user/ContainerRegistry --- PASS: doctor/user --- PASS: doctor/user/ContainerRegistry ...אם מוצגת ההודעה
Error: environment failed checks, צריך לפעול לפי ההנחיות בפלטdoctorכדי לפתור את הבעיה ולנסות שוב להריץ את הפקודה עד שהיא תצליח.
שדרוג
כדי לשדרג את Kf, פועלים לפי השלבים הבאים:
- מכינים את הסביבה המקומית ואת השדרוג.
- משדרגים את יחסי התלות של Kf.
- משדרגים את Kf ומוודאים שהשדרוג הצליח.
הכנה לשדרוג
מריצים את הפקודה
kf versionכדי לקבל את הגרסה הנוכחית של Kf.$ kf version kf version v2.0.0 linuxמחפשים את הגרסה החדשה הבאה של Kf בדף ההורדות.
מורידים את קובץ ה-YAML של מהדורת Kf ושומרים אותו בשם
kf-release.yaml.מורידים את הגרסה של Kf שמתאימה למערכת ההפעלה שלכם ונותנים לה את השם
kf-next.מריצים את הפקודה
chmodכדי להפוך אתkf-nextלקובץ הפעלה:chmod +x kf-nextמריצים את הפקודה
kf-next versionכדי לוודא שהגרסה שהורדתם זהה לגרסה של Kf שאתם רוצים להתקין:$ kf-next version kf version v2.1.0 linux
מריצים את הפקודה הבאה כדי ליצור גיבוי של
config-defaultsconfigmap:kubectl get configmap config-defaults -o yaml -n kf > config-defaults-backup.yamlמריצים את הפקודה
kubectl diff -f kf-release.yamlובודקים את השינויים שהשדרוג יבצע באשכול.עורכים את
kf-release.yamlומשנים אותו כדי לשמור את השינויים הרצויים.לדוגמה, אם מגדירים את הנכס
config-defaultsconfigmapspaceDefaultToV3Stackכ-false ב-v2.0.0של Kf, לגרסתv2.1.0יהיה ערך ברירת המחדלtrue.מריצים את
kubectl diff -f kf-release.yamlשוב כדי לוודא שכל השינויים שביצעתם יניבו את הפלט הצפוי.
שדרוג יחסי התלות של Kf
פותחים את דף ההורדות ומחפשים את מטריצת התלות של גרסת Kf שאליה משדרגים.
שדרוג Tekton:
פותחים את דף הגרסה של Tekton.
מחפשים את הגרסה של Tekton שמופיעה במטריצת התלות של Kf.
כדי לשדרג את Tekton, מריצים את הפקודה שמופיעה בכותרת Installation one-liner (התקנה בשורה אחת).
שדרוג Cloud Service Mesh:
פותחים את מדריך השדרוג של Cloud Service Mesh.
בתפריט הנפתח של הגרסה, בוחרים את הגרסה של Cloud Service Mesh שמופיעה במטריצת התלות של Kf.
פועלים לפי ההוראות במדריך לשדרוג ASM.
שדרוג ואימות של Kf
מתקינים את רכיבי Kf המשודרגים באמצעות הגדרת הגרסה ששונתה:
kubectl apply -f kf-release.yamlמריצים את הפקודה
doctorכדי לוודא שהגרסה החדשה שהותקנה תקינה:kf-next doctor --retries=12 --delay=5sהפקודה תריץ בדיקות של האשכול כמה פעמים. זה נורמלי שכמה מהניסיונות ייכשלו בזמן שהבקרים החדשים מופעלים.
אם הפקודה נכשלת עם ההודעה
Error: environment failed checks, צריך לפעול לפי ההנחיות בפלטdoctorכדי לפתור את הבעיה ולנסות שוב להריץ את הפקודה עד שהיא תצליח.מחליפים את ה-CLI הקיים
kfבמערכת ב-CLIkf-next.chmod +x kf-nextmv kf-next $(which kf)משווים בין הקובץ
config-defaults-backup.yamlלבין הקובץkubectl diff -f config-defaults-backup.yamlכדי לוודא שהאשכול עדיין מוגדר בצורה נכונה.לדוגמה, אם שמרתם את כל השינויים מהגרסה הישנה של Kf, ואישרתם שימוש ב-buildpack חדש שצורף לגרסה הבאה של Kf:
$ kubectl diff -f config-defaults-backup.yaml diff -u -N /tmp/LIVE/v1.ConfigMap.kf.config-defaults /tmp/MERGED/v1.ConfigMap.kf.config-defaults --- /tmp/LIVE/v1.ConfigMap.kf.config-defaults +++ /tmp/MERGED/v1.ConfigMap.kf.config-defaults @@ -131,6 +131,8 @@ enable_route_services: false spaceBuildpacksV2: | - - name: new_buildpack - url: https://github.com/cloudfoundry/new-buildpack - name: staticfile_buildpack url: https://github.com/cloudfoundry/staticfile-buildpack - name: java_buildpack exit status 1