בדף הזה מוסבר איך ליצור תוספים של Service Extensions שאפשר להשתמש בהם כדי להטמיע יכולת הרחבה באמצעות Google Cloud שירותים.
התכונה הזו נמצאת בגרסת טרום-השקה ב-Media CDN.
סקירה כללית של המוצר זמינה במאמר סקירה כללית על Service Extensions.
לפני שמתחילים
מכינים ומעלים את הקבצים שנדרשים ליצירת תוסף.
מפעילים את 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 (תוספים).
לוחצים על יצירת פלאגין.
בקטע Basics (פרטים בסיסיים), מבצעים את הפעולות הבאות:
בשדה היקף, בוחרים באפשרות גלובלי או אזורי.
אם מגדירים את ההיקף כאזורי, צריך לבחור גם את האזור.
מזינים שם ייחודי לתוסף.
השם צריך להתחיל באות קטנה, להמשיך בעד 62 אותיות קטנות, מספרים או מקפים, ולא להסתיים במקף.
אופציונלי: מזינים תיאור קצר של הפלאגין (עד 1,024 תווים).
בקטע Wasm image (תמונת Wasm), מבצעים את הפעולות הבאות:
בשדה שם גרסת הפלאגין מציינים שם לגרסת הפלאגין.
השם צריך להתחיל באות קטנה, להמשיך בעד 62 אותיות קטנות, מספרים או מקפים, ולא להסתיים במקף.
אופציונלי: בשדה Plugin version description (תיאור גרסת הפלאגין), מזינים תיאור קצר של גרסת הפלאגין (עד 1,024 תווים).
בקטע Image URL (כתובת URL של תמונה), מזינים את כתובת ה-URL של הארטיפקט הגנרי או קובץ אימג' של קונטיינר שמכילים את מודול ה-Wasm מחלונית Artifact Registry. האפשרות להשתמש במאגר כללי נמצאת בגרסת טרום-השקה.
אם רוצים לציין קובץ אימג' של קונטיינר במאגר Docker, אפשר גם ללחוץ על בחירה כדי לעיין ולבחור אותו. בחלונית Artifact Registry מוצגות התיקיות במאגר שמחובר לפרויקט הנוכחי.
כדי לבחור תמונה מפרויקט אחר, צריך לוודא של-Service Extensions יש גישה אליו, ואז ללחוץ על שינוי לצד שם הפרויקט.
אופציונלי: בקטע Plugin configuration (הגדרת הפלאגין), כדי לשייך את נתוני ההגדרה לפלאגין, מסמנים את תיבת הסימון Add plugin configuration (הוספת הגדרת הפלאגין) ואז בוחרים באחת מהאפשרויות הבאות:
העלאת קובץ תצורה של תוסף. אם גודל הקובץ קטן מ-900 KiB והוא נמצא בכונן מקומי, לוחצים על עיון כדי לאתר אותו ולבחור אותו.
בוחרים תמונה או ארטיפקט של הגדרת פלאגין מ-Artifact Registry. מזינים את כתובת ה-URL של הארטיפקט הכללי או קובץ אימג' של קונטיינר עם מודול ה-Wasm מחלונית Artifact Registry. האפשרות להשתמש במאגר כללי נמצאת בגרסת טרום-השקה.
כדי לציין קובץ אימג' של קונטיינר במאגר Docker, אפשר גם ללחוץ על בחירה כדי לעיין בו ולבחור אותו. בחלונית Artifact Registry מוצגות התיקיות במאגר שמחובר לפרויקט הנוכחי.
אופציונלי: בקטע תוויות, לוחצים על הוספת תווית. לאחר מכן, בשורה שמופיעה, מבצעים את הפעולות הבאות:
- בשדה Key, מזינים שם מפתח.
- בשדה ערך, מזינים ערך למפתח.
אפשר להוסיף עד 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מציין שכל ההודעות ביומן מאוחסנות. ערך נקודה צפה בין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 במספר הפרויקט.
המאמרים הבאים
- במאמר מאזני עומסים נתמכים באפליקציות מפורטים הפלאגינים של Cloud Load Balancing.
- תוספי קצה, תוספי ניתוב ותוספי תנועה של Cloud Load Balancing.
- איך מצרפים תוספים של Media CDN למסלולים
- איך מנהלים תוספים
- אפשר לעיין בסקירה הכללית על Service Extensions.