יצירת יעד מותאם אישית

במסמך הזה מוסבר איך ליצור סוג יעד מותאם אישית ב-Cloud Deploy ואיך להשתמש בסוג היעד המותאם אישית הזה כיעד בצינור עיבוד נתונים לפריסה ב-Cloud Deploy.

התהליך הכללי ליצירת סוג טירגוט בהתאמה אישית ולשימוש בו בצינור ההפצה:

  1. יוצרים אפליקציה או אפליקציות מבוססות-קונטיינר שכוללות את הפונקציונליות לפריסה ליעד המותאם אישית, ושעומדות בדרישות של Cloud Deploy לסוגי יעד מותאמים אישית.

  2. יוצרים הגדרה של CustomTargetType עם משימות שמפנות למאגר ומציינות את הפקודה או הפקודות להרצה בו.

  3. מגדירים יעד חדש עם מאפיין customTarget שמזהה את סוג היעד המותאם אישית החדש.

  4. מפנים אל היעד הזה מתוך ההתקדמות של צינור ההפצה.

  5. יצירת גרסה

כל אחד מהשלבים האלה מתואר בפירוט בהמשך המסמך.

יצירת אפליקציות בקונטיינרים

הפונקציונליות של הפריסה ליעד בהתאמה אישית מוגדרת באפליקציות מבוססות-קונטיינרים, שאתם מספקים ל-Cloud Deploy בהגדרה של CustomTargetType. כשצינור העברת הנתונים כולל יעד שמשתמש בסוג יעד מותאם אישית, Cloud Deploy קורא למאגרי התוכן שהוגדרו עבור סוג היעד המותאם אישית כדי לבצע את העיבוד והפריסה המותאמים אישית שהגדרתם.

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

ברוב המקרים, תיצרו מאגר תגים אחד עבור העיבוד המותאם אישית ומאגר תגים אחד עבור הפריסה המותאמת אישית, לכל סוג יעד מותאם אישית שתיצרו. העיבוד המותאם אישית הוא אופציונלי, אבל אתם חייבים ליצור אותו אלא אם היעד המותאם אישית שלכם יפעל בצורה תקינה אם הוא יעובד באמצעות מעבדי העיבוד המובנים. כברירת מחדל, Cloud Deploy משתמש ב-skaffold render כדי לעבד את המניפסטים.

הגדרת סוג היעד המותאם אישית

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

ההגדרה של CustomTargetType היא:

apiVersion: deploy.cloud.google.com/v1
kind: CustomTargetType
metadata:
  name: [CUSTOM_TARGET_TYPE_NAME]
  annotations:
  labels:
description:
tasks:
  render: [RENDER_TASK]
  deploy: [DEPLOY_TASK]

כאשר:

רישום של סוג היעד המותאם אישית

אחרי שמגדירים את CustomTargetType, מריצים את הפקודה gcloud deploy apply כדי לרשום את משאב CustomTargetType בפרויקט Google Cloud :

gcloud deploy apply --file=[FILE] --project=[PROJECT] --region=[REGION]

כאשר:

FILE הוא שם הקובץ שבו הגדרתם את סוג היעד המותאם אישית הזה.

PROJECT הוא הפרויקט ב- Google Cloud שבו ייצור המשאב. ‫CustomTargetType חייב להיות באותו פרויקט כמו משאב Target שמפנה אליו. אם הגדרתם את הפרויקט כפרויקט ברירת המחדל ב-Google Cloud CLI, לא צריך לציין אותו.

REGION הוא האזור (לדוגמה, us-central1) שבו רוצים ליצור את המשאב הזה. ‫CustomTargetType צריך להיות באותו אזור כמו המשאב Target שמפנה אליו. אם הגדרתם את האזור כאזור ברירת המחדל שלכם ב-CLI של gcloud, לא צריך לציין אותו.

אחרי שיוצרים את CustomTargetType כמשאב של Cloud Deploy, אפשר להשתמש בו בהגדרה של Target כדי ליצור את יעד ההתאמה האישית.

מידע נוסף על ההגדרה CustomTargetType זמין במאמר הפניה לסכימת ההגדרות של Cloud Deploy.

הגדרת היעד

ההבדל היחיד בין הגדרת יעד לסוג יעד נתמך לבין הגדרת יעד מותאם אישית הוא שהגדרת היעד המותאם אישית כוללת פסקה customTarget. התחביר של customTarget הוא:

customTarget:
  customTargetType: [CUSTOM_TARGET_TYPE_NAME]

CUSTOM_TARGET_TYPE_NAME הוא הערך מהמאפיין name שמוגדר בהגדרת סוג היעד המותאם אישית.

הוספת היעד לצינור העברת הנתונים

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

כל יעדי הטירגוט בצינור אספקה צריכים להיות מאותו סוג. לדוגמה, אי אפשר להגדיר צינור עיבוד נתונים של פריסה עם חלק מהיעדים שנפרסים ל-Google Kubernetes Engine וחלק מהיעדים המותאמים אישית.

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

יצירת גרסה

אחרי שהגדרתם באופן מלא את סוג הטירגוט המותאם אישית ויצרתם יעד לשימוש בסוג הזה, אתם יכולים ליצור גרסה כרגיל:

gcloud deploy releases create [RELEASE_NAME] \
  --project=[PROJECT_NAME] \
  --region=[REGION] \
  --delivery-pipeline=[PIPELINE_NAME]

כשיוצרים גרסה, המערכת מפעילה את העיבוד המותאם אישית לכל יעד בצינור ההפצה, כולל עיבוד של פרמטרים של פריסה שהוגדרו בגרסה, ביעדים או בצינור ההפצה. ‫Cloud Deploy מספק את פרמטר הפריסה כקלט לקונטיינר העיבוד המותאם אישית.

הצגת הפלט של היעדים בהתאמה אישית

אם משימת הרינדור בהתאמה אישית עומדת בדרישות של יעדים בהתאמה אישית, אפשר להשתמש במסוף Google Cloud כדי לראות את הארטיפקטים המעובדים.

כדי לראות את הפלט של משימת העיבוד המותאמת אישית, פועלים לפי השלבים הבאים.

  1. במסוף Google Cloud , נכנסים לדף Delivery pipelines של Cloud Deploy כדי לראות את צינור העברת הנתונים.

    פתיחת הדף Delivery pipelines

  2. לוחצים על השם של צינור העברת הנתונים.

    הוויזואליזציה של צינור הנתונים מציגה את סטטוס הפריסה של האפליקציה, והגרסה שלכם מופיעה בכרטיסייה Releases (גרסאות) בקטע Delivery pipeline details (פרטים של צינור העברת הנתונים).

  3. לוחצים על שם הגרסה.

    יוצג הדף Release details.

  4. לוחצים על הכרטיסייה Artifacts (ארטיפקטים).

  5. בקטע Target artifacts, לוחצים על החץ לצד View artifacts.

    פריטי המידע שנוצרו מוצגים ברשימה, כולל קובץ התצורה של Skaffold וקובץ המניפסט שנוצרו על ידי הכלי המותאם אישית לעיבוד. אפשר גם ללחוץ על הקישור מיקום האחסון לצד כל קובץ כדי לעבור לקטגוריה של Cloud Storage ולראות את הקבצים.

    אפשר גם ללחוץ על הקישור View artifacts כדי לראות את הקבצים האלה לפי גרסה, לפי יעד או לפי שלב, באמצעות release inspector.

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