בדף הזה מוסבר איך להגדיר מרחב שמות של Service Directory, לרשום שירות במרחב השמות ולהוסיף נקודות קצה לשירות. אפשר ליצור מרחב שמות כשרושמים שירות או לפני שרושמים שירות.
לפני שמריצים את הפקודות שמפורטות בדף הזה, כדאי לעיין במושגים שבמאמר סקירה כללית על Service Directory ובמונחים מרכזיים שקשורים ל-Service Directory.
הגדרת הפרויקט
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Service Directory API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Service Directory API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
הגדרת משאבים ב-Service Directory
כדי לאכלס את Service Directory בשירותים, צריך ליצור מרחב שמות ולרשום את השירות במרחב השמות.
הגדרת מרחב שמות
יוצרים מרחב שמות באזור של הפרויקט. האזור הזה לא חייב להיות המקום שבו כל השירותים ונקודות הקצה שלכם פועלים, אבל הוא צריך להיות קרוב ככל האפשר.
אתם יכולים לרשום את השירותים שלכם בכל אזור של Service Directory, והם עדיין ניתנים לפתרון באופן גלובלי. בתוך אזור, בפרויקטים יכולים להיות כמה מרחבי שמות, והמרחבים האלה יכולים להיות באזורים שונים. מרחב שמות יחיד לא יכול לכלול כמה אזורים.
המסוף
נכנסים לדף Service Directory namespaces במסוף Google Cloud .
- לוחצים על יצירת מרחב שמות.
- ברשימה Region, בוחרים אזור למרחב השמות.
- בשדה שם מרחב השמות, נותנים שם למרחב השמות.
- לוחצים על יצירה.
gcloud
כדי להשתמש ב-Service Directory בשורת הפקודה, קודם צריך להתקין או לשדרג לגרסה העדכנית של Google Cloud CLI.
יצירת מרחב שמות
gcloud service-directory namespaces create NAMESPACE \ --location REGION
מחליפים את מה שכתוב בשדות הבאים:
-
NAMESPACE: השם של מרחב השמות שאתם יוצרים. -
REGION: האזור Google Cloud שמכיל את מרחב השמות.
-
אופציונלי: מגדירים מדיניות IAM במרחב השמות. כך נותנים למשתמש או לקבוצה שצוינו את התפקיד שצוין במרחב השמות הזה ובכל השירותים ששייכים למרחב השמות.
gcloud service-directory namespaces add-iam-policy-binding NAMESPACE \ --member user:someone@example.com \ --role ROLE \ --location REGION
מחליפים את מה שכתוב בשדות הבאים:
-
NAMESPACE: השם של מרחב השמות שיצרתם. -
ROLE: התפקיד שאתם מקצים. -
REGION: האזור Google Cloud שמכיל את מרחב השמות.
-
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-C# ולהתקין את Service Directory C# SDK.
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Go ולהתקין את Service Directory Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת Java ולהתקין את Service Directory Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Service Directory Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-PHP ולהתקין את Service Directory PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת Python ולהתקין את Service Directory Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Service Directory Ruby SDK.
הגדרת שירות
יוצרים שירות במרחב השמות. שירות מורכב משם ומאנוטציות אופציונליות שקשורות לשירות. יש כמה הגבלות על הפורמט של שמות השירותים:
- שמות השירותים חייבים להיות ייחודיים במרחב שמות.
- שמות השירותים צריכים להיות תואמים למוסכמות מתן השמות של תוויות DNS.
כדי ליצור כלל העברה של Private Service Connect ולרשום אותו כשירות ב-Service Directory, אפשר לעיין במאמר רישום של נקודת קצה של Private Service Connect ב-Service Directory.
כדי לרשום שירות רגיל ב-Service Directory:
המסוף
נכנסים לדף Service Directory במסוף Google Cloud .
- לוחצים על Register Service.
- לוחצים על Standard ואז על Next.
- בוחרים את האזור (Region) שבו רוצים לרשום את השירות.
- בוחרים מרחב שמות כדי לרשום בו את השירות.
אם אין לכם מרחב שמות, אתם יכולים ליצור אחד כזה:
- בתיבה Namespace, לוחצים על Create namespace (יצירת מרחב שמות).
- מזינים שם של מרחב שמות.
- לוחצים על יצירה.
- מזינים שם שירות.
- אופציונלי: אם רוצים להוסיף הערות לשירות, מבצעים את הפעולות הבאות:
- לוחצים על הוספת הערה.
- מוסיפים מפתח וערך.
- כדי להוסיף עוד הערות, לוחצים שוב על הוספת הערה.
- לוחצים על יצירה.
gcloud
כדי להשתמש ב-Service Directory בשורת הפקודה, קודם צריך להתקין או לשדרג לגרסה העדכנית של Google Cloud CLI.
יוצרים שירות במרחב שמות.
gcloud service-directory services create SERVICE \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --namespace NAMESPACE \ --location REGION
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE: השם של השירות שאתם יוצרים. -
NAMESPACE: השם של מרחב השמות שמכיל את השירות. -
REGION: האזור ב- Google Cloud שמכיל את מרחב השמות. -
KEY_1,VALUE_1,KEY_2,VALUE_2: קבוצת מחרוזות של מפתח וערך שמוגדרות בזוגות.
-
אופציונלי: מגדירים מדיניות IAM בשירות. הפעולה הזו נותנת למשתמש או לקבוצה שצוינו את התפקיד שצוין בשירות הזה ובכל נקודות הקצה ששייכות לשירות.
gcloud service-directory services add-iam-policy-binding SERVICE \ --member user:someone@example.com \ --role ROLE \ --namespace NAMESPACE \ --location REGION
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE: השם שנתתם לשירות. -
NAMESPACE: השם של מרחב השמות שמכיל את השירות -
ROLE: התפקיד שאתם רוצים להקצות. -
REGION: האזור Google Cloud שמכיל את מרחב השמות.
-
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את Service Directory C# SDK.
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Go ולהתקין את Service Directory Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת Java ולהתקין את Service Directory Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Service Directory Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של PHP ולהתקין את Service Directory PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת Python ולהתקין את Service Directory Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Service Directory Ruby SDK.
הגדרת נקודת קצה (endpoint)
אחרי שרושמים את השירות, מוסיפים כמה נקודות קצה. נקודת קצה מורכבת משם ייחודי, מכתובת IP ומספר יציאה אופציונליים, ומביאורים של צמדי מפתח-ערך. אם מציינים כתובת IP, היא צריכה להיות כתובת IPv4 או IPv6 תקינה.
המסוף
נכנסים לדף Service Directory במסוף Google Cloud .
- לוחצים על שירות.
- לוחצים על הוספת נקודת קצה.
- מזינים שם נקודת קצה.
- מזינים כתובת IP בפורמט IPv4 או IPv6.
- מזינים מספר יציאה.
- אופציונלי: אם רוצים להוסיף הערות לנקודת הקצה, מבצעים את הפעולות הבאות:
- בקטע הערות, לוחצים על הוספת הערה.
- מוסיפים מפתח וערך.
- כדי להוסיף עוד הערות, לוחצים שוב על הוספת הערה.
- לוחצים על יצירה.
gcloud
כדי להשתמש ב-Service Directory בשורת הפקודה, קודם צריך להתקין או לשדרג לגרסה העדכנית של Google Cloud CLI.
אחרי שרושמים את השירות, מוסיפים כמה נקודות קצה.
gcloud service-directory endpoints create ENDPOINT \ --address IP_ADDRESS \ --port PORT_NUMBER \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --service SERVICE \ --namespace NAMESPACE \ --location REGION
gcloud service-directory endpoints create ENDPOINT2 \ --address IP_ADDRESS2 \ --port PORT_NUMBER2 \ --service SERVICE \ --namespace NAMESPACE \ --location REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINTו-ENDPOINT2: השמות של נקודות הקצה שאתם יוצרים בשירות. -
IP_ADDRESSו-IP_ADDRESS2: כתובות ה-IPv6 וה-IPv4 של נקודות הקצה, בהתאמה. -
PORT_NUMBERו-PORT_NUMBER2: היציאות שבהן פועלות נקודות הקצה. -
SERVICE: השם של השירות שמכיל את נקודת הקצה. -
NAMESPACE: השם של מרחב השמות שמכיל את השירות. -
REGION: האזור ב- Google Cloud שמכיל את מרחב השמות. -
KEY_1,VALUE_1,KEY_2,VALUE_2: קבוצת מחרוזות של מפתח וערך שמוגדרות בזוגות.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את Service Directory C# SDK.
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Go ולהתקין את Service Directory Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת Java ולהתקין את Service Directory Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Service Directory Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של PHP ולהתקין את Service Directory PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת Python ולהתקין את Service Directory Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Service Directory Ruby SDK.
סיום הטיפול בשירות
באמצעות Service Directory, לקוחות יכולים לפתור שירותים באמצעות DNS, HTTP ו-gRPC. הפעלת הפונקציה resolve מחזירה את כל המאפיינים של השירות, את כל נקודות הקצה ואת כל ההערות.
gcloud
כדי להשתמש ב-Service Directory בשורת הפקודה, קודם צריך להתקין או לשדרג לגרסה העדכנית של Google Cloud CLI.
gcloud service-directory services resolve SERVICE \ --namespace NAMESPACE \ --location REGION
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE: השם של השירות שרוצים לפתור. -
NAMESPACE: השם של מרחב השמות שמכיל את השירות. -
REGION: האזור ב- Google Cloud שמכיל את מרחב השמות.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-C# ולהתקין את Service Directory C# SDK.
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Go ולהתקין את Service Directory Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת Java ולהתקין את Service Directory Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Service Directory Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-PHP ולהתקין את Service Directory PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת Python ולהתקין את Service Directory Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Service Directory Ruby SDK.
מחיקת משאבים
אם אתם לא צריכים משאב מסוים, אתם יכולים למחוק אותו ממאגר השירותים.
מחיקת נקודת קצה משירות
המסוף
נכנסים לדף Service Directory במסוף Google Cloud .
- לוחצים על השירות שממנו רוצים למחוק את נקודת הקצה.
- מסמנים את התיבה לצד נקודת הקצה שרוצים למחוק.
- לוחצים על Delete.
- בתיבת הדו-שיח לאישור, לוחצים שוב על מחיקה.
gcloud
כדי להשתמש ב-Service Directory בשורת הפקודה, קודם צריך להתקין או לשדרג לגרסה העדכנית של Google Cloud CLI.
gcloud service-directory endpoints delete ENDPOINT \
--service=SERVICE \
--namespace=NAMESPACE \
--location=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT: השם של נקודת הקצה שרוצים למחוק. -
SERVICE: השם של השירות שמכיל את נקודת הקצה. -
NAMESPACE: השם של מרחב השמות שמכיל את השירות. -
REGION: האזור ב- Google Cloud שמכיל את מרחב השמות.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את Service Directory C# SDK.
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Go ולהתקין את Service Directory Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת Java ולהתקין את Service Directory Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Service Directory Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של PHP ולהתקין את Service Directory PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Python ולהתקין את Service Directory Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Ruby ולהתקין את Service Directory Ruby SDK.
מחיקת שירות ממרחב שמות
אתם יכולים למחוק שירות שיש לו נקודות קצה. כשמוחקים שירות, כל נקודות הקצה שלו נמחקות גם כן.
אפשר למחוק שירות שאזור של Service Directory מפנה אליו. כל שאילתת DNS נוספת לגבי השירות הזה מחזירה NXDOMAIN.
המסוף
נכנסים לדף Service Directory במסוף Google Cloud .
- מסמנים את התיבה לצד השירות שרוצים למחוק.
- לוחצים על Delete.
- בתיבת הדו-שיח לאישור, לוחצים שוב על מחיקה.
gcloud
כדי להשתמש ב-Service Directory בשורת הפקודה, קודם צריך להתקין או לשדרג לגרסה העדכנית של Google Cloud CLI.
gcloud service-directory services delete SERVICE \
--namespace=NAMESPACE \
--location=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE: השם של השירות שרוצים למחוק. -
NAMESPACE: השם של מרחב השמות שמכיל את השירות. -
REGION: האזור Google Cloud שמכיל את מרחב השמות.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את Service Directory C# SDK.
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Go ולהתקין את Service Directory Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת Java ולהתקין את Service Directory Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Service Directory Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של PHP ולהתקין את Service Directory PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Python ולהתקין את Service Directory Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Service Directory Ruby SDK.
מחיקת מרחב שמות
אפשר למחוק מרחב שמות שיש בו שירותים ונקודות קצה. כשמרחב שמות נמחק, גם כל השירותים ונקודות הקצה שלו נמחקים.
אפשר למחוק מרחב שמות שמצביע עליו אזור של Service Directory. כל שאילתות ה-DNS הנוספות (לא כולל בקשות SOA/NS למקור האזור) מחזירות NXDOMAIN.
המסוף
נכנסים לדף Service Directory namespaces במסוף Google Cloud .
- מסמנים את תיבת הסימון לצד מרחב השמות שרוצים למחוק.
- לוחצים על Delete.
- בתיבת הדו-שיח לאישור, לוחצים שוב על מחיקה.
gcloud
כדי להשתמש ב-Service Directory בשורת הפקודה, קודם צריך להתקין או לשדרג לגרסה העדכנית של Google Cloud CLI.
gcloud service-directory namespaces delete NAMESPACE \
--location=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
NAMESPACE: השם של מרחב השמות שרוצים למחוק. -
REGION: האזור Google Cloud שמכיל את מרחב השמות.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את Service Directory C# SDK.
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Go ולהתקין את Service Directory Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת Java ולהתקין את Service Directory Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Service Directory Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של PHP ולהתקין את Service Directory PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת Python ולהתקין את Service Directory Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Service Directory Ruby SDK.
המאמרים הבאים
- כדי להגדיר אזור של Service Directory כך שתוכלו לשלוח שאילתות לשירות באמצעות DNS, ראו הגדרת אזור של Service Directory.
- במאמר סקירה כללית על Service Directory תוכלו לקרוא סקירה כללית על השירות.
- כדי למצוא פתרונות לבעיות נפוצות שאולי תיתקלו בהן כשאתם משתמשים ב-Service Directory, אפשר לעיין במאמר פתרון בעיות.