יצירת פלאגין

בדף הזה מוסבר איך ליצור תוספים של Service Extensions שאפשר להשתמש בהם כדי להטמיע יכולת הרחבה באמצעות Google Cloud שירותים.

התכונה הזו נמצאת בגרסת טרום-השקה ב-Media CDN.

סקירה כללית של המוצר זמינה במאמר סקירה כללית על Service Extensions.

לפני שמתחילים

  1. מכינים ומעלים את הקבצים שנדרשים ליצירת תוסף.

  2. קבלת התפקידים וההרשאות הנדרשים ב-IAM.

  3. מפעילים את Network Services API, אם הוא עדיין לא מופעל.

    gcloud services enable networkservices.googleapis.com
    
  4. בתוספים של Media CDN, אם אתם רוצים להפעיל רישום ביומן, אתם צריכים להפעיל את Network Actions API.

    gcloud services enable networkactions.googleapis.com
    

יצירת משאב של פלאגין

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

המסוף

כדי ליצור פלאגין, פועלים לפי השלבים הבאים:

  1. נכנסים לדף Service Extensions במסוף Google Cloud .

    כניסה לדף Service Extensions

  2. לוחצים על הכרטיסייה Plugins (תוספים).

  3. לוחצים על יצירת פלאגין.

  4. בקטע Basics (פרטים בסיסיים), מבצעים את הפעולות הבאות:

    1. בשדה היקף, בוחרים באפשרות גלובלי או אזורי.

      אם מגדירים את ההיקף כאזורי, צריך לבחור גם את האזור.

    2. מזינים שם ייחודי לתוסף.

      השם צריך להתחיל באות קטנה, להמשיך בעד 62 אותיות קטנות, מספרים או מקפים, ולא להסתיים במקף.

    3. אופציונלי: מזינים תיאור קצר של הפלאגין (עד 1,024 תווים).

  5. בקטע Wasm image (תמונת Wasm), מבצעים את הפעולות הבאות:

    1. בשדה שם גרסת הפלאגין מציינים שם לגרסת הפלאגין.

      השם צריך להתחיל באות קטנה, להמשיך בעד 62 אותיות קטנות, מספרים או מקפים, ולא להסתיים במקף.

    2. אופציונלי: בשדה Plugin version description (תיאור גרסת הפלאגין), מזינים תיאור קצר של גרסת הפלאגין (עד 1,024 תווים).

    3. בקטע Image URL (כתובת URL של תמונה), מזינים את כתובת ה-URL של הארטיפקט הגנרי או קובץ אימג' של קונטיינר שמכילים את מודול ה-Wasm מחלונית Artifact Registry. האפשרות להשתמש במאגר כללי נמצאת בגרסת טרום-השקה.

      אם רוצים לציין קובץ אימג' של קונטיינר במאגר Docker, אפשר גם ללחוץ על בחירה כדי לעיין ולבחור אותו. בחלונית Artifact Registry מוצגות התיקיות במאגר שמחובר לפרויקט הנוכחי.

      כדי לבחור תמונה מפרויקט אחר, צריך לוודא של-Service Extensions יש גישה אליו, ואז ללחוץ על שינוי לצד שם הפרויקט.

  6. אופציונלי: בקטע Plugin configuration (הגדרת הפלאגין), כדי לשייך את נתוני ההגדרה לפלאגין, מסמנים את תיבת הסימון Add plugin configuration (הוספת הגדרת הפלאגין) ואז בוחרים באחת מהאפשרויות הבאות:

    • העלאת קובץ תצורה של תוסף. אם גודל הקובץ קטן מ-900 KiB והוא נמצא בכונן מקומי, לוחצים על עיון כדי לאתר אותו ולבחור אותו.

    • בוחרים תמונה או ארטיפקט של הגדרת פלאגין מ-Artifact Registry. מזינים את כתובת ה-URL של הארטיפקט הכללי או קובץ אימג' של קונטיינר עם מודול ה-Wasm מחלונית Artifact Registry. האפשרות להשתמש במאגר כללי נמצאת בגרסת טרום-השקה.

      כדי לציין קובץ אימג' של קונטיינר במאגר Docker, אפשר גם ללחוץ על בחירה כדי לעיין בו ולבחור אותו. בחלונית Artifact Registry מוצגות התיקיות במאגר שמחובר לפרויקט הנוכחי.

  7. אופציונלי: בקטע תוויות, לוחצים על הוספת תווית. לאחר מכן, בשורה שמופיעה, מבצעים את הפעולות הבאות:

    1. בשדה Key, מזינים שם מפתח.
    2. בשדה ערך, מזינים ערך למפתח.

    אפשר להוסיף עד 64 צמדי מפתח/ערך. כדי להוסיף עוד צמדי מפתח/ערך, לוחצים על הוספת תווית.

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

  8. בקטע Encryption, בוחרים את מנגנון ההצפנה של הפלאגין. האפשרות הזו זמינה רק לתוספים אזוריים.

  9. אופציונלי: בקטע Logging (רישום ביומן), בוחרים באפשרות Enable logging (הפעלת רישום ביומן) ומבצעים את הפעולות הבאות:

    • בקטע קצב דגימה, מציינים ערך בין 0 ל-1. הערך 0 מציין שהודעות היומן לא נשמרות. ערך ברירת המחדל 1 מציין שכל הודעות היומן מאוחסנות. ערך נקודה צפה (floating-point) בין 0.0 ל-1.0 שמציין את אחוז ההודעות ביומן שמאוחסנות.

    • בקטע Minimum log level, בוחרים את רמת החומרה המינימלית של הודעות יומן התוסף שרוצים לייצא ל-Cloud Logging. ערך ברירת המחדל הוא Info and higher.

  10. לוחצים על יצירה.

gcloud

  1. מריצים את הפקודה gcloud service-extensions wasm-plugins create כדי ליצור פלאגין:

    gcloud service-extensions wasm-plugins create WASM_PLUGIN \
        --description=PLUGIN_DESCRIPTION \
        --location=LOCATION \
        --labels=[LABELS,...] \
        --log-config=[LOG_CONFIG,...] \
        --image=IMAGE \
        --main-version=MAIN_VERSION \
        --plugin-config=PLUGIN_CONFIG |
            --plugin-config-file=PLUGIN_CONFIG_FILE |
            --plugin-config-uri=PLUGIN_CONFIG_URI \
        --kms-key-name=KEY_NAME
    

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

    • WASM_PLUGIN: המזהה או השם המוגדר במלואו של הפלאגין
    • PLUGIN_DESCRIPTION: תיאור של הפלאגין
    • LOCATION: המיקום של התוסף, בתור global או אזור
    • LABELS: תוויות בצורה של זוגות מפתח/ערך, מופרדות בפסיקים
    • LOG_CONFIG: אפשרויות רישום ביומן עבור הפלאגין. אם האפשרות enable מוגדרת לערך false, לא מתבצעת שמירה של יומנים עבור הפלאגין. כדי להפעיל את הרישום ביומן, מגדירים את האפשרות enable לערך true. לאחר מכן, מציינים את הפרטים הבאים:

      • sample-rate: שיעור הדגימה של יומני הפעילות כערך בין 0 ל-1. הערך 0 מציין שהודעות היומן לא נשמרות. ערך ברירת המחדל 1 מציין שכל ההודעות ביומן מאוחסנות. ערך נקודה צפה בין 0.0 לבין 1.0 מציין את אחוז הודעות היומן שמאוחסנות.

      • min-log-level: רמת החומרה המינימלית של הודעות ביומן התוסף שיייצאו ל-Cloud Logging. ערך ברירת המחדל הוא INFO.

    • IMAGE: ה-URI של הארטיפקט שמכיל את מודול ה-Wasm שמאוחסן במאגר Artifact Registry. לפני שמציינים קובץ אימג' של קונטיינר מפרויקט אחר, צריך לוודא של-Service Extensions יש גישה אליו.

    • MAIN_VERSION: המזהה של גרסת הפלאגין שרוצים ליצור ולהגדיר כגרסה הראשית (הפעילה).

    • PLUGIN_CONFIG, PLUGIN_CONFIG_FILE, או PLUGIN_CONFIG_URI: נתוני התצורה האופציונליים, שאפשר לציין כטקסט, כקובץ מקומי או כקובץ אימג' של קונטיינר ב-Artifact Registry, בהתאמה.

    • KEY_NAME: בשביל תוספים אזוריים, השם המלא של מפתח ההצפנה בניהול הלקוח בפורמט הבא: projects/PROJECT/locations/LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME.

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

      • PROJECT: המזהה של הפרויקט שמכיל את המפתח
      • LOCATION: המיקום של המפתח
      • KEYRING_NAME: השם של אוסף המפתחות
      • KEY_NAME: שם המפתח

      אם לא מציינים את האפשרות הזו, המערכת משתמשת במנגנון ההצפנה שמוגדר כברירת מחדל ב-Google.

    לדוגמה:

    gcloud service-extensions wasm-plugins create my-plugin \
        --description="This is my plugin." \
        --log-config=enable=true,sample-rate=0.5,min-log-level=INFO \
        --labels=key1=value1,key2=value2 \
        --image=...-docker.pkg.dev/my-project/repository/container:tag \
        --main-version=v1 \
        --plugin-config-file=config.txt
    

    כדי לפרוס גרסה חדשה, משתמשים בפקודה gcloud service-extensions wasm-plugins update. מציינים תמונה חדשה ושם גרסה:

    gcloud service-extensions wasm-plugins update my-plugin \
        --image=...-docker.pkg.dev/my-project/repository/container:tag \
        --main-version=v2
    

כדי להריץ את הפלאגינים האלה, אפשר להגדיר תוספים של Cloud Load Balancing ותוספים של Media CDN.

גישה לתמונות בפרויקט אחר

כדי לבחור תמונות מפרויקט אחר, לסוכן השירות של Service Extensions צריכה להיות גישה למאגר הפרויקט, ובהתאם לאופן האריזה של מודול ה-Wasm, אחת מההרשאות הבאות בפרויקט:

  • לפריטי מידע שנוצרו בתהליך הפיתוח (Artifact) גנריים: artifactregistry.files.download
  • לגבי קובצי אימג' של קונטיינרים: artifactregistry.repositories.downloadArtifacts

סוכן השירות של Service Extensions נקרא:

service-PROJECT_NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com

מחליפים את PROJECT_NUMBER במספר הפרויקט.

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