במאמר הזה מוסבר איך למחוק סביבות. מידע נוסף זמין במאמר About environments and environment groups.
מידע על מחיקת סביבות
כדי למחוק סביבה בצורה תקינה, צריך לבצע כמה שינויים בהגדרות ולהחיל אותם על האשכול. השינויים האלה כוללים הסרה של הגדרת הסביבה והפניות אליה מקובץ ההחלפות, מחיקה של הרכיבים synchronizer, runtime ו-udca, ולבסוף החלה מחדש של ההחלפות כדי לשחזר את האשכול בלי לכלול את הסביבה שרוצים למחוק.
הסיבה לכך שאי אפשר למחוק את הסביבה בשלב אחד היא שהרכיבים האחרים, synchronizer, runtime ו-udca, מחוברים לכל סביבה באמצעות ההגדרות הפנימיות שלהם. הדרך היחידה למחוק סביבה היא למחוק את ההרשאות ולהחיל אותן מחדש.
איך מוחקים סביבה
נניח שיש לכם שתי סביבות, test ו-prod. בקובץ ההגדרות לביטול, ההגדרות יכולות להיראות כך:
...
virtualhosts:
- name: default-test
hostAliases: ["api-test.example.com"]
sslCertPath: ./certs/fullchain-test.pem
sslKeyPath: ./certs/privkey-test.pem
env: test
- name: default-prod
hostAliases: ["api.example.com"]
sslCertPath: ./certs/fullchain.pem
sslKeyPath: ./certs/privkey.pem
env: prod
...
envs:
- name: test
serviceAccountPaths:
synchronizer: "your_keypath/synchronizer-manager-service-account.json
udca: "your_keypath/analytic-agent-service-account.json
- name: prod
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ומ-virtualhosts, כך שיישארו רק ההגדרות של prod. לדוגמה:... virtualhosts: - name: default-prod hostAliases: ["api.example.com"] sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem env: prod ... envs: - name: prod serviceAccountPaths: synchronizer: "your_keypath/synchronizer-manager-service-account.json udca: "your_keypath/analytic-agent-service-account.json ... - מסירים את כל השאר מ-
prod-delete.yamlexcept thecassandraconfig, if present:אחרי שמבצעים את השינויים שלמעלה, קובץ ההחלפות אמור להיראות כך:
... virtualhosts: - name: default-prod hostAliases: ["api.example.com"] sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem env: prod envs: - name: prod 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 - מריצים את הפקודה הבאה כדי למחוק את הרכיבים שצוינו:
apigeectl delete -f prod-delete.yaml -c runtime, udca, synchronizer
- פותחים את קובץ ההחלפות המקורי (זה שכולל את ההגדרות של סביבת הבדיקה וסביבת הייצור).
- מוחקים את הגדרת סביבת
prodמהרכיביםenvsו-virtualhosts. אתם רוצים שרק הגדרת הסביבהtestתופיע בקובץ. - מחילים את קובץ ההחלפות ששיניתם על האשכול. הפקודה הזו תיצור מחדש את הרכיבים שנמחקו, ומכיוון שהיא לא מצוינת, היא לא תיצור מחדש את סביבת
prod.apigeectl apply -f original-overrides.yaml -c runtime, udca, synchronizer
שומרים את השינויים.
- פותחים דפדפן ועוברים לממשק המשתמש של Hybrid בכתובת Apigee UI.
- מסירים את הסביבה באמצעות השלבים שמתוארים במאמר בנושא מחיקת סביבה קיימת בממשק המשתמש ההיברידי.
כמעט סיימת. עכשיו צריך לעדכן את הסביבות בממשק המשתמש ההיברידי.