ניהול קבוצות בעלות שם

במאמר הזה מוסבר איך לבצע את העדכונים הבאים בקבוצות בעלות שם במדיניות של נתיבי BGP ב-Cloud Router:

  • רשימת קבוצות עם שמות
  • הסרת קבוצות בעלות שם
  • עדכון של קבוצות בעלות שם
  • הוספת רכיבים של קבוצה בעלת שם
  • הסרת אלמנטים מקבוצה בעלת שם

הצגת רשימה של קבוצות בעלות שם בנתב

משתמשים בפקודה list-named-sets כדי להציג את השמות והסוגים של קבוצות בעלות שם שהוגדרו בנתב יחיד.

gcloud compute routers list-named-sets ROUTER_NAME

מחליפים את ROUTER_NAME בשם של Cloud Router.

הסרת קבוצה עם שם

אם יש הפניה לקבוצה עם שם במדיניות כלשהי של נתיבי BGP בנתב, אי אפשר להסיר את הקבוצה עם השם.

gcloud compute routers remove-named-set ROUTER_NAME
    --set-name=SET_NAME

מחליפים את מה שכתוב בשדות הבאים:

  • ROUTER_NAME: השם של Cloud Router
  • SET_NAME: השם של קבוצת המשתמשים שרוצים להסיר

עדכון של קבוצה בעלת שם בנתב

כשמעדכנים קבוצה קיימת עם שם, מומלץ להוריד את הקבוצה עם השם מהנתב בפורמט YAML או JSON באמצעות הפקודה download-named-set. עורכים את קובץ ה-YAML או ה-JSON באופן מקומי, ואז מעלים את הקובץ המעודכן לנתב באמצעות הפקודה upload-named-set. הפקודה upload-named-set מחליפה את קבוצת הפריטים הקיימת שנקראת בשם.

הקובץ שמורידים מהנתב כולל את השדה fingerprint, שמשמש את Cloud Router כדי להתאים את קבוצת השמות הקיימת ולמנוע עדכונים סותרים.

  1. כדי להוריד את הקבוצה עם השם, מריצים את הפקודה download-named-set:

    gcloud compute routers download-named-set ROUTER_NAME
        --set-name=SET_NAME
        --file-name=FILE_NAME
        --file-format=FORMAT
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ROUTER_NAME מחליפים בשם של Cloud Router.
    • SET_NAME בשם של הסט.
    • FILE_NAME עם שם הקובץ שרוצים לתת לקבוצה עם השם, כולל הנתיב וסיומת שם הקובץ.
    • FORMAT בפורמט של הקבוצה עם השם, JSON או YAML.
  2. משנים את קבוצת השמות שהורדה בעורך הטקסט המועדף באמצעות פורמט JSON או YAML.

    בדוגמאות הבאות נעשה שימוש בשני קובצי YAML כדי לעדכן קבוצות בעלות שמות allowed-prefixes ו-allowed-communities.

    allowed-prefixes.yaml:

    # Prefix set
    resource:
      elements:
      - expression: "'192.168.1.0/24'"
      - expression: "'fd00::/8'"
      - expression: "prefix('10.0.0.0/20').orLonger()"
      name: allowed-prefixes
      type: NAMED_SET_TYPE_PREFIX
    

    allowed-communities.yaml:

    # Community set
    resource:
      elements:
      - expression: "'64500:100'"
      - expression: "'64500:300'"
      name: allowed-communities
      type: NAMED_SET_TYPE_COMMUNITY
    
  3. כדי להעלות את קבוצת השמות, מריצים את הפקודה upload-named-set:

    gcloud compute routers upload-named-set ROUTER_NAME
        --set-name=SET
        --file-name=NAME
        --file-format=FORMAT
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ROUTER_NAME מחליפים בשם של Cloud Router.
    • SET בשם של הסט.
    • NAME במיקום ובשם הקובץ של קובץ ה-YAML או ה-JSON שערכתם.
    • FORMAT בפורמט של הקבוצה עם השם, JSON או YAML.

הוספת רכיב של קבוצה עם שם

מריצים את הפקודה הבאה:

gcloud compute routers add-named-set-element ROUTER_NAME
    --set-name=SET_NAME
    --new-set-element=CEL_EXPRESSION

מחליפים את מה שכתוב בשדות הבאים:

  • ROUTER_NAME: השם של Cloud Router
  • SET_NAME: השם של קבוצת הפריטים שרוצים לעדכן
  • CEL_EXPRESSION: רכיב להוספה לקבוצה, שמוגדר ב-Common Expression Language ‏ (CEL)

הסרת רכיב של קבוצה בעלת שם

מריצים את הפקודה הבאה:

gcloud compute routers remove-named-set-element ROUTER_NAME
    --set-name=SET_NAME
    --set-element=CEL_EXPRESSION

מחליפים את מה שכתוב בשדות הבאים:

  • ROUTER_NAME: השם של Cloud Router
  • SET_NAME: השם של קבוצת הפריטים שרוצים לעדכן
  • CEL_EXPRESSION: רכיב להסרה מהקבוצה, שמוגדר ב-Common Expression Language ‏ (CEL)

המאמרים הבאים