בדף הזה מוסבר איך ליצור פלאגינים של Service Extensions שבעזרתם אפשר להטמיע יכולת הרחבה בשירותי Google Cloud .
התכונה הזו נמצאת בגרסת טרום-השקה (Preview) ב-Media CDN.
לפני שמתחילים
מכינים ומעלים את הקבצים שנדרשים כדי ליצור פלאגין.
מקבלים את התפקידים וההרשאות הנדרשים לניהול זהויות והרשאות גישה (IAM).
מפעילים את Network Services API, אם הוא עדיין לא מופעל.
gcloud services enable networkservices.googleapis.com
אם אתם מתכוונים להפעיל רישום ביומן לפלאגינים של Media CDN, הפעילו את Network Actions API.
gcloud services enable networkactions.googleapis.com
יצירת משאב פלאגין
כדי ליצור משאב פלאגין, צריך לציין קובץ אימג' שמכיל את קוד הפלאגין, תוויות ואפשרויות רישום ביומן של הפלאגין.
המסוף
כדי ליצור פלאגין:
נכנסים לדף Service Extensions במסוף Google Cloud .
לוחצים על הכרטיסייה Plugins (יישומי פלאגין).
לוחצים על Create plugin.
בקטע Basics:
בשדה Scope, בוחרים באפשרות Global או Regional.
אם מגדירים את ההיקף כ-Regional, צריך לבחור גם את האזור.
מזינים שם ייחודי לפלאגין.
השם צריך להתחיל באות קטנה, ואחריה עד 62 אותיות קטנות, מספרים או מקפים, והוא לא יכול להסתיים במקף.
אופציונלי: מזינים תיאור קצר של הפלאגין (עד 1,024 תווים).
בקטע Wasm image:
בשדה Plugin version name, מציינים שם לגרסת הפלאגין.
השם צריך להתחיל באות קטנה, ואחריה עד 62 אותיות קטנות, מספרים או מקפים, והוא לא יכול להסתיים במקף.
אופציונלי: בשדה Plugin version description, מזינים תיאור קצר של גרסת הפלאגין (עד 1,024 תווים).
בשדה Image URL, מזינים את כתובת ה-URL של הארטיפקט הגנרי או קובץ האימג' של הקונטיינר שכולל את מודול ה-Wasm מהחלונית Artifact Registry. האפשרות להשתמש במאגר גנרי נמצאת בגרסת טרום-השקה (Preview).
אם רוצים לציין קובץ אימג' של קונטיינר במאגר Docker, אפשר גם ללחוץ על Select כדי לחפש ולבחור אותו. בחלונית Artifact Registry מוצגות התיקיות במאגר שמחובר לפרויקט הנוכחי.
כדי לבחור קובץ אימג' מפרויקט אחר, מוודאים שלתוספי השירות יש גישה אליו, ואז לוחצים על Change ליד שם הפרויקט.
אופציונלי: בקטע Plugin configuration, כדי לשייך את נתוני ההגדרות לפלאגין, מסמנים את התיבה Add plugin configuration ובוחרים באחת מהאפשרויות הבאות:
העלאת קובץ תצורה של פלאגין. אם גודל הקובץ קטן מ-900 KiB והוא נמצא בכונן מקומי, לוחצים על Browse כדי לאתר ולבחור אותו.
בחירת קובץ אימג' או פריט מידע שנוצר בתהליך הפיתוח (Artifact) של הגדרת הפלאגין מ-Artifact Registry. מזינים את כתובת ה-URL של הארטיפקט הגנרי או של קובץ האימג' של הקונטיינר שכולל את מודול ה-Wasm מהחלונית Artifact Registry. האפשרות להשתמש במאגר גנרי נמצאת בגרסת טרום-השקה (Preview).
כדי לציין קובץ אימג' של קונטיינר במאגר Docker, אפשר גם ללחוץ על Select כדי לחפש ולבחור אותו. בחלונית Artifact Registry מוצגות התיקיות במאגר שמחובר לפרויקט הנוכחי.
אופציונלי: בקטע תוויות, לוחצים על הוספת תווית. אחר כך, בשורה שמופיעה, מבצעים את הפעולות הבאות:
- בשדה מפתח, מזינים שם למפתח.
- בשדה ערך, מזינים ערך למפתח.
אפשר להוסיף עד 64 צמדי מפתח/ערך. כדי להוסיף עוד צמדי מפתח/ערך, לוחצים על הוספת תווית.
בקטע Encryption, בוחרים את מנגנון ההצפנה של הפלאגין. האפשרות הזו זמינה רק לפלאגינים אזוריים.
- מפתח הצפנה בניהול של Google. להצפין את התוכן של הפלאגין באמצעות מנגנון ההצפנה שמוגדר כברירת מחדל ב-Google.
- מפתח Cloud KMS. להצפין את תוכן הפלאגין באמצעות מפתח הצפנה בניהול הלקוח שנוצר באמצעות Cloud Key Management Service. במקרה כזה, בשדה Key management type בוחרים באפשרות Cloud KMS. ואז בוחרים מפתח Cloud KMS.
אופציונלי: בקטע Logging, בוחרים באפשרות Enable logging ומבצעים את הפעולות הבאות:
בשדה תדירות הדגימה, מציינים ערך בין
0ל-1. הערך0מציין שהודעות היומן לא נשמרות. ערך ברירת המחדל1מציין שכל הודעות היומן נשמרות. ערך נקודה צפה (floating point) בין0.0ל-1.0מציין שאחוז מסוים מהודעות היומן נשמר.בקטע Minimum log level, בוחרים את רמת החומרה המינימלית של הודעות היומן של הפלאגין שרוצים לייצא ל-Cloud Logging. ערך ברירת המחדל הוא
Info and higher.
לוחצים על יצירה.
gcloud
מריצים את הפקודה
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 במספר הפרויקט.
המאמרים הבאים
- מאזני עומסים נתמכים של אפליקציות לפלאגינים של Cloud Load Balancing.
- איך מגדירים תוספי קצה, תוספי ניתוב ותוספי תנועה ב-Cloud Load Balancing באמצעות פלאגינים.
- איך מגדירים תוספי קצה ב-Media CDN
- איך מנהלים פלאגינים
- סקירה כללית על תוספי שירות