בדף הזה מוסבר איך להגדיר את Google Cloud הסביבה כדי שתוכלו להפיץ את אפליקציות Kubernetes.
יצירת סביבת עבודה
מומלץ ליצור פרויקט חדש במסוףGoogle Cloud בעיקר בשביל מוצרים ב-Cloud Marketplace.
כדי לנהל מוצרים שאתם שולחים ל-Cloud Marketplace, מומלץ ליצור פרויקט חדש עם מזהה פרויקט שמסתיים ב--public. כדי ליצור פרויקט למוצרים, אפשר לעיין במאמר יצירה וניהול של פרויקטים.
אם כבר הגדרתם פרויקט למכירה ב-Cloud Marketplace ואתם רוצים להשתמש בו, ודאו שהתפקידים בממשק לניהול הזהויות והרשאות הגישה (IAM) הוקצו בצורה נכונה ל-Kubernetes, ואז דלגו אל הגדרת מאגר תמונות של קונטיינרים.
הקצאת תפקידים לפרויקט
כדי לסיים את הגדרת הפרויקט, מבצעים את השלבים הבאים:
אחרי שיוצרים את הפרויקט, צריך להקצות את התפקידים הבאים ברמת הפרויקט:
- עריכת פרויקטים, אל
cloud-commerce-marketplace-onboarding@twosync-src.google.com - אדמין לניהול שירותים
(
roles/servicemanagement.serviceAdmin), אלcloud-commerce-marketplace-onboarding@twosync-src.google.comוגםmanaged-services@cloud-marketplace.iam.gserviceaccount.com - עורך ההגדרות (
roles/servicemanagement.configEditor), אלcloud-commerce-producer@system.gserviceaccount.com
במאמר הענקה, שינוי וביטול גישה למשאבים מוסבר איך נותנים גישה לפרויקט.
- עריכת פרויקטים, אל
מקצים את התפקידים הבאים ברמת השירות לחשבון
cloud-commerce-procurement@system.gserviceaccount.com:- צרכן שירות (
roles/servicemanagement.serviceConsumer) - בקר שירות (
roles/servicemanagement.serviceController)
במאמר הענקה וביטול של גישה ל-API מוסבר איך מעניקים גישה ברמת השירות.
- צרכן שירות (
הגדרת איש קשר לענייני אבטחה. איך בוחרים מי יקבל התראות?
ממלאים את טופס פרטי הפרויקט שהצוות של Cloud Marketplace שולח לכם.
הגדרה של Container Registry
אתם צריכים מאגר Container Registry כדי לארח את קובצי האימג' של הקונטיינרים של האפליקציה. שירות Artifact Analysis סורק באופן רציף את קובצי האימג' של האפליקציה כדי לאתר נקודות חולשה, כך שתוכלו לבדוק את הבעיות ולטפל בהן לפני שליחת המוצר אל Cloud Marketplace.
כדי להגדיר את Container Registry, Docker ו- Google Cloud SDK, פועלים לפי המדריך למתחילים של Container Registry.
אחרי שמגדירים את Container Registry, בפרויקט שמכיל את המאגר, מעניקים את התפקיד Project Viewer (צפייה בפרויקט) ל-cloud-commerce-marketplace-onboarding@twosync-src.google.com.
הפעלת Container Analysis API
צריך להפעיל את Artifact Analysis API, שמבצע סריקה של קובצי האימג' של הקונטיינרים ב-Container Registry כדי לאתר נקודות חולשה. לסקירה כללית על בדיקת נקודות חולשה ב-Artifact Analysis, ראו מאמרי העזרה של Container Registry.
הוספת מוצר ל-Cloud Marketplace
כדי ליצור ולפרסם את המוצר ב-Cloud Marketplace, משתמשים ב-Producer Portal. מהנדס השותפים יפעיל את התכונה בשבילכם אחרי שתמלאו את טופס פרטי הפרויקט ב-Cloud Marketplace.
כדי לפרסם את המוצר בפורטל של היוצרים, צריך ליצור רשומה למוצר ואז לשלוח את הפרטים הבאים לבדיקה:
- פרטי המוצר: מוסיפים מידע על כרטיס המוצר ועל השיווק שלו.
- תמחור: בוחרים ומציינים את מודל התמחור כדי לקבוע איך הלקוחות משלמים לכם על המוצר.
- קובצי אימג' של קונטיינרים: צריך לספק את מאגר Google Container Registry שכולל את קובצי האימג' של הקונטיינרים.
- תאימות לקוד פתוח: חשוב לוודא שהמוצר שלכם עומד בדרישות המדיניות של Google בנושא תוכנות קוד פתוח.
אפשר לשלוח את הביקורות האלה בכל שלב ובכל סדר. יכול להיות שיידרשו עד שבועיים לאישור של חלק מהבדיקות, ולכן מומלץ לעיין בדרישות ולהתחיל את התהליך מוקדם ככל האפשר.
כדי ליצור את הדף של המוצר ב-Cloud Marketplace:
פותחים את Producer Portal במסוף Google Cloud :
https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID
מחליפים את YOUR_PUBLIC_PROJECT_ID במזהה של הפרויקט הציבורי שיצרתם עבור Cloud Marketplace – לדוגמה,
my-organization-public.בראש הדף, לוחצים על הוספת מוצר.
בוחרים באפשרות Kubernetes.
בקטע שם המוצר, נותנים שם למוצר ומסמנים את מזהה המוצר. מזהה המוצר משמש בכתובת ה-URL של כרטיס המוצר ב-Cloud Marketplace.
לוחצים על יצירה. יכול להיות שיחלפו כמה שניות עד שהמוצר ייווצר.
בשלבים הבאים תצטרכו להוסיף את מודל התמחור ופרטי השיווק של הפתרון.
יצירת אשכול פיתוח ב-Kubernetes Engine
אתם משתמשים ב-Google Kubernetes Engine כדי לנהל ולשנות את גודל האשכולות של Kubernetes. כדי ליצור אשכול בדיקה ולפרוס בו אפליקציה בסיסית, פועלים לפי ההוראות שבמדריך למתחילים של Google Kubernetes Engine.
התקנה של כלי הפיתוח mpdev
הכלי mpdev הוא קונטיינר שכולל כלי עזר לבדיקה ולפרסום של תמונות האפליקציה. התקנת mpdev לא נדרשת כדי לשלוח אפליקציה לפרסום, אבל אפשר להריץ את mpdev כדי לאמת את סביבת הפיתוח ולבדוק אם האפליקציה מותקנת בצורה תקינה באשכול הפיתוח.
מתקינים את mpdev ממאגר הכלים של Cloud Marketplace ב-GitHub.
מידע על השימוש ב-mpdev כדי לבדוק את הסביבה ולבדוק את האפליקציה זמין במאמר העזר בנושא mpdev ב-GitHub.
ארגון פריטי התוכן
באופן כללי, כל גרסה של האפליקציה צריכה להיות בהתאם לניהול גרסאות סמנטי 2.0, שפועלת לפי מוסכמת המספור MAJOR.MINOR.PATCH. לכל גרסה צריך להיות מספר גרסה ייחודי, כמו 1.0.1, 1.0.2, 1.3.1 וכן הלאה.
אופציונלי: מוסיפים מקף אחרי מספר הגרסה כדי להוסיף משנה של גרסת טרום-הפצה, כמו 1.3.1-alpha201910. אפשר להשתמש בתוספים של גרסאות לפני ההפצה כדי לאחסן ולהדגיש מידע נוסף שאתם חושבים שיכול להיות שימושי, כמו תאריכי בנייה שמציינים מתי נוצרו הגרסאות.
מומלץ להפיץ את התוכנה בערוצי הפצה. כל מסלול הוא סדרה של גרסאות עם עדכונים שתואמים לאחור. מסלולי ההפצה צריכים להתבסס על גרסה משנית, כמו 4.1.x. מומלץ להימנע משימוש בשמות גרסאות כלליים כמו latest.
לדוגמה, אם אתם מפרסמים את גרסה 2.0 של התוכנה שלכם ב-Cloud Marketplace, ומצפים שגרסאות 2.0.1, 2.0.5 וכן הלאה יהיו תואמות לאחור לגרסה 2.0, אתם צריכים לארגן את הגרסאות האלה במסלול ההפצה 2.0.
כשמפרסמים גרסה של האפליקציה שלא תואמת לאחור, או גרסה שדורשת מהמשתמשים לבצע שלבים ידניים להעברת נתונים, צריך לפרסם אותה במסלול חדש כדי שהמשתמשים יוכלו לתכנן את העדכונים שלהם.
בחירת מזהי מוצרים
אתם צריכים לבחור את המזהים הבאים לחברה, למוצר ולקובצי האימג' של הקונטיינרים שלכם. המזהים האלה משמשים ליצירת כתובות ה-URL שלכם ב-Cloud Marketplace ומזהי ה-URI של קובצי האימג' של הקונטיינרים:
שם החברה. לדוגמה, אם שם החברה הוא Examplesoft Inc., אפשר להשתמש במזהה
examplesoft.שם המוצר. לדוגמה, אם שם המוצר הוא Example Pro, צריך להשתמש במזהה
example-pro.מסלול ההפצה של המוצר, למשל
4.0.קובצי האימג' של הקונטיינרים. בוחרים מזהה ייחודי לכל קובץ אימג' של קונטיינר באפליקציה. המזהים הבאים נדרשים לכל האפליקציות:
- התמונה הראשית: קובץ אימג' של קונטיינר זה הוא התמונה הראשית של המוצר, והוא משתמש באותו מזהה כמו המוצר. לדוגמה, אם מזהה המוצר הוא
example-pro, התמונה הראשית משתמשת באותו מזהה. -
deployer: קובץ האימג' של הקונטיינר לפריסה של הטראק. קונטיינר הפריסה פועל כשמשתמשים פורסים את האפליקציה ממסוף Google Cloud . קובץ אימג' לפריסה נוצר כשיוצרים את חבילת APK.
- התמונה הראשית: קובץ אימג' של קונטיינר זה הוא התמונה הראשית של המוצר, והוא משתמש באותו מזהה כמו המוצר. לדוגמה, אם מזהה המוצר הוא
לדוגמה, חברת Examplesoft Inc. בוחרת את המזהים הבאים למוצר שלה, Example Pro:
| שם | מזהה | |
|---|---|---|
| חברה | Examplesoft Inc | examplesoft |
| מוצר | דוגמה ל-Pro | example-pro |
| תמונה [1] (ראשית) | שרת לדוגמה של Pro | לא רלוונטי |
| תמונה [2] | תור לדוגמה | example-queue |
| תמונה [deployer] | לא רלוונטי | פורס |
| מסלול הפצה [1] | גרסה 4.x.x | 4.0 |
| מסלול הפצה [2] | גרסה 5.x.x | 5.0 |
למזהים האלה, המידע הבא נוצר באופן אוטומטי:
כתובת ה-URL של המוצר ב-Cloud Marketplace:
https://console.cloud.google.com/marketplace/details/examplesoft/example-proמזהי ה-URI של קובץ האימג' של הקונטיינר:
marketplace.gcr.io/examplesoft/example-pro:4.0marketplace.gcr.io/examplesoft/example-pro/example-queue:4.0marketplace.gcr.io/examplesoft/example-pro/deployer:4.0marketplace.gcr.io/examplesoft/example-pro:5.0marketplace.gcr.io/examplesoft/example-pro/example-queue:5.0marketplace.gcr.io/examplesoft/example-pro/deployer:5.0