אפליקציות Django שפועלות ב-GKE משתנות באופן דינמי בהתאם לתנועה.
המדריך הזה מבוסס על ההנחה שאתם מכירים את פיתוח האתרים ב-Django. אם אתם חדשים בפיתוח ב-Django, כדאי לעיין במדריך כתיבת האפליקציה הראשונה ב-Django לפני שתמשיכו.
המדריך הזה מתמקד ב-Django, אבל אפשר להשתמש בתהליך הפריסה הזה עם מסגרות אחרות שמבוססות על Django, כמו Wagtail ו-Django CMS.
במדריך הזה משתמשים ב-Django 5, שמחייב לפחות את Python 3.10.אתם צריכים גם להתקין את Docker.
מטרות
במדריך הזה תלמדו:
- ליצור מסד נתונים ב-Cloud SQL ולהתחבר אליו.
- ליצור ערכי סודות של Kubernetes ולהשתמש בהם.
- פריסת אפליקציית Django ב-Google Kubernetes Engine.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
בעזרת מחשבון העלויות אתם יכולים להעריך את העלויות בהתאם לשימוש הצפוי.
לפני שמתחילים
- נכנסים לחשבון 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 Cloud SQL, GKE and Compute Engine APIs, if any are 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 gcloud 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 Cloud SQL, GKE and Compute Engine APIs, if any are 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 gcloud 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
הכנת הסביבה
שכפול אפליקציה לדוגמה
הקוד של האפליקציה לדוגמה של Django נמצא במאגר GoogleCloudPlatform/python-docs-samples ב-GitHub.
אתם יכולים להוריד את הדוגמה כקובץ ZIP ולחלץ אותו, או לשכפל את המאגר למכונה המקומית:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.gitעוברים לספרייה שמכילה את הקוד לדוגמה:
Linux או macOS
cd python-docs-samples/kubernetes_engine/django_tutorialWindows
cd python-docs-samples\kubernetes_engine\django_tutorial
אישור ההגדרה של Python
במדריך הזה משתמשים ב-Python כדי להריץ את האפליקציה לדוגמה במחשב. כדי להשתמש בקוד לדוגמה, צריך גם להתקין יחסי תלות
מידע נוסף זמין במדריך לסביבת הפיתוח של Python.
מוודאים שגרסת ה-Python היא לפחות 3.10.
python -Vצריכה להופיע הגרסה
Python 3.10.0או גרסה חדשה יותר.יוצרים סביבה וירטואלית של Python ומתקינים יחסי תלות:
Linux/macOS
python -m venv venv source venv/bin/activate pip install --upgrade pip pip install -r requirements.txtWindows
python -m venv venv venv\scripts\activate pip install --upgrade pip pip install -r requirements.txt
הורדת Cloud SQL Auth Proxy כדי להתחבר ל-Cloud SQL מהמכונה המקומית
אחרי הפריסה, האפליקציה משתמשת ב-Cloud SQL Auth Proxy שמובנה בסביבת Google Kubernetes Engine כדי לתקשר עם המכונה של Cloud SQL. עם זאת, כדי לבדוק את האפליקציה באופן מקומי, צריך להתקין עותק מקומי של שרת ה-proxy ולהשתמש בו בסביבת הפיתוח. לפרטים נוספים, קראו את המדריך ל-Cloud SQL Auth Proxy.
Cloud SQL Auth Proxy משתמש ב-Cloud SQL API כדי ליצור אינטראקציה עם מכונת ה-SQL. כדי לעשות את זה, צריך לאמת את האפליקציה באמצעות ה-CLI של gcloud.
מאמתים ומקבלים פרטי כניסה ל-API:
gcloud auth application-default loginמורידים ומתקינים את Cloud SQL Auth Proxy במחשב המקומי.
לפני שמתחילים, צריך לזהות את הארכיטקטורה של המכונה.
אם אתם משתמשים ב-Linux או ב-Mac, אתם יכולים להריץ את הפקודה הבאה כדי למצוא את המידע הזה:
uname -a
Linux 64 סיביות
- מורידים את Cloud SQL Auth Proxy:
curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.26.3/cloud-sql-proxy.linux.amd64
- הופכים את Cloud SQL Auth Proxy לקובץ הפעלה:
chmod +x cloud-sql-proxy
Linux 32 סיביות
- מורידים את Cloud SQL Auth Proxy:
curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.26.3/cloud-sql-proxy.linux.386
- אם הפקודה
curlלא נמצאה, מריצים אתsudo apt install curlוחוזרים על פקודת ההורדה. - הופכים את Cloud SQL Auth Proxy לקובץ הפעלה:
chmod +x cloud-sql-proxy
macOS 64 סיביות
- מורידים את Cloud SQL Auth Proxy:
curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.26.3/cloud-sql-proxy.darwin.amd64
- הופכים את Cloud SQL Auth Proxy לקובץ הפעלה:
chmod +x cloud-sql-proxy
Mac M1
- מורידים את Cloud SQL Auth Proxy:
curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.26.3/cloud-sql-proxy.darwin.arm64
- הופכים את Cloud SQL Auth Proxy לקובץ הפעלה:
chmod +x cloud-sql-proxy
Windows 64 סיביות
לוחצים לחיצה ימנית על הקישור https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.26.3/cloud-sql-proxy.x64.exe ובוחרים באפשרות Save Link As כדי להוריד את Cloud SQL Auth Proxy. משנים את שם הקובץ ל-cloud-sql-proxy.exe.Windows 32 סיביות
לוחצים לחיצה ימנית על הקישור https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.26.3/cloud-sql-proxy.x86.exe ובוחרים באפשרות Save Link As כדי להוריד את Cloud SQL Auth Proxy. משנים את שם הקובץ ל-cloud-sql-proxy.exe.קובץ אימג' של Docker ל-Cloud SQL Auth Proxy
ל-Cloud SQL Auth Proxy יש קובצי אימג' שונים של קונטיינרים, כמו
distroless,alpineו-buster. קובץ האימג' של הקונטיינר שמשמש כברירת מחדל ל-Cloud SQL Auth Proxy משתמש ב-distroless, שלא מכיל מעטפת. אם אתם צריכים מעטפת או כלים קשורים, הורידו קובץ אימג' שמבוסס עלalpineאו עלbuster. מידע נוסף מופיע במאמר קובצי אימג' של קונטיינרים של Cloud SQL Auth Proxy.כדי להוריד את קובץ האימג' העדכני למחשב המקומי באמצעות Docker, משתמשים בפקודה הבאה:
docker pull gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.26.3
מערכת הפעלה אחרת
במערכות הפעלה אחרות שלא מופיעות כאן, אפשר להדר את Cloud SQL Auth Proxy מהמקור.אפשר להעביר את ההורדה למיקום נפוץ, כמו מיקום ב-
PATHאו ספריית הבית. אם תבחרו לעשות את זה, כשתפעילו את Cloud SQL Auth Proxy בהמשך המדריך, זכרו להפנות למיקום שבחרתם כשאתם משתמשים בפקודותcloud-sql-proxy.- מורידים את Cloud SQL Auth Proxy:
יצירת שירותים תומכים
במדריך הזה משתמשים בכמה שירותי Google Cloud כדי לספק את מסד הנתונים, את אחסון המדיה ואת אחסון הסודות שתומכים בפרויקט Django שנפרס. השירותים האלה פרוסים באזור ספציפי. כדי שהשירותים יפעלו ביעילות, כדאי לפרוס את כולם באותו אזור. למידע נוסף על האזור הקרוב ביותר אליכם, ראו מוצרים זמינים לפי אזור.
הגדרת מכונה של Cloud SQL ל-PostgreSQL
Django תומך באופן רשמי במספר מסדי נתונים רלציוניים, אבל התמיכה הטובה ביותר היא ב-PostgreSQL. Cloud SQL תומך ב-PostgreSQL, ולכן במדריך הזה נשתמש בסוג הזה של מסד נתונים.
בקטע הבא מוסבר איך ליצור מכונה, מסד נתונים ומשתמש במסד הנתונים של PostgreSQL בשביל האפליקציה.
יוצרים את מכונת PostgreSQL:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
לוחצים על Create Instance.
לוחצים על Choose PostgreSQL.
ב-SQL Edition, בוחרים באפשרות Enterprise.
בקטע Edition Preset, בוחרים באפשרות Sandbox.
בשדה Instance ID, מזינים את הערך
INSTANCE_NAME.מזינים סיסמה למשתמש postgres.
משאירים את ערכי ברירת המחדל בשאר השדות.
לוחצים על Create Instance.
המכונה תהיה מוכנה לשימוש תוך כמה דקות.
gcloud
יוצרים את מכונת PostgreSQL:
gcloud sql instances create INSTANCE_NAME \ --project PROJECT_ID \ --database-version POSTGRES_16 \ --tier db-n1-standard-2 \ --region REGION
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של מכונת Cloud SQL -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud -
REGION: Google Cloud האזור
המכונה נוצרת תוך כמה דקות, ואז היא מוכנה לשימוש.
במכונה שנוצרה, יוצרים מסד נתונים:
המסוף
- בדף המכונה, נכנסים לכרטיסייה Databases.
- לוחצים על Create database.
- בתיבת הדו-שיח Database Name, מזינים
DATABASE_NAME. - לוחצים על יצירה.
gcloud
יוצרים את מסד הנתונים במכונה שנוצרה לאחרונה:
gcloud sql databases create DATABASE_NAME \ --instance INSTANCE_NAMEמחליפים את
DATABASE_NAMEבשם של מסד הנתונים בתוך המכונה.
יוצרים משתמש במסד הנתונים:
המסוף
- בדף המכונה, עוברים לכרטיסייה Users.
- לוחצים על הוספת חשבון משתמש.
- בתיבת הדו-שיח בחירת שיטת אימות, בקטע "אימות מובנה":
- מזינים את שם המשתמש
DATABASE_USERNAME. - מזינים את הסיסמה
DATABASE_PASSWORD - לוחצים על הוספה.
gcloud
יוצרים את המשתמש במכונה שנוצרה לאחרונה:
gcloud sql users create DATABASE_USERNAME \ --instance INSTANCE_NAME \ --password DATABASE_PASSWORDמחליפים את
PASSWORDבסיסמה מאובטחת.
יצירה של חשבון שירות
ל-proxy נדרש חשבון שירות עם הרשאות עריכה למכונה של Cloud SQL. למידע נוסף על חשבונות שירות, קראו את הסקירה הכללית על אימות ב-Google Cloud .
- נכנסים לדף Service accounts במסוף Google Cloud .
- בוחרים את הפרויקט שמכיל את המכונה של Cloud SQL.
- לוחצים על Create service account.
- בשדה Service account name, מזינים שם תיאורי לחשבון השירות.
- משנים את הערך של Service account ID לערך ייחודי וקל לזיהוי, ולוחצים על Create and continue.
-
לוחצים על השדה בחירת תפקיד ובוחרים אחד מהתפקידים הבאים:
- Cloud SQL > Cloud SQL Client
- Cloud SQL > Cloud SQL Editor
- Cloud SQL > Cloud SQL Admin
- לוחצים על Done כדי לסיים ליצור את חשבון השירות.
- לוחצים על תפריט הפעולות של חשבון השירות החדש ובוחרים באפשרות Manage keys.
- לוחצים על התפריט הנפתח Add key ואז על Create new key.
-
מוודאים שסוג המפתח הוא JSON ולוחצים על Create.
קובץ המפתח הפרטי יורד למחשב. אפשר להעביר אותו למיקום אחר. שומרים על אבטחת קובץ המַפְתח.
קביעת ההגדרות של מסד הנתונים
כדי להגדיר משתני סביבה לגישה למסד הנתונים, משתמשים בפקודות הבאות. משתני הסביבה האלה משמשים לבדיקה מקומית.
Linux/MacOS
export DATABASE_NAME=DATABASE_NAME
export DATABASE_USER=DATABASE_USERNAME
export DATABASE_PASSWORD=DATABASE_PASSWORD
Windows
set DATABASE_USER=DATABASE_USERNAME
set DATABASE_PASSWORD=DATABASE_PASSWORD
הגדרת GKE
האפליקציה הזו מיוצגת בהגדרת Kubernetes אחת שנקראת
polls. ב-polls.yaml, מחליפים את<your-project-id>במזהה הפרויקט ב-Google Cloud (PROJECT_ID).מריצים את הפקודה הבאה ורושמים את הערך של
connectionName:gcloud sql instances describe INSTANCE_NAME --format "value(connectionName)"בקובץ
polls.yaml, מחליפים את<your-cloudsql-connection-string>בערך שלconnectionName.
הפעלת האפליקציה במחשב המקומי
אחרי שהגדרתם את שירותי הגיבוי, אתם יכולים להריץ את האפליקציה במחשב. ההגדרה הזו מאפשרת פיתוח מקומי, יצירת משתמש-על והחלת העברות של מסדי נתונים.
בטרמינל נפרד, מפעילים את Cloud SQL Auth Proxy:
Linux/macOS
./cloud-sql-proxy PROJECT_ID:REGION:INSTANCE_NAMEWindows
cloud-sql-proxy.exe PROJECT_ID:REGION:INSTANCE_NAMEבשלב הזה נוצר חיבור מהמחשב המקומי למכונה של Cloud SQL למטרות בדיקה מקומית. חשוב להשאיר את Cloud SQL Auth Proxy פועל כל עוד אתם בודקים את האפליקציה באופן מקומי. אם מריצים את התהליך הזה בטרמינל נפרד, אפשר להמשיך לעבוד בזמן שהתהליך פועל.
בטרמינל המקורי, מגדירים את מזהה הפרויקט באופן מקומי:
Linux/macOS
export GOOGLE_CLOUD_PROJECT=PROJECT_IDWindows
set GOOGLE_CLOUD_PROJECT=PROJECT_IDמריצים את ההעברות של Django כדי להגדיר את המודלים והנכסים:
python manage.py makemigrations python manage.py makemigrations polls python manage.py migrate python manage.py collectstaticמפעילים את שרת האינטרנט של Django:
python manage.py runserver 8080בדפדפן, עוברים אל http://localhost:8080.
אם אתם ב-Cloud Shell, לוחצים על הכפתור Web Preview ובוחרים באפשרות Preview on port 8080.
בדף מופיע הטקסט הבא: "Hello, world. הגעת לאינדקס הסקרים". שרת האינטרנט של Django שפועל במחשב שלכם מספק את דפי האפליקציה לדוגמה.
מקישים על
Ctrl/Cmd+Cכדי לעצור את שרת האינטרנט המקומי.
שימוש במסוף Admin של Django
כדי להתחבר למסוף הניהול של Django, צריך ליצור משתמש-על. מכיוון שיש לכם חיבור למסד הנתונים שנגיש באופן מקומי, אתם יכולים להריץ פקודות ניהול:
ליצור משתמש-על. תתבקשו להזין שם משתמש, כתובת אימייל וסיסמה.
python manage.py createsuperuserמפעילים שרת אינטרנט מקומי:
python manage.py runserverבדפדפן, נכנסים לכתובת http://localhost:8000/admin.
מתחברים לאתר האדמין באמצעות שם המשתמש והסיסמה שבהם השתמשתם כשהפעלתם את
createsuperuser.
פריסת האפליקציה ב-GKE
כשפורסים את האפליקציה ב- Google Cloud, היא משתמשת בשרת Gunicorn. Gunicorn לא מציג תוכן סטטי, ולכן האפליקציה משתמשת ב-Cloud Storage כדי להציג תוכן סטטי.
איסוף והעלאה של משאבים סטטיים
יצירת קטגוריה של Cloud Storage והפיכתה לקריאה באופן ציבורי.
gcloud storage buckets create gs://PROJECT_ID_MEDIA_BUCKET gcloud storage buckets add-iam-policy-binding gs://PROJECT_ID_MEDIA_BUCKET --member=allUsers --role=roles/storage.legacyObjectReaderאוספים את כל התוכן הסטטי באופן מקומי בתיקייה אחת:
python manage.py collectstaticמעלים את התוכן הסטטי ל-Cloud Storage:
gcloud storage rsync ./static gs://PROJECT_ID_MEDIA_BUCKET/static --recursiveב-
mysite/settings.py, מגדירים את הערך שלSTATIC_URLלכתובת ה-URL הבאה, ומחליפים את[YOUR_GCS_BUCKET]בשם הקטגוריה:http://storage.googleapis.com/PROJECT_ID_MEDIA_BUCKET/static/
הגדרת GKE
כדי להפעיל את GKE, נכנסים לדף Clusters.
בפעם הראשונה שמשתמשים ב-GKE בפרויקט, צריך להמתין עד שההודעה "Kubernetes Engine is getting ready. הפעולה הזו תימשך דקה או יותר".
-
gcloud container clusters create polls \ --scopes "https://www.googleapis.com/auth/userinfo.email","cloud-platform" \ --num-nodes 4 --zone "us-central1-a"אם מופיעה הודעת שגיאה כמו
Project is not fully initialized with the default service accounts, יכול להיות שצריך להפעיל את Google Kubernetes Engine.הפעלה של GKE
אם קיבלתם הודעת שגיאה, עברו למסוף Google Cloud כדי להפעיל את GKE בפרויקט.
מחכים עד שההודעה "Kubernetes Engine is getting ready. הפעולה הזו תימשך דקה או יותר".
אחרי שיוצרים את האשכול, משתמשים בכלי שורת הפקודה
kubectlשמשולב ב-ה-CLI של gcloud כדי לבצע פעולות באשכול GKE. מכיוון ש-gcloudו-kubectlהם כלים נפרדים, חשוב לוודא ש-kubectlמוגדר לאינטראקציה עם האשכול הנכון.gcloud container clusters get-credentials polls --zone "us-central1-a"
הגדרת Cloud SQL
כדי לאפשר לאפליקציית GKE להתחבר למכונה של Cloud SQL, צריך כמה סודות. אחד נדרש לגישה ברמת המכונה (חיבור), והשניים האחרים נדרשים לגישה למסד הנתונים. למידע נוסף על שתי הרמות של בקרת הגישה, קראו את המאמר בקרת גישה למכונות.
כדי ליצור את הסוד לגישה ברמת המכונה, צריך לציין את המיקום (
PATH_TO_CREDENTIAL_FILE) של מפתח ה-JSON של חשבון השירות שהורדתם כשיצרתם את חשבון השירות (ראו יצירת חשבון שירות):kubectl create secret generic cloudsql-oauth-credentials \ --from-file=credentials.json=PATH_TO_CREDENTIAL_FILEכדי ליצור את הסודות לגישה למסד הנתונים, משתמשים במסד הנתונים של SQL, בשם המשתמש ובסיסמה שהוגדרו כשיצרתם את שירותי הגיבוי. הגדרת מכונה של Cloud SQL ל-PostgreSQL:
kubectl create secret generic cloudsql \ --from-literal=database=DATABASE_NAME \ --from-literal=username=DATABASE_USERNAME \ --from-literal=password=DATABASE_PASSWORD
אחזור קובץ האימג' הציבורי של Docker לשרת ה-proxy של Cloud SQL.
docker pull b.gcr.io/cloudsql-docker/gce-proxyיוצרים קובץ אימג' של Docker, ומחליפים את
<your-project-id>במזהה הפרויקט.docker build -t gcr.io/PROJECT_ID/polls .מגדירים את Docker כך שישתמש ב-
gcloudככלי עזר לפרטי כניסה, כדי שתוכלו להעביר את קובץ האימג' בדחיפה ל-Container Registry:gcloud auth configure-dockerדוחפים את קובץ האימג' של Docker. מחליפים את
<your-project-id>במזהה הפרויקט.docker push gcr.io/PROJECT_ID/pollsיוצרים את המשאב של GKE:
kubectl create -f polls.yaml
פריסת האפליקציה ב-GKE
אחרי שיוצרים את המשאבים, יש שלושה פודים של polls באשכול.
בודקים את הסטטוס של הפודים:
kubectl get pods
ממתינים כמה דקות עד שהסטטוסים של ה-pods יוצגו כ-Running. אם ה-Pods לא מוכנים או אם אתם רואים הפעלות מחדש, אתם יכולים לקבל את היומנים של Pod מסוים כדי להבין מה הבעיה. [YOUR-POD-ID] הוא חלק מהפלט שמוחזר על ידי הפקודה הקודמת kubectl get pods.
kubectl logs [YOUR_POD_ID]
הפעלת האפליקציה ב- Google Cloud
אחרי שהפודים מוכנים, אפשר לקבל את כתובת ה-IP החיצונית של מאזן העומסים:
kubectl get services polls
שימו לב לכתובת של EXTERNAL-IP, ועברו אל http://[EXTERNAL-IP] בדפדפן כדי לראות את דף הנחיתה של הסקרים ב-Django ולגשת למסוף הניהול.
הבנת הקוד
אפליקציה לדוגמה
האפליקציה לדוגמה של Django נוצרה באמצעות כלי Django רגילים. הפקודות הבאות יוצרות את הפרויקט ואת אפליקציה ליצירת סקרים:
django-admin startproject mysite
python manage.py startapp polls
התצוגות, המודלים והגדרות הניתוב הבסיסיים הועתקו מהמדריך Writing your first Django app (חלק 1 וחלק 2).
הגדרת מסד הנתונים
הקובץ settings.py מכיל את ההגדרות של מסד הנתונים ב-SQL:
הגדרות של פודים ב-Kubernetes
הקובץ polls.yaml מציין שני משאבים ב-Kubernetes. הראשון הוא Service, שמגדיר שם עקבי וכתובת IP פנימית לאפליקציית האינטרנט של Django. השני הוא מאזן עומסים (LB) מסוג HTTP עם כתובת IP חיצונית שפונה לציבור.
השירות מספק שם רשת וכתובת IP, והפודים של GKE מריצים את קוד האפליקציה מאחורי השירות.
הקובץ polls.yaml מציין פריסה שמספקת עדכונים הצהרתיים לפודים של GKE. השירות מפנה תנועה לפריסה על ידי התאמת הבורר של השירות לתווית של הפריסה. במקרה הזה, הסלקטור polls תואם לתווית polls.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים או להשאיר את הפרויקט ולמחוק את המשאבים הנפרדים.
מחיקת הפרויקט
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
מחיקת המשאבים הנפרדים
אם אתם לא רוצים למחוק את הפרויקט, אתם יכולים למחוק את המשאבים הנפרדים.
מוחקים את האשכול ב-Google Kubernetes Engine:
gcloud container clusters delete pollsמוחקים את קובץ האימג' של Docker שהעברתם בדחיפה ל-Container Registry:
gcloud container images delete gcr.io/PROJECT_ID/pollsמוחקים את המכונה של Cloud SQL:
gcloud sql instances delete INSTANCE_NAME