יצירה והצגה של אשכול בשירות מנוהל ל-Apache Kafka

איך יוצרים אשכול של שירות מנוהל ל-Apache Kafka עם נושא, ואיך רואים פרטים על האשכול. כדי להשלים את המדריך הזה, אתם יכולים להשתמש במסוף Google Cloud או ב-Google Cloud CLI.

לפני שמתחילים

המסוף

  1. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Managed Kafka API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. 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.

    Enable the API

gcloud

  1. התקינו את ה-CLI של Google Cloud.

  2. הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.

    איך נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת?

  3. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  4. יוצרים או בוחרים פרויקט ב- Google Cloud .

    התפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • בחירת פרויקט: כדי לבחור פרויקט לא נדרש תפקיד IAM ספציפי – אתם יכולים לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד "יצירת פרויקטים" (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים?
    • יוצרים פרויקט ב- Google Cloud :

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של הפרויקט ב- Google Cloud שאתם יוצרים.

    • בוחרים את הפרויקט שיצרתם ב- Google Cloud :

      gcloud config set project PROJECT_ID

      מחליפים את PROJECT_ID בשם הפרויקט ב- Google Cloud .

  5. אם משתמשים בפרויקט קיים, מוודאים שיש את ההרשאות הנדרשות כדי להשלים את ההדרכה. אם משתמשים בפרויקט חדש, לא צריך לוודא כי כבר יש את ההרשאות הנדרשות.

  6. מוודאים שהחיוב מופעל בפרויקט ב- Google Cloud .

  7. מפעילים את Managed Kafka API, אם הוא עדיין לא מופעל:

    התפקידים שנדרשים כדי להפעיל ממשקי API

    כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם אתם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    gcloud services enable managedkafka.googleapis.com

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות להשלמת המדריך, בקשו מהאדמין להקצות לכם את התפקידים הבאים ב-IAM ברמת הפרויקט:

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

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

יצירת אשכול

המסוף

  1. נכנסים לדף Managed Service for Apache Kafka > Clusters.

    כניסה לדף Clusters

  2. לוחצים על Create.
  3. בתיבה Cluster name, נותנים שם לאשכול.
  4. ברשימה Region, בוחרים מיקום לאשכול.
  5. בקטע Network configuration, מגדירים את רשת המשנה שבה האשכול נגיש:
    1. בשדה Project, בוחרים את הפרויקט.
    2. בשדה Network, בוחרים את רשת ה-VPC.
    3. בשדה Subnet, בוחרים את רשת המשנה.
    4. לוחצים על סיום.
  6. לוחצים על יצירה.

אחרי שלוחצים על Create, מצב האשכול הוא Creating. כשהאשכול מוכן, הסטטוס הוא Active.

gcloud

כדי ליצור אשכול Kafka, מריצים את הפקודה managed-kafka clusters create.

gcloud managed-kafka clusters create KAFKA_CLUSTER \
--location=REGION \
--cpu=3 \
--memory=3GiB \
--subnets=projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \
--async

מחליפים את מה שכתוב בשדות הבאים:

  • ‫KAFKA_CLUSTER: שם לאשכול Kafka
  • ‫REGION: המיקום של האשכול
  • ‫PROJECT_ID: מזהה הפרויקט
  • ‫SUBNET_NAME: רשת המשנה שבה רוצים ליצור את האשכול, לדוגמה default

מידע נוסף על המיקומים הנתמכים זמין במאמר מיקומים של שירות מנוהל ל-Apache Kafka.

הפקודה פועלת באופן אסינכרוני ומחזירה מזהה פעולה:

Check operation [projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID] for status.

כדי לעקוב אחרי ההתקדמות של פעולת היצירה, משתמשים בפקודה gcloud managed-kafka operations describe:

gcloud managed-kafka operations describe OPERATION_ID \
  --location=REGION

כשהאשכול מוכן, הפלט מהפקודה הזו כולל את הרשומה state: ACTIVE. למידע נוסף, קראו את המאמר מעקב אחרי פעולת היצירה של האשכול.

אחרי שתבצעו את השלבים האלה, יכול להיות שיחלפו עד 30 דקות עד שהאשכול יהיה מוכן.

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

יצירת נושא

כשהאשכול של השירות המנוהל ל-Apache Kafka מוכן, יוצרים נושא.

המסוף

  1. נכנסים לדף Managed Service for Apache Kafka > Clusters.

    כניסה לדף Clusters

  2. לוחצים על שם האשכול.

  3. בדף הפרטים של האשכול, לוחצים על Create Topic.

  4. בתיבה Topic name, נותנים שם לנושא.

  5. לוחצים על יצירה.

gcloud

כדי ליצור נושא ב-Kafka, מריצים את הפקודה managed-kafka topics create.

gcloud managed-kafka topics create KAFKA_TOPIC_NAME \
--cluster=KAFKA_CLUSTER \
--location=REGION \
--partitions=10 \
--replication-factor=3

מחליפים את מה שכתוב בשדות הבאים:

  • ‫KAFKA_TOPIC_NAME: השם של נושא Kafka שרוצים ליצור
  • ‫KAFKA_CLUSTER: השם של אשכול Kafka
  • ‫REGION: האזור שבו יצרתם את אשכול Kafka

הצגת האשכול

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

המסוף

  1. נכנסים לדף Managed Service for Apache Kafka > Clusters.

    כניסה לדף Clusters

  2. לוחצים על שם האשכול. בדף Cluster details מוצג מידע על האשכול. בכרטיסייה Resources מוצגים המשאבים שמשויכים לאשכול, כולל נושאים.

  3. כדי לראות פרטים על נושא מסוים, בוחרים בכרטיסייה Resources ולוחצים על שם הנושא. בדף Topic details מוצג מידע על הנושא, כמו מספר המחיצות והרפליקות.

  4. כדי לחזור לדף Cluster details, לוחצים על Back to parent page.

gcloud

  1. כדי לראות מידע על האשכול, מריצים את הפקודה gcloud managed-kafka clusters describe.

    gcloud managed-kafka clusters describe KAFKA_CLUSTER \
      --location=REGION
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫KAFKA_CLUSTER: שם האשכול
    • ‫REGION: האזור שבו יצרתם את האשכול

    הפלט של הפקודה הזו הוא רשימה של מאפייני אשכול, בדומה לדוגמה הבאה:

    bootstrapAddress: BOOTSTRAP_ADDRESS
    capacityConfig:
      memoryBytes: '3221225472'
      vcpuCount: '3'
    createTime: 'TIMESTAMP'
    
  2. כדי לקבל רשימה של נושאים באשכול, מריצים את הפקודה gcloud managed-kafka topics list.

    gcloud managed-kafka topics list KAFKA_CLUSTER \
      --location=REGION \
      --format="value(name)"
    

    הפלט כולל את הנושאים שיצרתם, וגם נושאים שהשירות המנוהל ל-Apache Kafka יוצר לשימוש פנימי.

  3. כדי להציג מידע על נושא מסוים, מריצים את הפקודה gcloud managed-kafka topics describe.

    gcloud managed-kafka topics describe TOPIC_NAME \
      --cluster=KAFKA_CLUSTER \
      --location=REGION
    

    מחליפים את TOPIC_NAME בשם הנושא.

    הפלט של הפקודה הזו הוא רשימה של מאפייני נושא, שאמורה להיראות כך:

     name: projects/PROJECT_ID/locations//clusters/KAFKA_CLUSTER/topics/TOPIC_NAME
     partitionCount: 10
     replicationFactor: 3
    

איך מקבלים את כתובת ה-bootstrap

לקוחות Kafka משתמשים בכתובת ה-bootstrap של האשכול כדי ליצור חיבור לאשכול. כדי לקבל את כתובת ה-bootstrap:

המסוף

  1. נכנסים לדף Managed Service for Apache Kafka > Clusters.

    כניסה לדף Clusters

  2. לוחצים על שם האשכול.

  3. לוחצים על הכרטיסייה Configurations.

  4. כתובת ה-URL ההתחלתית מופיעה בקטע Bootstrap URL. לוחצים על Copy כדי להעתיק את הערך.

gcloud

כדי לקבל את כתובת ה-URL ההתחלתית, מריצים את הפקודה managed-kafka clusters describe.

gcloud managed-kafka clusters describe KAFKA_CLUSTER \
  --location=REGION \
  --format="value(bootstrapAddress)"

מחליפים את מה שכתוב בשדות הבאים:

  • ‫KAFKA_CLUSTER: שם האשכול
  • ‫REGION: האזור שבו יצרתם את האשכול

עכשיו אפשר לשלוח הודעות לאשכול. למידע נוסף, ראו השלבים הבאים במסמך הזה.

הסרת המשאבים

כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, אתם צריכים למחוק את הפרויקט ב- Google Cloud יחד עם המשאבים.

המסוף

מוחקים את האשכול.

  1. נכנסים לדף Managed Service for Apache Kafka > Clusters.

    כניסה לדף Clusters

  2. בוחרים את אשכול Kafka ולוחצים על Delete.

gcloud

  1. כדי למחוק את האשכול, משתמשים בפקודה gcloud managed-kafka clusters delete.

    gcloud managed-kafka clusters delete KAFKA_CLUSTER \
      --location=REGION --async
    

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

יוצרים הודעות ל-Kafka באמצעות כלי שורת הפקודה של Kafka, על ידי יצירת נתונים סינתטיים או על ידי יצירת אפליקציית לקוח: