מחיקת סביבות

במאמר הזה מוסבר איך למחוק סביבות. מידע נוסף זמין במאמר 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. פותחים דפדפן ועוברים לממשק המשתמש של Apigee Hybrid בכתובת Apigee UI.
  12. מסירים את הסביבה באמצעות השלבים שמתוארים במאמר בנושא מחיקת סביבה קיימת בממשק המשתמש ההיברידי.