בדף הזה מפורטים טיפים שיכולים לעזור לכם כשאתם משתמשים בכלי שורת הפקודה gcloudלניהול משאבי Compute Engine. כדי לראות רשימה מלאה של כל הדגלים והפקודות הזמינים של gcloud compute, אפשר להשתמש בעזרה המובנית של הפקודה (--help), במסמכי העזר שפורסמו או במסמכי הליבה של gcloud.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
-
התקינו את ה-CLI של Google Cloud. אחר כך, מאתחלים את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
- הגדרת אזור ותחום כברירת מחדל
-
אחזור מידע על משאבים
אפשר לאחזר מידע על משאבי Compute Engine בשתי דרכים: באמצעות הפקודה list כדי להחזיר רשימה של משאבים, ובאמצעות הפקודה describe כדי להחזיר פרטים על משאב ספציפי אחד.
אחזור משאבים באמצעות פקודות list
הפקודות של list נועדו להחזיר טבלה קריאה לאנשים של הנתונים הכי רלוונטיים למשאבים המבוקשים. אפשר לסנן את התוצאות כדי לקבל רשימה קצרה יותר עם תוצאות רלוונטיות יותר.
- סינון שמות באמצעות ביטויים רגולריים
- אפשר להשתמש בתחביר RE2 כדי להתאים לשמות של משאבים (לדוגמה, שמות של מכונות או דיסקים). אפשר לעיין בפקודה
gcloud compute instances list. - דגלי פקודות
--limitהמספר המקסימלי של תוצאות שיוחזרו. הדגל הזה שימושי במיוחד כשמשתמשים בו עם הדגל
--sort-by, כמו שמתואר בקטע אחזור משאבים באמצעות פקודות describe.--sort-by SORT_BYשדה למיון, אם רלוונטי. כדי למיין בסדר יורד, מוסיפים טילדה ("~") בתחילת הערך. הדגל הזה משתלב עם דגלים אחרים,בסדר הזה:
--flatten, --sort-by, --filterו---limit.
אחזור משאבים באמצעות פקודות describe
הפקודות של describe נועדו להציג נתונים על משאב אחד. צריך לציין את שם המשאב בפקודה describe. אם אתם לא זוכרים את שם המשאב, אתם יכולים להריץ פקודת list כדי לקבל רשימה של משאבים. לדוגמה, שתי הפקודות הבאות ממחישות תרחיש שבו אפשר להציג רשימה של תמונות כדי לקבל את שם התמונה ואת הפרויקט שמשויך אליה, וכך לספק אותם כקלט לפקודה describe:
gcloud compute images list
NAME PROJECT FAMILY DEPRECATED STATUS ... centos-7-v20170620 centos-cloud centos-7 READY ... debian-9-stretch-v20170619 debian-cloud debian-9 READY ...
gcloud compute images describe debian-9-stretch-v20170619 --project debian-cloud
פורמט הפלט שמוגדר כברירת מחדל בפקודות describe הוא YAML, אבל אפשר להשתמש בדגל --format כדי לבחור בין פורמטים של פלט JSON, YAML וטקסט.
פלט בפורמט JSON יכול להיות שימושי אם אתם מנתחים את הפלט, בעוד שבפלט בפורמט טקסט כל מאפיין מופיע בשורה נפרדת.
gcloud compute regions describe us-central1 --format json
{
"creationTimestamp": "2013-09-06T10:36:54.847-07:00",
"description": "us-central1",
"id": "6837843067389011605",
"kind": "compute#region",
"name": "us-central1",
...
"status": "UP",
"zones": [
"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a",
"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b",
"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f"
]
}דוגמאות
דוגמאות לפקודות list
כשמציגים את רשימת המשאבים, מקבלים טבלה קריאה של נתוני סיכום. לדוגמה, כדי להחזיר נתוני סיכום על מכונות בפרויקט, משתמשים בפקודה instances list:
gcloud compute instances list
NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS example-instance asia-east1-b e2-standard-2 10.240.95.199 107.167.182.44 RUNNING example-instance2 us-central1-a e2-standard-2 10.240.173.254 23.251.148.121 RUNNING test-instance us-central1-a e2-standard-2 10.240.118.207 23.251.153.172 RUNNING
אפשר לסנן תוצאות של פקודות list באמצעות ביטויים רגולריים, על ידי הוספת הדגל --filter עם אופרטור key ~ value. לדוגמה, כדי לסנן את רשימת המכונות כך שיכללו רק את המכונות שכוללות את המילה test בשם המכונה:
gcloud compute instances list --filter="name ~ .*test.*"
NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS test-instance us-central1-a e2-standard-2 10.240.118.207 23.251.153.172 RUNNING
כדי להחזיר רשימה של פעולות באזור עם status של DONE בלי httpStatus של 200, צריך להחיל מסנן zone על פקודה operations list ואז grep את התוצאות:
gcloud compute operations list --filter="zone:(us-central1-a)" | grep DONE | grep -v 200
NAME HTTP_STATUS TYPE TARGET STATUS operation-1397752585735-4f73fa25b4b58-f0920fd5-254d709f 400 delete us-central1-a/disks/example-instance DONE operation-1398357613036-4f7cc80cb41e0-765bcba6-34bbd040 409 insert us-central1-a/instances/i-1 DONE operation-1398615481237-4f8088aefbe08-cc300dfa-2ce113cf 409 insert us-central1-a/instances/i-2 DONE
כדי לקבל רשימה של הדיסקים ב-us-central1-a, ממוינים בסדר יורד לפי שם (--sort-by ~NAME), משתמשים בפקודה disks list:
gcloud compute disks list --sort-by ~NAME --filter="zone:(us-central1-a)"
בתרחישים מסוימים, יכול להיות שתרצו לקבל את ה-URI המלא של הקישור ל
משאב, למשל בבקשות שבהן אתם מעבירים את הפלט מlist
פקודה אחת לפקודה אחרת או לאפליקציה אחרת שמקבלת רשימה של קישורי משאבים.
כדי להציג קישורי משאבים מלאים של URI, משתמשים בדגל --uri עם הפקודה list.
gcloud compute instances list --uri --filter="name~'^example-.*'"
https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance1 https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance2
כדי להשתמש בפלט הפקודה הקודמת list בתוך פקודה שמוחקת מופעים, משתמשים בפקודה:
gcloud compute instances delete $(gcloud compute instances list --uri --filter="name~'^example-.*'")
דוגמאות לפקודות של describe
כדי לקבל פרטים על מכונה אחת בלבד, מציינים את המכונה, כולל האזור.
לדוגמה, כדי לקבל מידע על מופע בשם example-instance באזור asia-east1-b, אפשר להשתמש בפקודה instances describe:
gcloud compute instances describe example-instance --zone asia-east1-b
כברירת מחדל, הפקודה מחזירה פלט YAML. כדי לשנות את הפלט ל-JSON או לטקסט (מאפיין אחד בכל שורה), משתמשים בדגל --format. לדוגמה, כדי לקבל פלט טקסט לאותו מופע, משתמשים ב:
gcloud compute instances describe example-instance --zone asia-east1-b --format text
--- canIpForward: False creationTimestamp: 2014-04-19T06:43:04.087-07:00 disks[0].autoDelete: False disks[0].boot: True disks[0].deviceName: example-instance ...
כדי לקבל פרטים על פעולה ספציפית, משתמשים בפקודה operations list כדי למצוא את ה-URI המלא של הפעולה:
gcloud compute operations list --filter="zone:(us-central1-a)"
NAME TYPE TARGET HTTP_STATUS STATUS operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 delete us-central1-a/instances/example-instance 200 DONE operation-1406155180632-4fee4040a67c1-bf581ed8-ab5af2b8 delete us-central1-a/instances/example-instance-2 200 DONE ...
אחר כך משתמשים ב-URI בפקודה operations describe:
gcloud compute operations describe \
operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 --zone us-central1-a
endTime: '2014-07-23T15:40:02.463-07:00' id: '31755455923038965' insertTime: '2014-07-23T15:39:25.910-07:00' kind: compute#operation name: operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 operationType: delete progress: 100 ...
הפקודה הבאה מקבלת את הגדרות המופע בפורמט JSON (--format json).
gcloud compute instances describe example-instance \
--zone us-central1-a
--format json
{
...
"name": "example-instance",
"networkInterfaces": [
{
"accessConfigs": [
{
"kind": "compute#accessConfig",
"name": "external-nat",
"natIP": "107.167.187.66",
"type": "ONE_TO_ONE_NAT"
}
],
"name": "nic0",
"network": "https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default",
"networkIP": "10.240.111.51"
}
],
...
"status": "RUNNING"
...
}איך בודקים לאיזה משתמש יש הרשאה
כדי לגלות לאיזה חשבון יש לכם הרשאה, משתמשים בפקודה הבאה:
gcloud auth list
ביטול טוקן רענון
כדי לבטל את פרטי הכניסה של חשבון במכונה שבה אתם משתמשים ב-Google Cloud CLI, משתמשים בפקודה:
gcloud auth revoke
הפעולה הזו תאלץ אתכם לבצע אימות מחדש באמצעות gcloud init.
אפשר גם לבטל את ההרשאה שניתנה ל-CLI של gcloud לגשת למשאבים שלכם. לדוגמה, אם אסימוני הרענון נחשפו. כדי לבטל הרשאה ל-CLI של gcloud:
- מתחברים לדף חשבון Google.
- לוחצים על אבטחה ואז על הצגת הכול בקטע הרשאות לחשבון.
- בוחרים באפשרות Google Cloud SDK ולוחצים על ביטול הגישה.
הפעלה מחדש של מכונה
כדי לאפס מכונה בשם "example-instance" באזור "us-central1-a", משתמשים בפקודה instances reset:
gcloud compute instances reset example-instance --zone us-central1-a
מידע על ההשלכות של איפוס מופיע במאמר בנושא איפוס מופע.