מחיקת סביבות

במאמר הזה מוסבר איך למחוק סביבות. מידע נוסף זמין במאמר About environments and environment groups.

מידע על מחיקת סביבות

כדי למחוק סביבה בצורה תקינה, צריך לבצע כמה שינויים בהגדרות ולהחיל אותם על האשכול. השינויים האלה כוללים הסרה של הגדרת הסביבה מקובץ הביטולים, מחיקה של הרכיבים synchronizer, runtime ו-udca, ולבסוף החלה מחדש של הביטולים כדי לשחזר את האשכול בלי לכלול את הסביבה שרוצים למחוק.

הסיבה לכך שאי אפשר למחוק את הסביבה בשלב אחד היא שהרכיבים האחרים, synchronizer, runtime ו-udca, מחוברים לכל סביבה באמצעות ההגדרות הפנימיות שלהם. הדרך היחידה למחוק סביבה היא למחוק את ההרשאות ולהחיל אותן מחדש.

איך מוחקים סביבה

נניח שיש לכם שתי סביבות, test ו-prod. בקובץ ההגדרות לביטול, ההגדרות יכולות להיראות כך:

...
envs:
  - name: test
    sslCertPath: "your_certpath/ingress-cert.crt"
    sslKeyPath: "your_keypath/ingress-key.key"
    hostAlias: "apitest.example.com"
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
  - name: prod
    sslCertPath: "your_certpath/ingress-cert.crt"
    sslKeyPath: "your_keypath/ingress-key.key"
    hostAlias: "apiprod.example.com"
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
...

כדי למחוק את סביבת prod, פועלים לפי השלבים הבאים:

  1. מעתיקים את קובץ ההגדרות המקורי – זה שמכיל את ההגדרות של סביבת prod ושל סביבת test – לקובץ חדש שנקרא, לדוגמה, prod-delete.yaml.
  2. פותחים את prod-delete.yaml.
  3. מוחקים את הגדרת הסביבה test מ-envs, כך שתישאר רק ההגדרה prod. לדוגמה:
    ...
    envs:
      - name: prod
        sslCertPath: "your_certpath/ingress-cert.crt"
        sslKeyPath: "your_keypath/ingress-key.key"
        hostAlias: "apitest.example.com"
        serviceAccountPaths:
          synchronizer: "your_keypath/synchronizer-manager-service-account.json
          udca: "your_keypath/analytic-agent-service-account.json
  4. מסירים את כל השאר מ-prod-delete.yaml except the cassandra config, if present:

    אחרי שמבצעים את השינויים שלמעלה, קובץ ההחלפות אמור להיראות כך:

    ...
    envs:
      - name: prod
        sslCertPath: "your_certpath/ingress-cert.crt"
        sslKeyPath: "your_keypath/ingress-key.key"
        hostAlias: "apitest.example.com"
        serviceAccountPaths:
          synchronizer: "your_keypath/synchronizer-manager-service-account.json
          udca: "your_keypath/analytic-agent-service-account.json
    cassandra:
      replicaCount: 3
      resources:
        requests:
          cpu: 3500m
          memory: 7Gi
      storage:
        storageClass: pd-ssd
        capacity: 10Gi
    
      
  5. Run this command to delete the specified components:
    apigeectl delete -f prod-delete.yaml -c runtime, udca, synchronizer
  6. פותחים את קובץ ההחלפות המקורי (זה שכולל את ההגדרות של סביבת הבדיקה וסביבת הייצור).
  7. מוחקים את הגדרת הסביבה prod מהרכיב envs. אתם רוצים שרק הגדרת הסביבה test תופיע בקובץ.
  8. מחילים את קובץ ההחלפות ששיניתם על האשכול. הפקודה הזו תיצור מחדש את הרכיבים שנמחקו, ומכיוון שהיא לא מצוינת, היא לא תיצור מחדש את סביבת prod.
    apigeectl apply -f prod-delete.yaml -c runtime, udca, synchronizer
  9. שומרים את השינויים.

  10. כמעט סיימת. עכשיו צריך לעדכן את הסביבות בממשק המשתמש ההיברידי.

  11. פותחים דפדפן ועוברים לממשק המשתמש של Hybrid בכתובת Apigee UI.
  12. מסירים את הסביבה באמצעות השלבים שמתוארים במאמר בנושא מחיקת סביבה קיימת בממשק המשתמש ההיברידי.