במאמר הזה מוסבר איך למחוק סביבות. מידע נוסף זמין במאמר 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, פועלים לפי השלבים הבאים:
- מעתיקים את קובץ ההגדרות המקורי – זה שמכיל את ההגדרות של סביבת prod ושל סביבת test – לקובץ חדש שנקרא, לדוגמה,
prod-delete.yaml. - פותחים את
prod-delete.yaml. - מוחקים את הגדרת הסביבה
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 - מסירים את כל השאר מ-
prod-delete.yamlexcept thecassandraconfig, 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 - Run this command to delete the specified components:
apigeectl delete -f prod-delete.yaml -c runtime, udca, synchronizer
- פותחים את קובץ ההחלפות המקורי (זה שכולל את ההגדרות של סביבת הבדיקה וסביבת הייצור).
- מוחקים את הגדרת הסביבה
prodמהרכיבenvs. אתם רוצים שרק הגדרת הסביבהtestתופיע בקובץ. - מחילים את קובץ ההחלפות ששיניתם על האשכול. הפקודה הזו תיצור מחדש את הרכיבים שנמחקו, ומכיוון שהיא לא מצוינת, היא לא תיצור מחדש את סביבת
prod.apigeectl apply -f prod-delete.yaml -c runtime, udca, synchronizer
שומרים את השינויים.
- פותחים דפדפן ועוברים לממשק המשתמש של Hybrid בכתובת Apigee UI.
- מסירים את הסביבה באמצעות השלבים שמתוארים במאמר בנושא מחיקת סביבה קיימת בממשק המשתמש ההיברידי.
כמעט סיימת. עכשיו צריך לעדכן את הסביבות בממשק המשתמש ההיברידי.