שדרוג Apigee Hybrid לגרסה 1.4

<0x0A

אם אתם משדרגים מגרסה 1.2 או מגרסה ישנה יותר של Apigee Hybrid, אתם צריכים לשדרג קודם לגרסה 1.3 של Hybrid לפני שתשדרגו לגרסה 1.4.4. אפשר לעיין בהוראות בנושא שדרוג Apigee Hybrid לגרסה 1.3.

סקירה כללית של שדרוג לגרסה 1.4.4.

ההליכים לשדרוג Apigee hybrid מאורגנים בקטעים הבאים:

  1. גיבוי של ההתקנה ההיברידית.
  2. בודקים את גרסת Kubernetes ומשדרגים אותה לפי הצורך.
  3. שדרוג ASM.
  4. מתקינים את גרסת זמן הריצה של Hybrid‏ 1.4.

דרישות מוקדמות

שדרוג לגרסה 1.4

  1. (מומלץ) יוצרים עותק גיבוי של ספריית $APIGEECTL_HOME/ בגרסה 1.3. לדוגמה:
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.3-backup.tar.gz $APIGEECTL_HOME
  2. (מומלץ) מגבים את מסד הנתונים של Cassandra לפי ההוראות במאמר בנושא גיבוי ושחזור של Cassandra.
  3. כדי לשדרג את פלטפורמת Kubernetes, פועלים לפי השלבים הבאים. אם אתם צריכים עזרה, תוכלו להיעזר במאמרי העזרה של הפלטפורמה:
    פלטפורמה שדרוג לגרסה
    GKE ‫1.18.x
    GKE on-prem ‏ (Anthos) ‫1.5.x
    AKS ‫1.18.x באמצעות Anthos Attached Clusters
    EKS ‫1.18.x באמצעות Anthos Attached Clusters
  4. משדרגים את ASM לגרסה 1.6.x.
    1. מבצעים את השדרוג באמצעות מסמכי התיעוד של ASM:
    2. מציינים את יציאות הכניסה הבאות ומגדירים את המאפיין runAsRoot לערך true בקובץ istio-operator.yaml:
          … … …
                  ports:
                  - port: 15021
                    name: status-port
                    targetPort: 15021
                  - port: 80
                    name: http2
                    targetPort: 80
                  - port: 443
                    name: https
                    targetPort: 443
      
          … … …
          values:
            gateways:
              istio-ingressgateway:
                runAsRoot: true 
    3. יוצרים משאבי PeerAuthentication CR כדי להשבית את mTLS בקובץ istio-operator.yaml:
      ---
      apiVersion: security.istio.io/v1beta1
      kind: PeerAuthentication
      metadata:
        name: apigee-system
        namespace: apigee-system
      spec:
        mtls:
          mode: DISABLE
      ---
      apiVersion: security.istio.io/v1beta1
      kind: PeerAuthentication
      metadata:
        name: user-namespace
        namespace: user-namespace
      spec:
        mtls:
          mode: DISABLE
    4. כדי להחיל את השינויים האלה באמצעות istioctl, פועלים לפי ההוראות שמתוארות במסמכי ה-ASM:

התקנה של זמן הריצה של Hybrid 1.4.4

  1. שמירת מספר הגרסה האחרונה במשתנה:
    export VERSION=$(curl -s \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
  2. בודקים שהמשתנה אוכלס במספר גרסה. אם רוצים להשתמש בגרסה אחרת, אפשר לשמור אותה במשתנה סביבה. לדוגמה:
    echo $VERSION
      1.4.4
  3. מורידים את חבילת ההפצה של מערכת ההפעלה:

    Mac 64 bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz

    Linux 64 bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz

    Mac 32 bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_32.tar.gz

    Linux‏ 32 ביט:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
  4. משנים את השם של ספריית apigeectl/ הנוכחית לשם של ספריית גיבוי. לדוגמה:
    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/ 
  5. מחלצים את התוכן של קובץ ה-gzip שהורדתם לספריית הבסיס ההיברידית. לדוגמה:

    tar xvzf filename.tar.gz -C hybrid-base-directory
  6. cd לספריית הבסיס.
  7. תוכן ה-tar מורחב כברירת מחדל לספרייה עם הגרסה והפלטפורמה בשם שלה. לדוגמה: ./apigeectl_1.4.4-xxx_linux_64. משנים את שם הספרייה ל-apigeectl:

    mv apigeectl_1.4.5-xxx_linux_64 apigeectl
  8. בספרייה new apigeectl/, מריצים את הפקודות apigeectl init,‏ apigeectl apply ו-apigeectl check-ready:
    1. מפעילים את הגרסה ההיברידית 1.4.4:
      apigeectl init -f overrides.yaml

      כאשר overrides.yaml הוא קובץ overrides.yaml שעבר עריכה.

    2. בודקים שההפעלה בוצעה בצורה תקינה באמצעות הפקודות הבאות:
      apigeectl check-ready -f overrides.yaml
      kubectl describe apigeeds -n apigee

      הפלט אמור להיראות כך:

      Status:
        Cassandra Data Replication:
        Cassandra Pod Ips:
          10.8.2.204
        Cassandra Ready Replicas:  1
        Components:
          Cassandra:
            Last Successfully Released Version:
              Revision:  v1-f8aa9a82b9f69613
              Version:   v1
            Replicas:
              Available:  1
              Ready:      1
              Total:      1
              Updated:    1
            State:        running
        Scaling:
          In Progress:         false
          Operation:
          Requested Replicas:  0
        State:                 running
      
    3. התחביר של הדגל apigeectl --dry-run תלוי בגרסה של kubectl שפועלת. כדי לבדוק את הגרסה של kubectl:
      gcloud version
    4. כדי לבדוק אם יש שגיאות, מריצים הרצה יבשה באמצעות הפקודה שמתאימה לגרסה של kubectl:

      kubectl גרסה 1.17 וגרסאות ישנות יותר:

      apigeectl apply -f overrides.yaml --dry-run=true

      kubectl גרסה 1.18 ואילך:

      apigeectl apply -f overrides.yaml --dry-run=client
    5. מחילים את השינויים. בוחרים את ההוראות לסביבות ייצור או לסביבות הדגמה/ניסוי, בהתאם להתקנה.

      ייצור

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

      1. מחילים את ההחלפות כדי לשדרג את Cassandra:
        apigeectl apply -f overrides.yaml --datastore
      2. השלמת הבדיקה:
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml

        כאשר namespace הוא מרחב השמות של Apigee Hybrid.

        ממשיכים לשלב הבא רק כשהפודים מוכנים.

      3. מחילים את ההחלפות כדי לשדרג את רכיבי הטלמטריה ובודקים שהשדרוג הושלם:
        apigeectl apply -f overrides.yaml --telemetry
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      4. מחילים את השינויים כדי לשדרג את הרכיבים ברמת הארגון (MART, ‏ Watcher ו-Apigee Connect) ובודקים שהשדרוג הושלם:
        apigeectl apply -f overrides.yaml --org
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      5. מחילים את השינויים כדי לשדרג את הסביבות. יש שתי אפשרויות:
        • סביבה אחרי סביבה: מחילים את השינויים על סביבה אחת בכל פעם ובודקים שהפעולה הושלמה. חוזרים על השלב הזה לכל סביבה:
          apigeectl apply -f overrides.yaml --env env_name
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

          כאשר env_name הוא שם הסביבה שמשדרגים.

        • כל הסביבות בבת אחת: אפשר להחיל את השינויים על כל הסביבות בבת אחת ולבדוק שהפעולה הושלמה:
          apigeectl apply -f overrides.yaml --all-envs
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

      הדגמה/ניסוי

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

      1. apigeectl apply -f overrides.yaml
      2. בודקים את הסטטוס:
        apigeectl check-ready -f overrides.yaml

    מזל טוב! השדרוג ל-Apigee Hybrid גרסה 1.4.4 בוצע בהצלחה.