מחיקת סביבות

במאמר הזה מוסבר איך למחוק סביבות ב-Apigee Hybrid. אפשר לקרוא מידע נוסף במאמר מידע על סביבות וקבוצות של סביבות.

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

מחיקת סביבה היא הפעולה ההפוכה של יצירת סביבה, והיא כוללת את המשימות הבאות:

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

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

...
envs:
  - name: test
    serviceAccountPaths:
      synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json"
      runtime: "your_keypath/PROJECT_ID-apigee-runtime.json"
  - name: prod
    serviceAccountPaths:
      synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json"
      runtime: "your_keypath/PROJECT_ID-apigee-runtime.json"
...

כדי למחוק את הסביבה prod:

  1. משיגים את פרטי הכניסה לאימות ב-gcloud:
    TOKEN=$(gcloud auth print-access-token)
  2. כאמצעי זהירות, מנתקים את הסביבה מכל קבוצת סביבות שהיא מחוברת אליה. כך התנועה לא תנותב לסביבה לפני שתסירו את רכיבי זמן הריצה שלה.
    1. מציגים את הקבצים המצורפים של קבוצת הסביבות ומציינים את name (מזהה הקובץ המצורף) של הקובץ המצורף שבו environment הוא prod:

      אין מיקום לאחסון הנתונים

      curl -H "Authorization: Bearer $TOKEN" \
        "https://apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments"

      מיקום אחסון הנתונים

      curl -H "Authorization: Bearer $TOKEN" \
        "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments"

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

      {
        "environmentGroupAttachments": [
          {
            "name": "f6f2958f-a0a1-4260-b9e9-80eead82ff1d",
            "environment": "prod",
            "createdAt": "1789700385118",
            "environmentGroupId": "ENV_GROUP"
          }
        ]
      }
    2. מוחקים את הקובץ המצורף:

      אין מיקום לאחסון הנתונים

      curl -X DELETE -H "Authorization: Bearer $TOKEN" \
        "https://apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments/ATTACHMENT_ID"

      מיקום אחסון הנתונים

      curl -X DELETE -H "Authorization: Bearer $TOKEN" \
        "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments/ATTACHMENT_ID"

    כאשר:

    • ‫ORG_NAME הוא השם של הארגון ב-Apigee.
    • ‫ENV_GROUP הוא השם של קבוצת הסביבות.
    • ‫ATTACHMENT_ID הוא המזהה name של הקובץ המצורף שהוחזר בשלב הקודם. זהו מזהה שנוצר, ולא שם הסביבה.
    • ‫CONTROL_PLANE_LOCATION הוא המיקום של מישור הבקרה של הארגון אם משתמשים במיקום אחסון הנתונים.

    חוזרים על השלבים האלה לכל קבוצת סביבות שהסביבה מצורפת אליה.

  3. מבצעים הרצה יבשה כדי לבדוק את ההסרה של רכיבי זמן הריצה:
    helm delete ENV_RELEASE_NAME -n APIGEE_NAMESPACE --dry-run
    
    • ‫ENV_RELEASE_NAME הוא השם שבו התקנתם בעבר את תרשים apigee-env לסביבה הזו. בדרך כלל הוא זהה לשם הסביבה. כדי להציג את שמות הגרסאות במרחב השמות, מריצים את הפקודה helm list -n APIGEE_NAMESPACE.
    • ‫APIGEE_NAMESPACE הוא מרחב השמות שבו התקנתם את Apigee Hybrid, כברירת מחדל apigee.

    האפשרות --dry-run מדמה את ההסרה בלי להסיר שום דבר, והפלט שלה זהה לפלט של ההסרה בפועל. בניגוד ל-helm upgrade, helm delete לא מקבל ערך ל---dry-run כמו --dry-run=server. לדוגמה:

    helm delete prod -n apigee --dry-run
    release "prod" uninstalled
  4. אם ההרצה היבשה לא כוללת שגיאות, מסירים את רכיבי זמן הריצה:
    helm delete ENV_RELEASE_NAME -n APIGEE_NAMESPACE
    
  5. פותחים את קובץ השינויים ומסירים את הגדרת הסביבה prod מ-envs, כך שרק ההגדרה test תישאר. לדוגמה:
    ...
    envs:
      - name: test
        serviceAccountPaths:
          synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json"
          runtime: "your_keypath/PROJECT_ID-apigee-runtime.json"
    ...
  6. שומרים את הקובץ.
  7. מוחקים את הסביבה ממישור הניהול. אפשר להשתמש בממשק המשתמש של Apigee או ב-Delete environments API.

    ממשק המשתמש של Apigee

    1. במסוף Google Cloud , נכנסים לדף Apigee > Management > Environments.

      כניסה לדף Environments

    2. בוחרים את הפרויקט של הארגון ב-Apigee.
    3. בשורה של הסביבה prod, לוחצים על Actions > Delete.

    API

    אין מיקום לאחסון הנתונים:

    curl -X DELETE -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/ORG_NAME/environments/prod"

    מיקום אחסון הנתונים:

    curl -X DELETE -H "Authorization: Bearer $TOKEN" \
      "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/environments/prod"

    הקריאה מחזירה פעולה ממושכת. המחיקה עשויה להימשך כמה דקות.