התקנה של כלי ענן ל-PowerShell ושימוש בהם

1. סקירה כללית

PowerShell הוא מעטפת שורת פקודה ושפת סקריפטים קשורה שמבוססת על .NET Framework. זהו כלי ברירת המחדל לאוטומציה של משימות ולניהול הגדרות שמשמש בעולם Windows. ‫PowerShell cmdlet היא פקודה קלה להפעלה ב-PowerShell.

Cloud Tools for PowerShell הוא אוסף של פקודות cmdlet לגישה למשאבי Google Cloud ולביצוע מניפולציות בהם, כמו Google Compute Engine,‏ Google Cloud Storage,‏ Google Cloud SQL ו-Google Cloud DNS – ועוד יגיעו בהמשך!

בשיעור ה-Lab הזה תלמדו איך ליצור אינטראקציה עם משאבים של Google Cloud מ-PowerShell.

מה תלמדו

  • איך מתקינים את Cloud Tools for PowerShell
  • איך מבצעים אימות באמצעות ה-SDK של Google Cloud.
  • איך ליצור ולנהל את Google Compute Engine מ-PowerShell.
  • איך מגבים נתונים ל-Google Cloud Storage מ-PowerShell.

הדרישות

  • פרויקט ב-Google Cloud Platform.
  • דפדפן, כמו Chrome או Firefox.
  • מחשב Windows.

איך תשתמשו במדריך הזה?

רק לקרוא לקרוא ולבצע את התרגילים

איזה דירוג מגיע לדעתך לחוויה שלך עם Google Cloud Platform?

מתחילים ביניים מומחים

‫2. הגדרה ודרישות

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

הגדרת סביבה בקצב אישי

אם עדיין אין לכם חשבון Google (Gmail או G Suite), אתם צריכים ליצור חשבון. נכנסים למסוף Google Cloud ‏ ( console.cloud.google.com) ויוצרים פרויקט חדש:

aa2b71cbc7c28c59.png

60b154eb0fd9569a.png

חשוב לזכור את מזהה הפרויקט, שהוא שם ייחודי בכל הפרויקטים ב-Google Cloud Platform. בהמשך ה-codelab הזה נתייחס אליו כאל PROJECT_ID.

לאחר מכן, תצטרכו להפעיל את החיוב ב-Google Cloud Console כדי להשתמש במשאבים של Google Cloud Platform כמו Google Cloud Datastore ו-Cloud Storage.

משתמשים חדשים ב-Google Cloud Platform זכאים לתקופת ניסיון בחינם בשווי 300$. העלות של ה-Codelab הזה לא אמורה להיות גבוהה מכמה דולרים, אבל היא יכולה להיות גבוהה יותר אם תחליטו להשתמש ביותר משאבים או אם תשאירו אותם פועלים (ראו את הקטע 'ניקוי נתונים' בסוף מאמרי העזרה האלה).

‫3. התקנה

התקנת סביבה בקצב אישי

פקודות ה-cmdlet של PowerShell הן חלק מ-Cloud SDK ל-Windows. אם עדיין לא עשיתם זאת, מורידים ומתקינים את Google Cloud SDK ל-Windows, כמו שמתואר במדריך למתחילים ל-Windows. מוודאים שסימנתם את האפשרות PowerShell כשמתקינים את Cloud SDK.

d6df1af5b5b08e41.png

4. אימות

‫Cloud Tools for PowerShell משתמש בפרטי הכניסה ובהגדרות שמאוחסנים ב-Cloud SDK. לכן, כדי להתחיל להשתמש בפקודות ה-cmdlet, קודם צריך להיכנס באמצעות Cloud SDK.

אימות בסביבה בקצב עצמי

מפעילים את Google Cloud SDK Shell ומריצים את הפקודה הבאה.

gcloud init

מאשרים את האפשרות להתחבר באמצעות חשבון המשתמש האישי שלכם ב-Google.

To continue, you must log in. Would you like to log in (Y/n)? Y

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

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

Pick a cloud project to use:
[1] [my-project-1]
[2] [my-project-2]
...
Please enter your numeric choice:

5. הפעלת קובצי cmdlet של Google Cloud בתוך PowerShell

אחרי האימות, אפשר להשתמש בפקודות ה-cmdlet של Google Cloud ב-PowerShell. מחפשים ופותחים את PowerShell command-line shell.

66b0c5d9b1cd7c68.png

כדי לוודא שפקודות ה-cmdlet של Google Cloud מותקנות בצורה תקינה, מריצים את Get-GceInstance cmdlet. הרשימה צריכה לכלול את מכונות Compute Engine שיש לכם בפרויקט.

3ffd420f66f76b06.png

6. יצירה וניהול של מכונות ב-Google Compute Engine

בקטע הזה, יוצרים ומנהלים את Google Compute Engine מתוך Google Cloud Tools for PowerShell.

יצירת הגדרת מכונה

לפני שיוצרים מכונה, צריך קודם ליצור הגדרת מכונה. לפחות צריך לציין שם, סוג מכונה ותמונת דיסק אתחול או דיסק אתחול קיים. משתמשים ב-Get-GceImage כדי ליצור קובץ אימג' של דיסק וב-New-GceInstanceConfig כדי ליצור הגדרה.

$disk = Get-GceImage "windows-cloud" -Family "windows-2012-r2"
$config = New-GceInstanceConfig "my-vm-1" `
    -MachineType "n1-standard-4" `
    -DiskImage $disk

בשלב הזה, יש לכם הגדרה שתוכלו להשתמש בה כדי ליצור מופע.

יצירת מופע

משתמשים בפקודת ה-cmdlet‏ Add-GceInstance כדי ליצור מכונה חדשה של Compute Engine. אפשר לציין פרויקט ואזור, אבל אם לא מציינים, ערכי הפרמטרים הם ברירת המחדל שמוגדרת כרגע ב-Cloud SDK. אם מציינים פרויקט, צריך להחליף את PROJECT_ID במזהה הפרויקט שלכם.

$config | Add-GceInstance -Project PROJECT_ID -Zone europe-west1-b

ניהול מופע

אפשר להשתמש בפקודת ה-cmdlet‏ Get-GceInstance כדי לאחזר את המכונות הווירטואליות של פרויקט. יכול להיות ששם המופע לא יהיה ייחודי בין פרויקטים או אזורים, ולכן אפשר לציין פרמטר של פרויקט או אזור כדי לצמצם את החיפוש. כברירת מחדל, ה-cmdlet משתמש בכל הערכים שנמצאים בהגדרת Cloud SDK הפעילה.

$instance = Get-GceInstance "my-vm-1"

אפשר להגדיר תגי מופעים, דיסקים, הגדרות גישה ומטא-נתונים אחרים אחרי שיוצרים את המופע באמצעות הפקודה Set-GceInstance cmdlet. מוסיפים מטא-נתונים ואז מסירים אותם באופן הבא.

Set-GceInstance $instance -AddMetadata @{"newKey" = "newValue"}
Set-GceInstance $instance -RemoveMetadata "newKey"
Set-GceInstance $instance -RemoveTag "beta" -AddTag "alpha"

עכשיו מוסיפים תג שתשתמשו בו בהמשך כדי להסיר את המופע.

Set-GceInstance $instance -AddTag "to-be-removed"

אפשר להפעיל, לעצור או להפעיל מחדש מכונה באמצעות פקודות cmdlet שונות. אפשר להתייחס למופע באמצעות השם או האובייקט עם ההקלדה החזקה שמוחזר מ-cmdlet‏ Get-GceInstance. אפשר לנסות לשחק עם חלק מהפקודות האלה.

Stop-GceInstance $instance
Start-GceInstance $instance
Restart-GceInstance "my-vm-1"

לבסוף, כשמסיימים להשתמש במכונה, מסירים אותה מ-Compute Engine באמצעות ה-cmdlet‏ Remove-GceInstance ומספקים את התג שצוין קודם.

Get-GceInstance -Project $project |
    Where { $_.Tags.Items -contains "to-be-removed" } |
    Remove-GceInstance -WhatIf

7. גיבוי נתונים ל-Google Cloud Storage

בחלק הזה של ה-codelab, תגבו נתונים מהמחשב המקומי ל-Google Cloud Storage באמצעות Cloud Tools for PowerShell.

Create a bucket

לפני שמעלים קבצים ל-Cloud Storage, צריך ליצור קטגוריה. משתמשים ב-cmdlet‏ New-GcsBucket כדי ליצור מאגר חדש.

$bucket = "my-gcs-bucket"
New-GcsBucket $bucket

העלאת קבצים למאגר

אפשר להשתמש ב-New-GcsObject כדי להעלות קובץ או תיקיות שלמות לקטגוריה.

כדי להעלות את התוכן של קובץ מקומי ל-Cloud Storage, משתמשים בפרמטר -File ומציינים נתיב לקובץ. אפשר גם להעביר את תוכן האובייקט כמחרוזת דרך צינור PowerShell, או להשתמש בפרמטר -Value.

בוחרים קובץ מקומי במחשב ומעלים אותו לקטגוריה באופן הבא.

New-GcsObject -Bucket "my-gcs-bucket" -File "C:\path\to\some\file\hello.txt"

אפשר להעלות ספרייה שלמה מהדיסק המקומי ל-Cloud Storage באמצעות הפרמטר -UploadFolder וציון נתיב התיקייה. אם אתם לא רוצים שהתיקייה תועלה ישירות אל שורש קטגוריית Cloud Storage, אתם יכולים להשתמש ב--ObjectNamePrefix כדי לציין קידומת שתחול על כל אובייקט שיועלה.

בוחרים תיקייה מקומית במחשב ומעלים אותה לקטגוריה באופן הבא.

New-GcsObject -Bucket "my-gcs-bucket" -Folder "C:\path\to\some\folder"

נתוני חיפוש

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

Get-GcsObject $bucket | Select Name, Size | Out-GridView

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

59d92a6bfec86f89.png

קריאת נתונים

אפשר להשתמש בפקודת ה-cmdlet‏ Read-GcsObject כדי לקרוא נתונים. לדוגמה, אפשר להשתמש בפקודה הבאה כדי לקרוא קובץ בשם hello.txt בשולחן העבודה.

Read-GcsObject $bucket "hello.txt" `
    -OutFile "$Env:UserProfile\Desktop\hello.txt"

מחיקת נתונים

לבסוף, אפשר למחוק נתונים באמצעות ה-cmdlet‏ Remove-GcsObject. כדי למחוק את כל התוכן של הקטגוריה, משתמשים בפקודה הבאה.

Get-GcsObject $bucket | Remove-GcsObject

8. מעולה!

ב-codelab הזה למדתם איך לנהל מכונות של Compute Engine וקטגוריות של Cloud Storage מ-PowerShell, אבל יש עוד הרבה מה ללמוד! אפשר גם לנהל משאבים של Cloud SQL ו-Cloud CDN באמצעות PowerShell. בהמשך מפורטים השלבים הבאים בתהליך.

מה נכלל

  • איך מתקינים את Cloud Tools for PowerShell
  • איך מבצעים אימות באמצעות ה-SDK של Google Cloud.
  • איך ליצור ולנהל את Google Compute Engine מ-PowerShell.
  • איך מגבים נתונים ל-Google Cloud Storage מ-PowerShell.

השלבים הבאים