במדריך הזה מוסבר איך אפשר להקטין את העלויות באמצעות פריסה של כלי לשינוי גודל אוטומטי לפי לוח זמנים ב-Google Kubernetes Engine (GKE). סוג כזה של כלי לשינוי גודל אוטומטי משנה את גודל האשכולות בהתאם ללוח זמנים שמבוסס על השעה ביום או על היום בשבוע. כדאי להשתמש בשינוי גודל אוטומטי לפי לוח זמנים אם התנועה שלכם צפויה לעלות ולרדת באופן קבוע – למשל, אם אתם קמעונאים אזוריים, או אם התוכנה שלכם מיועדת לעובדים ששעות העבודה שלהם מוגבלות לחלק מסוים ביום.
המדריך מיועד למפתחים ולמפעילים שרוצים להגדיל את הקיבולת של אשכולות באופן מהימן לפני שיש עלייה פתאומית בביקוש, ולהקטין אותה שוב כדי לחסוך כסף בלילה, בסופי שבוע או בכל זמן אחר שבו יש פחות משתמשים אונליין. הוא מתבסס על ההנחה שאתם מכירים את Docker, Kubernetes, Kubernetes CronJobs, GKE ו-Linux.
מבוא
בהרבה אפליקציות יש דפוסי תנועה לא אחידים. לדוגמה, עובדים בארגון מסוים יכולים להשתמש באפליקציה רק במהלך היום. כתוצאה מכך, השרתים במרכז הנתונים של האפליקציה הזו לא פעילים בלילה.
בנוסף ליתרונות אחרים, Google Cloud יכול לעזור לכם לחסוך כסף על ידי הקצאה דינמית של תשתית בהתאם לעומס התנועה. במקרים מסוימים, הגדרה פשוטה של התאמה אוטומטית לעומס יכולה לפתור את הבעיה של הקצאת משאבים לא אחידה בגלל תנועה לא אחידה. אם זה המקרה שלכם, כדאי להמשיך. עם זאת, במקרים אחרים, שינויים חדים בדפוסי התנועה מחייבים הגדרות מדויקות יותר של שינוי גודל אוטומטי כדי למנוע חוסר יציבות במערכת במהלך הגדלת הקיבולת, וכדי למנוע הקצאת יתר של משאבים באשכול.
ההדרכה הזו מתמקדת בתרחישים שבהם השינויים החדים בדפוסי התנועה מובנים היטב, ואתם רוצים לתת רמזים למנגנון לשינוי גודל אוטומטי לכך שהתשתית שלכם עומדת לחוות עליות חדות. במסמך הזה מוסבר איך להגדיל את גודל האשכולות של GKE בבוקר ולהקטין אותו בלילה, אבל אפשר להשתמש בגישה דומה כדי להגדיל ולהקטין את הקיבולת לאירועים ידועים, כמו אירועים של שיא התנועה, קמפיינים פרסומיים או תנועה בסופי שבוע.
הקטנת הקיבולת של אשכול אם יש לכם הנחות תמורת התחייבות לשימוש
במדריך הזה מוסבר איך לצמצם את העלויות על ידי הקטנת אשכולות GKE למינימום בשעות שבהן העומס נמוך. עם זאת, אם רכשתם הנחה תמורת התחייבות לשימוש (CUD), חשוב להבין איך ההנחות האלה פועלות בשילוב עם התאמה אוטומטית לעומס (automatic scaling).
בחוזים עם התחייבות לשימוש, אתם מקבלים מחירים מוזלים במיוחד כשאתם מתחייבים לשלם על כמות מוגדרת של משאבים (מעבדי vCPU, זיכרון ועוד). עם זאת, כדי לקבוע את כמות המשאבים שצריך להתחייב להם, צריך לדעת מראש כמה משאבים עומסי העבודה שלכם צורכים לאורך זמן. כדי לעזור לכם לצמצם את העלויות, בתרשים הבא מוסבר אילו משאבים כדאי לכלול בתכנון ואילו לא.
כפי שרואים בתרשים, הקצאת המשאבים במסגרת חוזה התחייבות לשימוש היא קבועה. כדי שההתחייבות שלכם תהיה משתלמת, אתם צריכים להשתמש במשאבים שמכוסים בחוזה רוב הזמן. לכן, כשמחשבים את המשאבים המוקצים, לא כדאי לכלול משאבים שמשמשים אתכם בזמן שיאי השימוש. לגבי משאבים עם שיאים, מומלץ להשתמש באפשרויות של שינוי גודל אוטומטי ב-GKE. האפשרויות האלה כוללות את הכלי לשינוי גודל אוטומטי לפי לוח זמנים שמוסבר במאמר הזה, או אפשרויות מנוהלות אחרות שמוסברות במאמר שיטות מומלצות להרצה של אפליקציות Kubernetes שעברו אופטימיזציה לעלויות ב-GKE.
אם כבר יש לכם חוזה לשימוש בהתחייבות בכמות מסוימת של משאבים, לא תוכלו להקטין את העלויות על ידי הקטנת האשכול מתחת למינימום הזה. במקרים כאלה, מומלץ לנסות לתזמן משימות מסוימות כדי למלא את הפערים בתקופות שבהן הביקוש למשאבי מחשוב נמוך.
ארכיטקטורה
בתרשים הבא מוצגת הארכיטקטורה של התשתית והקנה מידה האוטומטי המתוזמן שפורסים במדריך הזה. המידרוג האוטומטי המתוזמן מורכב ממערכת של רכיבים שפועלים יחד כדי לנהל את המידרוג לפי לוח זמנים.
בארכיטקטורה הזו, קבוצה של CronJobs ב-Kubernetes מייצאת מידע מוכר על דפוסי תנועה אל מדד בהתאמה אישית ב-Cloud Monitoring. לאחר מכן, נתוני ה-CPU נקראים על ידי Horizontal Pod Autoscaler (HPA) של Kubernetes כקלט להחלטה מתי ה-HPA צריך לשנות את גודל עומס העבודה. יחד עם מדדי טעינה אחרים, כמו ניצול יעד של CPU, HPA מחליט איך לשנות את גודל הרפליקות עבור פריסה נתונה.
מטרות
- יוצרים אשכול GKE.
- פריסת אפליקציה לדוגמה שמשתמשת ב-HPA של Kubernetes.
- מגדירים את הרכיבים של קנה המידה האוטומטי המתוזמן ומעדכנים את ה-HPA כדי לקרוא ממדד מותאם אישית מתוזמן.
- מגדירים התראה שתופעל אם הכלי לשינוי גודל קבוצת המכונות לפי תזמון לא פועל כמו שצריך.
- יוצרים עומס על האפליקציה.
- בודקים איך ה-HPA מגיב לעליות רגילות בנפח התנועה ולמדדים המותאמים אישית המתוזמנים שאתם מגדירים.
הקוד של המדריך הזה נמצא במאגר GitHub.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של 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 GKE, Artifact Registry and the Cloud Monitoring APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
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 GKE, Artifact Registry and the Cloud Monitoring APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
הכנת הסביבה
במסוף Google Cloud , מפעילים את Cloud Shell.
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
ב-Cloud Shell, מגדירים את מזהה הפרויקט ב- Google Cloud , את כתובת האימייל ואת האזור והאזור הזמין של המחשוב:
PROJECT_ID=YOUR_PROJECT_ID ALERT_EMAIL=YOUR_EMAIL_ADDRESS gcloud config set project $PROJECT_ID gcloud config set compute/region us-central1 gcloud config set compute/zone us-central1-fמחליפים את מה שכתוב בשדות הבאים:
-
YOUR_PROJECT_ID: שם הפרויקט ב- Google Cloud שבו אתם משתמשים. -
YOUR_EMAIL_ADDRESS: כתובת אימייל לקבלת הודעה אם שינוי הגודל האוטומטי המתוזמן לא פועל כמו שצריך.
אם רוצים, אפשר לבחור אזור ותחום אחרים למדריך הזה.
-
משכפלים את
kubernetes-engine-samplesהמאגר ב-GitHub:git clone https://github.com/GoogleCloudPlatform/kubernetes-engine-samples/ cd kubernetes-engine-samples/cost-optimization/gke-scheduled-autoscalerהקוד בדוגמה הזו בנוי מהתיקיות הבאות:
- Root: מכיל את הקוד שמשמש את CronJobs לייצוא מדדים מותאמים אישית ל-Cloud Monitoring.
-
k8s/: מכיל דוגמה לפריסה עם HPA של Kubernetes. -
k8s/scheduled-autoscaler/: מכיל את משימות ה-Cron שיוצאות מדד מותאם אישית וגרסה מעודכנת של HPA לקריאה ממדד מותאם אישית. -
k8s/load-generator/: מכיל פריסת Kubernetes עם אפליקציה שמדמה שימוש שעתי. פריסה היא אובייקט Kubernetes API שמאפשר להפעיל כמה רפליקות של Pods שמפוזרות בין הצמתים באשכול. -
monitoring/: מכיל את רכיבי Cloud Monitoring שמוגדרים במדריך הזה.
יצירת אשכול GKE
ב-Cloud Shell, יוצרים אשכול GKE להרצת קנה המידה האוטומטי המתוזמן:
gcloud container clusters create scheduled-autoscaler \ --enable-ip-alias \ --release-channel=stable \ --machine-type=e2-standard-2 \ --enable-autoscaling --min-nodes=1 --max-nodes=10 \ --num-nodes=1 \ --autoscaling-profile=optimize-utilizationהפלט אמור להיראות כך:
NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS scheduled-autoscaler us-central1-f 1.22.15-gke.100 34.69.187.253 e2-standard-2 1.22.15-gke.100 1 RUNNINGזו לא הגדרה של סביבת ייצור, אבל היא מתאימה למדריך הזה. בהגדרה הזו, מגדירים את הכלי להתאמה אוטומטית של אשכולות עם מינימום של 1 צומת ומקסימום של 10 צמתים. כדאי גם להפעיל את פרופיל
optimize-utilizationכדי לזרז את תהליך ההקטנה.
פריסת האפליקציה לדוגמה
פריסת האפליקציה לדוגמה ללא קנה מידה אוטומטי מתוזמן:
kubectl apply -f ./k8sפותחים את הקובץ
k8s/hpa-example.yaml.התוכן של הקובץ מוצג ברשימה הבאה.
שימו לב שמספר העותקים המינימלי (
minReplicas) מוגדר ל-10. ההגדרה הזו קובעת גם את קנה המידה של האשכול על סמך ניצול המעבד (ההגדרותname: cpuו-type: Utilization).ממתינים עד שהאפליקציה תהיה זמינה:
kubectl wait --for=condition=available --timeout=600s deployment/php-apache EXTERNAL_IP='' while [ -z $EXTERNAL_IP ] do EXTERNAL_IP=$(kubectl get svc php-apache -o jsonpath={.status.loadBalancer.ingress[0].ip}) [ -z $EXTERNAL_IP ] && sleep 10 done curl -w '\n' http://$EXTERNAL_IPכשהאפליקציה זמינה, הפלט אמור להיראות כך:
OK!בודקים את ההגדרות:
kubectl get hpa php-apacheהפלט אמור להיראות כך:
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE php-apache Deployment/php-apache 9%/60% 10 20 10 6d19hבעמודה
REPLICASמוצג הערך10, שזהה לערך בשדהminReplicasבקובץhpa-example.yaml.בודקים אם מספר הצמתים גדל ל-4:
kubectl get nodesהפלט אמור להיראות כך:
NAME STATUS ROLES AGE VERSION gke-scheduled-autoscaler-default-pool-64c02c0b-9kbt Ready <none> 21S v1.17.9-gke.1504 gke-scheduled-autoscaler-default-pool-64c02c0b-ghfr Ready <none> 21s v1.17.9-gke.1504 gke-scheduled-autoscaler-default-pool-64c02c0b-gvl9 Ready <none> 21s v1.17.9-gke.1504 gke-scheduled-autoscaler-default-pool-64c02c0b-t9sr Ready <none> 21s v1.17.9-gke.1504כשיוצרים את האשכול, מגדירים תצורה מינימלית באמצעות הדגל
min-nodes=1. עם זאת, האפליקציה שפרסתם בתחילת התהליך הזה מבקשת עוד תשתית כי הערךminReplicasבקובץhpa-example.yamlמוגדר כ-10.הגדרה של
minReplicasלערך כמו 10 היא אסטרטגיה נפוצה בקרב חברות כמו קמעונאים, שמצפות לעלייה פתאומית בתנועה בשעות הראשונות של יום העסקים. עם זאת, אם מגדירים ערכים גבוהים ל-HPAminReplicas, העלויות עלולות לעלות כי אי אפשר לצמצם את האשכול, גם לא בלילה כשתנועת האפליקציות נמוכה.
הגדרת שינוי גודל אוטומטי מתוזמן
ב-Cloud Shell, מתקינים את המתאם Custom Metrics - Cloud Monitoring באשכול GKE:
kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/k8s-stackdriver/master/custom-metrics-stackdriver-adapter/deploy/production/adapter_new_resource_model.yaml kubectl wait --for=condition=available --timeout=600s deployment/custom-metrics-stackdriver-adapter -n custom-metricsהמתאם הזה מאפשר התאמה אוטומטית לעומס של Pod על סמך מדדים מותאמים אישית של Cloud Monitoring.
יוצרים מאגר ב-Artifact Registry ומעניקים הרשאות קריאה:
gcloud artifacts repositories create gke-scheduled-autoscaler \ --repository-format=docker --location=us-central1 gcloud auth configure-docker us-central1-docker.pkg.dev gcloud artifacts repositories add-iam-policy-binding gke-scheduled-autoscaler \ --location=us-central1 --member=allUsers --role=roles/artifactregistry.readerבונים את הקוד של כלי הייצוא של מדדים מותאמים אישית ומעבירים אותו:
docker build -t us-central1-docker.pkg.dev/$PROJECT_ID/gke-scheduled-autoscaler/custom-metric-exporter . docker push us-central1-docker.pkg.dev/$PROJECT_ID/gke-scheduled-autoscaler/custom-metric-exporterפורסים את משימות ה-Cron שמייצאות מדדים מותאמים אישית, ופורסים את הגרסה המעודכנת של ה-HPA שקוראת מהמדדים המותאמים אישית האלה:
sed -i.bak s/PROJECT_ID/$PROJECT_ID/g ./k8s/scheduled-autoscaler/scheduled-autoscale-example.yaml kubectl apply -f ./k8s/scheduled-autoscalerפותחים את הקובץ
k8s/scheduled-autoscaler/scheduled-autoscale-example.yamlובודקים אותו.התוכן של הקובץ מוצג ברשימה הבאה.
ההגדרה הזו מציינת שמשימות ה-Cron צריכות לייצא את מספר העותקים המוצע של ה-Pod למדד מותאם אישית בשם
custom.googleapis.com/scheduled_autoscaler_exampleעל סמך השעה ביום. כדי להקל על המעקב בחלק הזה של המדריך, הגדרת השדה schedule מגדירה הגדלה והקטנה של הקיבולת לפי שעה. בסביבת ייצור, אפשר להתאים אישית את לוח הזמנים הזה בהתאם לצרכים העסקיים שלכם.פותחים את הקובץ
k8s/scheduled-autoscaler/hpa-example.yamlובודקים אותו.ברשימה הבאה מוצג התוכן של הקובץ.
ההגדרה הזו מציינת שאובייקט ה-HPA צריך להחליף את ה-HPA שנפרס קודם. שימו לב שההגדרה הזו מקטינה את הערך ב-
minReplicasל-1. כלומר, אפשר לצמצם את עומס העבודה למינימום. בנוסף, ההגדרה מוסיפה מדד חיצוני (type: External). המשמעות היא שהתאמה אוטומטית לעומס מופעלת עכשיו על ידי שני גורמים.בתרחיש הזה של כמה מדדים, ה-HPA מחשב מספר רפליקות מוצע לכל מדד, ואז בוחר את המדד שמחזיר את הערך הכי גבוה. חשוב להבין את זה – הסקיילר האוטומטי המתוזמן יכול להציע שבנקודת זמן מסוימת מספר ה-Pod יהיה 1. אבל אם ניצול ה-CPU בפועל גבוה מהצפוי עבור Pod אחד, ה-HPA יוצר עוד רפליקות.
כדי לבדוק שוב את מספר הצמתים והעותקים של HPA, מריצים שוב כל אחת מהפקודות הבאות:
kubectl get nodes kubectl get hpa php-apacheהפלט שיוצג תלוי בפעולות האחרונות של הכלי האוטומטי לשינוי גודל הקבוצה המנוהלת – במיוחד, הערכים של
minReplicasושלnodesיהיו שונים בנקודות שונות במחזור שינוי הגודל.לדוגמה, בערך בדקות 51 עד 60 של כל שעה (שמייצגות תקופה של שיא תנועה), ערך ה-HPA של
minReplicasיהיה 10 והערך שלnodesיהיה 4.לעומת זאת, בדקות 1 עד 50 (שמייצגות תקופה של תנועה נמוכה יותר), הערך של HPA
minReplicasיהיה 1 והערך שלnodesיהיה 1 או 2, בהתאם למספר ה-Pods שהוקצו והוסרו. במקרה של ערכים נמוכים יותר (דקה 1 עד 50), יכול להיות שיחלפו עד 10 דקות עד שההקטנה של האשכול תושלם.
הגדרת התראות למקרים שבהם המידרוג האוטומטי המתוזמן לא פועל כמו שצריך
בסביבת ייצור, בדרך כלל רוצים לדעת מתי משימות Cron לא מאכלסות את המדד המותאם אישית. לשם כך, אפשר ליצור התראה שמופעלת כשאין נתונים מכל אחד מזרמי custom.googleapis.com/scheduled_autoscaler_example במשך חמש דקות.
ב-Cloud Shell, יוצרים ערוץ התראות:
gcloud beta monitoring channels create \ --display-name="Scheduled Autoscaler team (Primary)" \ --description="Primary contact method for the Scheduled Autoscaler team lead" \ --type=email \ --channel-labels=email_address=${ALERT_EMAIL}הפלט אמור להיראות כך:
Created notification channel NOTIFICATION_CHANNEL_ID.הפקודה הזו יוצרת ערוץ התראות מסוג
emailכדי לפשט את השלבים במדריך. בסביבות ייצור, מומלץ להשתמש באסטרטגיה פחות אסינכרונית על ידי הגדרת ערוץ ההתראות לערךsmsאוpagerduty.מגדירים משתנה עם הערך שהוצג במחזיק המקום
NOTIFICATION_CHANNEL_ID:NOTIFICATION_CHANNEL_ID=NOTIFICATION_CHANNEL_IDפריסת מדיניות ההתראות:
gcloud monitoring policies create \ --policy-from-file=./monitoring/alert-policy.yaml \ --notification-channels=$NOTIFICATION_CHANNEL_IDהקובץ
alert-policy.yamlמכיל את המפרט לשליחת התראה אם המדד לא מופיע אחרי חמש דקות.כדי לראות את מדיניות ההתראות, עוברים לדף התראות ב-Cloud Monitoring.
לוחצים על Scheduled Autoscaler Policy (מדיניות של שינוי גודל אוטומטי מתוזמן) ומאמתים את הפרטים של מדיניות ההתראות.
יצירת עומס באפליקציה לדוגמה
ב-Cloud Shell, פורסים את מחולל העומסים:
kubectl apply -f ./k8s/load-generatorבקטע הקוד הבא מוצג הסקריפט
load-generator:command: ["/bin/sh", "-c"] args: - while true; do RESP=$(wget -q -O- http://php-apache.default.svc.cluster.local); echo "$(date +%H)=$RESP"; sleep $(date +%H | awk '{ print "s("$0"/3*a(1))*0.5+0.5" }' | bc -l); done;הסקריפט הזה פועל באשכול עד שמוחקים את הפריסה
load-generatordeployment. הוא שולח בקשות לשירותphp-apacheכל כמה אלפיות השנייה. הפקודהsleepמדמה שינויים בחלוקת העומס במהלך היום. באמצעות סקריפט שיוצר תנועה באופן הזה, אפשר להבין מה קורה כשמשלבים בין ניצול CPU לבין מדדים מותאמים אישית בהגדרת ה-HPA.
המחשה של שינוי הגודל בתגובה לתנועה או למדדים מתוזמנים
בקטע הזה תוכלו לעיין בהדמיות שמציגות את ההשפעות של הגדלת המשאבים והקטנת המשאבים.
יוצרים מרכז בקרה חדש ב-Cloud Shell:
gcloud monitoring dashboards create \ --config-from-file=./monitoring/dashboard.yamlנכנסים לדף Dashboards ב-Cloud Monitoring:
לוחצים על Scheduled Autoscaler Dashboard (לוח הבקרה של Scheduled Autoscaler).
בלוח הבקרה מוצגים שלושה גרפים. צריך להמתין לפחות שעתיים (מומלץ להמתין 24 שעות או יותר) כדי לראות את הדינמיקה של הרחבה אנכית וצמצום אנכי, ולראות איך חלוקת עומס שונה במהלך היום משפיעה על התאמה אוטומטית לעומס.
כדי להבין מה מוצג בתרשימים, אפשר לעיין בתרשימים הבאים, שבהם מוצג מבט על יום שלם:
מדד מתוזמן (מספר הפודים הרצוי) מציג סדרת זמנים של המדד המותאם אישית שמיוצא ל-Cloud Monitoring באמצעות CronJobs שהגדרתם במאמר הגדרת קנה מידה אוטומטי מתוזמן.
ניצול יחידת העיבוד המרכזית (CPU) (נדרש לעומת בשימוש) מציג סדרת זמן של יחידת העיבוד המרכזית (CPU) הנדרשת (אדום) וניצול יחידת העיבוד המרכזית (CPU) בפועל (כחול). כשהעומס נמוך, ה-HPA מכבד את החלטת הניצול של קנה המידה האוטומטי המתוזמן. עם זאת, כשהתנועה גדלה, ה-HPA מגדיל את מספר ה-Pods לפי הצורך, כמו שאפשר לראות בנקודות הנתונים בין 12:00 ל-18:00.
מספר ה-Pods (מתוכנן לעומת בפועל) + ממוצע השימוש במעבד מציג תצוגה שדומה לתצוגות הקודמות. מספר התרמילים (באדום) עולה ל-10 בכל שעה לפי התזמון (בכחול). מספר הפודים עולה ויורד באופן טבעי לאורך זמן בתגובה לעומס (12:00 ו-18:00). ממוצע השימוש במעבד (בכתום) נשאר מתחת ליעד שהגדרתם (60%).
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת הפרויקט
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
המאמרים הבאים
- מידע נוסף על אופטימיזציה של עלויות ב-GKE זמין במאמר שיטות מומלצות להרצה של אפליקציות Kubernetes שעברו אופטימיזציה של עלויות ב-GKE.
- המלצות לעיצוב ושיטות מומלצות לאופטימיזציה של עלויותGoogle Cloud עומסי עבודה מפורטות במאמר Google Cloud Well-Architected Framework: Cost optimization.
- כדאי להעמיק את הקריאה ולהכיר דוגמאות לארכיטקטורות, תרשימים ושיטות מומלצות בנושאי Google Cloud. כל אלה זמינים במרכז הארכיטקטורה של Cloud.