יצירת פלאגין

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

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

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

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

  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. לוחצים על Create plugin.

  4. בקטע Basics:

    1. בשדה Scope, בוחרים באפשרות Global או Regional.

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

    2. מזינים שם ייחודי לפלאגין.

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

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

  5. בקטע Wasm image:

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

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

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

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

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

      כדי לבחור קובץ אימג' מפרויקט אחר, מוודאים שלתוספי השירות יש גישה אליו, ואז לוחצים על Change ליד שם הפרויקט.

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

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

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

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

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

    1. בשדה מפתח, מזינים שם למפתח.
    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 מציין שכל הודעות היומן נשמרות. ערך נקודה צפה (floating-point) בין 0.0 ל-1.0 מציין שאחוז מסוים מהודעות היומן נשמר.

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

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

    • ‫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.

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

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