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

סדרת המדריכים הזו מיועדת לאדמינים ממחלקת IT ולמפעילים שרוצים לפרוס, להריץ ולנהל סביבות של אפליקציות מודרניות שפועלות ב-Google Kubernetes Engine ‏ (GKE). במדריכים האלה תלמדו איך להגדיר מעקב והתראות, לשנות את קנה המידה של עומסי העבודה ולדמות כשלים, והכול באמצעות אפליקציית המיקרו-שירותים לדוגמה Cymbal Bank:

  1. יצירת אשכול ופריסת אפליקציה לדוגמה (המדריך הזה)
  2. מעקב באמצעות השירות המנוהל של Google Cloud ל-Prometheus
  3. התאמה לעומסי עבודה
  4. סימולציה של כשל
  5. ניהול שינויים מרכזי

סקירה כללית ומטרות

ב-Cymbal Bank משתמשים ב-Python וב-Java כדי להריץ את השירותים השונים, והוא כולל קצה עורפי של PostgreSQL. לא צריך ניסיון בשפות האלה או בפלטפורמת מסד נתונים כדי להשלים את סדרת המדריכים, כי Cymbal Bank היא רק אפליקציה לדוגמה שמראה איך GKE יכול לתמוך בצרכים של העסק שלכם.

במדריך הזה תלמדו איך ליצור אשכול GKE אחד ולפרוס אפליקציה לדוגמה שמבוססת על מיקרו-שירותים בשם Cymbal Bank באשכול GKE. תלמדו איך לבצע את המשימות הבאות:

  • יוצרים אשכול GKE שמשתמש ב-Autopilot.

  • פריסת אפליקציה לדוגמה שמבוססת על מיקרו-שירותים בשם Cymbal Bank.

  • אפשר להשתמש במסוף Google Cloud כדי לעיין במשאבי GKE שבהם נעשה שימוש באפליקציה לדוגמה Cymbal Bank.

עלויות

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

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

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

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

הגדרת המעטפת והכלים

בסדרת המדריכים הזו תשתמשו בכלים הבאים כדי לפרוס את הסביבה ולנהל אותה:

  • ‫ה-CLI של gcloud: יצירה וניהול של אשכולות GKE ו-Fleets, וגם של שירותים אחרים Google Cloud .
  • ‫kubectl: ניהול Kubernetes, מערכת תזמור האשכולות שמשמשת את GKE.

כדי להריץ את הפקודות שבדף הזה, צריך להגדיר את Google Cloud CLI ואת kubectl באחת מסביבות הפיתוח הבאות:

Cloud Shell

כדי להשתמש בטרמינל אונליין שכבר מוגדרים בו ה-CLI של gcloud ו-kubectl, צריך להפעיל את Cloud Shell:

בחלק התחתון של הדף הזה מתחיל סשן של Cloud Shell ומופיעה הודעה של שורת הפקודה. הסשן יופעל תוך כמה שניות.

מעטפת מקומית

כדי להשתמש בסביבת פיתוח מקומית:

הגדרת הפרויקט

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

יכול להיות שתצטרכו ש Google Cloud אדמין בארגון שלכם ייתן לכם גישה ליצירה או לשימוש בפרויקט ולהפעלת ממשקי API.

  1. במסוף Google Cloud , נכנסים לדף Google Kubernetes Engine:

    מעבר לדף Google Kubernetes Engine

  2. יוצרים או בוחרים פרויקט. זה הפרויקט שבו מפעילים את GKE.

  3. אם מופיעה בקשה, לוחצים על הפעלה של GKE API.

  4. מחכים עד שממשק ה-API והשירותים הקשורים יופעלו. התהליך הזה יכול להימשך כמה דקות.

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

מתן תפקידים ב-IAM

אם אתם Project Owner (למשל אם יצרתם את הפרויקט בעצמכם), כבר יש לכם את כל ההרשאות שנדרשות כדי להשלים את המדריכים האלה. אם אתם לא הבעלים, ודאו שלחשבון Google Cloud שלכם יש את תפקידי ה-IAM הנדרשים בפרויקט שבחרתם כדי לבצע את ההדרכות האלה. שוב, יכול להיות שתצטרכוGoogle Cloud אדמין בארגון שיעזור לכם להקצות את התפקידים הנדרשים.

בפקודות הבאות, מחליפים את PROJECT_ID במזהה שנוצר אוטומטית של הפרויקט שיצרתם או בחרתם בקטע הקודם. מזהה הפרויקט שונה בדרך כלל משם הפרויקט. לדוגמה, שם הפרויקט יכול להיות scalable-apps, אבל מזהה הפרויקט יכול להיות scalable-apps-567123.

מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM: roles/resourcemanager.projectIamAdmin, roles/iam.serviceAccountAdmin, roles/iam.serviceAccountUser, roles/iam.securityAdmin, roles/serviceusage.serviceUsageAdmin, roles/container.admin, roles/logging.logWriter, roles/gkehub.admin, roles/viewer, roles/monitoring.viewer

gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

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

  • ‫PROJECT_ID: מזהה הפרויקט.
  • ‫USER_IDENTIFIER: המזהה של חשבון המשתמש . לדוגמה, myemail@example.com.
  • ‫ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.

שכפול האפליקציה לדוגמה

משכפלים את מאגר ה-Git שכולל את כל קובצי המניפסט לדוגמה של Cymbal Bank:

  git clone https://github.com/GoogleCloudPlatform/bank-of-anthos
  cd bank-of-anthos/

יצירת אשכול

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

‫GKE הוא שירות Kubernetes מנוהל שמאפשר לפרוס ולהפעיל אפליקציות בקונטיינרים. סביבת GKE מורכבת מצמתים, שהם מכונות וירטואליות (VM) של Compute Engine, שמקובצות יחד ויוצרות אשכול.

  • יוצרים אשכול GKE שבו תשתמשו בשאר המדריכים בסדרה הזו:

    gcloud container clusters create-auto scalable-apps \
      --project=PROJECT_ID \
      --location=CONTROL_PLANE_LOCATION
    

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

    • ‫PROJECT_ID עם המזהה שנוצר אוטומטית של הפרויקט שיצרתם בקטע הקודם. בדרך כלל מזהה הפרויקט שונה משם הפרויקט. לדוגמה, שם הפרויקט יכול להיות scalable-apps, אבל מזהה הפרויקט יכול להיות scalable-apps-567123.
    • CONTROL_PLANE_LOCATION: האזור ב-Compute Engine של מישור הבקרה של האשכול. מציינים אזור, למשל us-central1.

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

בסדרת המדריכים הזו, כשיוצרים אשכולות משתמשים באשכולות במצב טייס אוטומטי ובכמה טווחי כתובות IP שמוגדרים כברירת מחדל. כשפורסים אפליקציות משלכם בסביבת ייצור, צריך לתכנן את כתובות ה-IP בקפידה רבה יותר. במצב Autopilot,‏ Google מנהלת את תצורת האשכול, כולל שינוי גודל אוטומטי, אבטחה והגדרות אחרות שהוגדרו מראש. אשכולות במצב אוטומטי עוברים אופטימיזציה להרצת רוב עומסי העבודה של הייצור, והם מקצים משאבי מחשוב על סמך מניפסטים של Kubernetes.

פריסת Cymbal Bank

אתם אורזים אפליקציות (שנקראות גם עומסי עבודה) בקונטיינרים. אתם פורסים קבוצות של קונטיינרים בתור Pods בצמתים.

בסדרת הדרכות הזו, תפרסו אפליקציה לדוגמה שמבוססת על מיקרו-שירותים בשם Cymbal Bank באחד או יותר מאשכולות GKE. ב-Cymbal Bank משתמשים ב-Python וב-Java כדי להריץ את השירותים השונים, והוא כולל קצה עורפי של PostgreSQL. לא צריך ניסיון בשפות האלה או בפלטפורמת מסד הנתונים כדי להשלים את סדרת המדריכים. Cymbal Bank היא רק אפליקציה לדוגמה שמראה איך GKE יכול לתמוך בצרכים של העסק שלכם.

כשמשתמשים ב-Cymbal Bank כחלק מסדרת המדריכים הזו, השירותים הבאים נפרסים באשכול GKE:

שירות שפה תיאור
frontend Python החשיפה של שרת HTTP כדי להציג את האתר. כולל דף כניסה, דף הרשמה ודף בית.
ledger-writer Java מקבלת עסקאות נכנסות ומאמתת אותן לפני שהיא כותבת אותן בספר החשבונות.
balance-reader Java מספק מטמון יעיל וקריא של יתרות המשתמשים, כפי שנקרא מ-ledger-db.
transaction-history Java מספק מטמון קריא ויעיל של עסקאות קודמות, כפי שנקראו מ-ledger-db.
ledger-db PostgreSQL ספר חשבונות של כל העסקאות. אפשרות לאכלס מראש את הנתונים בעסקאות של משתמשי הדגמה.
user-service Python ניהול חשבונות משתמשים ואימות. חותם על אסימוני JWT שמשמשים לאימות על ידי שירותים אחרים.
contacts Python רשימת החנויות של חשבונות אחרים שמשויכים למשתמש. השדה הזה משמש לתפריט נפתח בטפסים "שליחת תשלום" ו "הפקדה".
accounts-db PostgreSQL מסד נתונים של חשבונות משתמשים ונתונים משויכים. אפשרות לאכלס מראש משתמשי הדגמה.
loadgenerator Python / Locust שליחה רציפה של בקשות שמחקות משתמשים לממשק הקצה. מדי פעם יוצרת חשבונות חדשים ומדמה עסקאות ביניהם.

כדי לפרוס את Cymbal Bank באשכול GKE, מבצעים את השלבים הבאים:

  1. ב-Cymbal Bank נעשה שימוש באסימוני JWT (‏JSON Web Tokens) כדי לטפל באימות משתמשים. אסימוני JWT משתמשים בזוגות של מפתחות אסימטריים כדי לחתום על אסימונים ולאמת אותם. ב-Cymbal Bank, השירות userservice יוצר אסימונים וחותם עליהם באמצעות מפתח פרטי של RSA כשמשתמש נכנס לחשבון, והשירותים האחרים משתמשים במפתח הציבורי התואם כדי לאמת את המשתמש.

    יוצרים JWT מסוג RS256 בעוצמה של 4,096 ביטים:

    openssl genrsa -out jwtRS256.key 4096
    openssl rsa -in jwtRS256.key -outform PEM -pubout -out jwtRS256.key.pub
    

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

  2. ב-Kubernetes Secret אפשר לאחסן מידע אישי רגיש כמו מפתחות או סיסמאות. עומסי עבודה שפועלים באשכול יכולים לגשת לסוד כדי לקבל את המידע האישי הרגיש, במקום להוסיף אותו בתוך הקוד של האפליקציה.

    יוצרים סוד של Kubernetes מקובץ המפתח שיצרתם בשלב הקודם עבור Cymbal Bank, כדי להשתמש בו עם בקשות אימות:

    kubectl create secret generic jwt-key --from-file=./jwtRS256.key --from-file=./jwtRS256.key.pub
    
  3. פורסים את Cymbal Bank באשכול. הפקודה הבאה פורסת את כל קובצי המניפסט בספרייה kubernetes-manifests. כל קובץ מניפסט פורס ומגדיר את אחד מהשירותים:

    kubectl apply -f kubernetes-manifests/accounts-db.yaml
    kubectl apply -f kubernetes-manifests/balance-reader.yaml
    kubectl apply -f kubernetes-manifests/config.yaml
    kubectl apply -f kubernetes-manifests/contacts.yaml
    kubectl apply -f extras/postgres-hpa/kubernetes-manifests/frontend.yaml
    kubectl apply -f kubernetes-manifests/ledger-db.yaml
    kubectl apply -f kubernetes-manifests/ledger-writer.yaml
    kubectl apply -f extras/postgres-hpa/loadgenerator.yaml
    kubectl apply -f kubernetes-manifests/transaction-history.yaml
    kubectl apply -f kubernetes-manifests/userservice.yaml
    

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

    דוגמה למניפסט של שירות frontend:

    # Copyright 2026 Google LLC
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #     https://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    apiVersion: v1
    kind: Service
    metadata:
      labels:
        application: bank-of-anthos
        environment: development
        team: frontend
        tier: web
      name: frontend
    spec:
      ports:
        - name: http
          port: 80
          targetPort: 8080
      selector:
        app: frontend
        application: bank-of-anthos
        environment: development
        team: frontend
        tier: web
      type: LoadBalancer
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        application: bank-of-anthos
        environment: development
        team: frontend
        tier: web
      name: frontend
    spec:
      selector:
        matchLabels:
          app: frontend
          application: bank-of-anthos
          environment: development
          team: frontend
          tier: web
      template:
        metadata:
          annotations:
            proxy.istio.io/config: '{ "holdApplicationUntilProxyStarts": true }'
          labels:
            app: frontend
            application: bank-of-anthos
            environment: development
            team: frontend
            tier: web
        spec:
          containers:
            - env:
                - name: VERSION
                  value: v0.6.11
                - name: PORT
                  value: "8080"
                - name: ENABLE_TRACING
                  value: "true"
                - name: SCHEME
                  value: http
                - name: LOG_LEVEL
                  value: info
                - name: DEFAULT_USERNAME
                  valueFrom:
                    configMapKeyRef:
                      key: DEMO_LOGIN_USERNAME
                      name: demo-data-config
                - name: DEFAULT_PASSWORD
                  valueFrom:
                    configMapKeyRef:
                      key: DEMO_LOGIN_PASSWORD
                      name: demo-data-config
                - name: REGISTERED_OAUTH_CLIENT_ID
                  valueFrom:
                    configMapKeyRef:
                      key: DEMO_OAUTH_CLIENT_ID
                      name: oauth-config
                      optional: true
                - name: ALLOWED_OAUTH_REDIRECT_URI
                  valueFrom:
                    configMapKeyRef:
                      key: DEMO_OAUTH_REDIRECT_URI
                      name: oauth-config
                      optional: true
              envFrom:
                - configMapRef:
                    name: environment-config
                - configMapRef:
                    name: service-api-config
              image: us-central1-docker.pkg.dev/bank-of-anthos-ci/bank-of-anthos/frontend:v0.6.11@sha256:5746f018f3d85475e25b8283bf8fb476e2501196bbe71e3ce144527e7280e7ae
              livenessProbe:
                httpGet:
                  path: /ready
                  port: 8080
                initialDelaySeconds: 60
                periodSeconds: 15
                timeoutSeconds: 30
              name: front
              readinessProbe:
                httpGet:
                  path: /ready
                  port: 8080
                initialDelaySeconds: 10
                periodSeconds: 5
                timeoutSeconds: 10
              resources:
                limits:
                  cpu: 250m
                  memory: 128Mi
                requests:
                  cpu: 100m
                  memory: 64Mi
              securityContext:
                allowPrivilegeEscalation: false
                capabilities:
                  drop:
                    - all
                privileged: false
                readOnlyRootFilesystem: true
              volumeMounts:
                - mountPath: /tmp
                  name: tmp
                - mountPath: /tmp/.ssh
                  name: publickey
                  readOnly: true
          securityContext:
            fsGroup: 1000
            runAsGroup: 1000
            runAsNonRoot: true
            runAsUser: 1000
          serviceAccountName: bank-of-anthos
          terminationGracePeriodSeconds: 5
          volumes:
            - emptyDir: {}
              name: tmp
            - name: publickey
              secret:
                items:
                  - key: jwtRS256.key.pub
                    path: publickey
                secretName: jwt-key

    המניפסט הזה של frontend בקשות שירות 100m של מעבד (CPU) ו-64Mi, ומגדיר מגבלות של 250m של מעבד ו-128Mi לכל Pod.

    כשפורסים עומס עבודה באשכול Autopilot, ‏ GKE מאמת את תצורת עומס העבודה מול הערכים המינימליים והמקסימליים המותרים עבור מחלקת המחשוב או תצורת החומרה שנבחרו (כמו מעבדי GPU). אם מספר הבקשות נמוך מהמינימום, Autopilot משנה אוטומטית את הגדרות עומס העבודה כדי שמספר הבקשות יהיה בטווח המותר. ההודעות האלה מציינות שהמגבלות המתאימות מוקצות באופן אוטומטי.

  4. מחכים שה-Pods יהיו מוכנים. משתמשים ב-kubectl כדי לבדוק את הסטטוס של הפודים:

    kubectl get pods
    

    הערך בעמודה STATUS השתנה מ-Pending ל-ContainerCreating. לוקח כמה דקות עד שכל ה-Pods יהיו במצב Running, כמו שמוצג בפלט לדוגמה הבא:

    NAME                                  READY   STATUS    RESTARTS   AGE
    accounts-db-6f589464bc-6r7b7          1/1     Running   0          99s
    balancereader-797bf6d7c5-8xvp6        1/1     Running   0          99s
    contacts-769c4fb556-25pg2             1/1     Running   0          98s
    frontend-7c96b54f6b-zkdbz             1/1     Running   0          98s
    ledger-db-5b78474d4f-p6xcb            1/1     Running   0          98s
    ledgerwriter-84bf44b95d-65mqf         1/1     Running   0          97s
    loadgenerator-559667b6ff-4zsvb        1/1     Running   0          97s
    transactionhistory-5569754896-z94cn   1/1     Running   0          97s
    userservice-78dc876bff-pdhtl          1/1     Running   0          96s
    

    כשהמצב של כל ה-Pods הוא Running, ממשיכים לשלב הבא. שוב, לוקח כמה דקות עד שכל ה-Pods נמצאים במצב Running. זה תקין שחלק מה-Pods ידווחו על סטטוס READY של 0/1 עד ש-Cymbal Bank יהיה מוכן לשרת את התנועה בצורה נכונה.

  5. שירות frontend חושף שרת HTTP להצגת אתר Cymbal Bank, כולל דף הכניסה, דף ההרשמה ודף הבית. אובייקט Ingress מגדיר כללים לניתוב תעבורת HTTP(S) לאפליקציות שפועלות באשכול באמצעות Google Cloud מאזן עומסים מסוג HTTP(S).

    מקבלים את כתובת ה-IP החיצונית של frontend Ingress:

    kubectl get ingress frontend | awk '{print $4}'
    
  6. בחלון של דפדפן אינטרנט, פותחים את כתובת ה-IP שמוצגת בפלט של הפקודה kubectl get ingress כדי לגשת למופע של Cymbal Bank.

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

עיון בפריסה

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

אשכולות

במדריך הזה יצרתם אשכול GKE אחד ופרסתם את עומסי העבודה של Cymbal Bank.

  1. בדף Google Kubernetes Engine במסוף Google Cloud , נכנסים לדף Clusters.

    כניסה לדף Clusters

  2. לוחצים על האשכול scalable-apps שנפרס. בדף הפרטים של האשכול שנפתח, אפשר לראות את הפרטים הבסיסיים של האשכול, יחד עם הגדרות הרשת והאבטחה שלו. בקטע Features אפשר לראות אילו תכונות של GKE מופעלות באוסף הזה.

ניראות (observability)

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

  1. בוחרים את האשכול בדף Clusters של Google Kubernetes Engine במסוףGoogle Cloud , ואז עוברים לכרטיסייה Observability.

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

  3. כדי לראות את היומנים שמועברים בסטרימינג מהאשכול, לוחצים על הכרטיסייה Logs. אפשר לסנן לפי Severity של היומנים, או ליצור מסננים משלכם כדי להציג מרחבי שמות, שירותים או Pods ספציפיים. בדומה לאזהרות ולאירועים של Pod, התצוגה המשותפת הזו של יומנים מהאשכול יכולה לעזור לכם לנפות באגים בבעיות במהירות באמצעות Google Cloud המסוף.

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

  4. בוחרים בכרטיסייה App Errors (שגיאות באפליקציה). בזמן שהעומסים פועלים, אתם יכולים לראות את האזהרות והאירועים שנאספו במסוף Google Cloud . הגישה הזו יכולה לעזור לכם לנפות באגים בלי שתצטרכו להתחבר לאשכול, לצמתים או ל-Pods בנפרד.

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

עומסי עבודה

בדף GKE במסוף Google Cloud יש קטע Workloads (עומסי עבודה) שבו מוצגת תצוגה מצטברת של עומסי העבודה שפועלים בכל אשכולות GKE.

  1. במסוף Google Cloud , נכנסים לדף Workloads של Google Kubernetes Engine.

    כניסה לדף Workloads

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

שירותים ו-Ingress

בתצוגה Services & Ingress מוצגים משאבי השירות וה-Ingress של הפרויקט. שירות חושף קבוצה של Pod כשירות רשת עם נקודת קצה, בעוד ש-Ingress מנהל גישה חיצונית לשירותים באשכול.

  1. בדף Google Kubernetes Engine במסוף Google Cloud , נכנסים לדף Gateways, Services & Ingress.

    כניסה לדף Gateways, Services & Ingress

  2. כדי למצוא את ה-ingress של Cymbal Bank, לוחצים על הכרטיסייה Ingress ומחפשים את ה-ingress בשם frontend. תעבורת נתונים נכנסת (ingress) מנהלת את התעבורה הנכנסת לאפליקציה. אפשר לראות מידע על מאזן העומסים, היציאות ונקודות הקצה החיצוניות.

  3. לוחצים על IP address (כתובת IP) של הכניסה frontend, למשל 198.51.100.143:80. הכתובת הזו פותחת את ממשק האינטרנט של Cymbal Bank.

הסרת המשאבים

מומלץ להשלים את סדרת המדריכים של Cymbal Bank לפי הסדר. במהלך ההתקדמות בסדרת ההדרכות, תרכשו מיומנויות חדשות ותשתמשו במוצרים ובשירותים נוספים Google Cloud .

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

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

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

במדריך הבא מוסבר איך עוקבים אחרי עומסי עבודה ב-GKE באמצעות השירות המנוהל של Google Cloud ל-Prometheus ו-Cloud Monitoring.