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

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

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

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

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

מה תלמדו

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

למה תזדקק?

  • יש לכם פרויקט ב-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 כדי להשתמש במשאבים של Google Cloud Platform, כמו Google Cloud Datastore ו-Cloud Storage.

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

3. התקנה

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

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

d6df1af5b5b08e41.png

4. אימות

Cloud Tools ל-PowerShell משתמש בפרטי הכניסה ובהגדרות שמאוחסנים ב-Cloud SDK. כדי להתחיל להשתמש ב-cmdlets, עליך להתחבר תחילה באמצעות 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. הרצת אירועי cmdle של Google Cloud בתוך PowerShell

לאחר האימות, תוכלו להשתמש ב-cmdlets של Google Cloud ב-PowerShell. מאתרים ופותחים את מעטפת שורת הפקודה של PowerShell.

66b0c5d9b1cd7c68.png

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

3ffd420f66f76b06.png

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

בקטע הזה יוצרים ומנהלים את Google Compute Engine מתוך הכלים של Google Cloud ל-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 כדי לאחזר מכונות וירטואליות של פרויקט. מכיוון ששם המכונה לא יכול להיות ייחודי בכל הפרויקטים או התחומים, תוכלו לציין פרמטר Project או Zone כדי לצמצם את החיפוש. כברירת מחדל, ה-cmdlet משתמש בערכים שנמצאים בתצורה הפעילה של Cloud SDK.

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

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

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 ל-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 וציון נתיב התיקייה. אם לא רוצים שהתיקייה תועלה ישירות לרמה הבסיסית (root) של הקטגוריה של Cloud Storage, אפשר להשתמש ב--ObjectNamePrefix כדי לציין קידומת שתחול על כל אובייקט שמעלים.

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

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

נתוני חיפוש

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

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 ל-PowerShell.
  • איך מבצעים אימות באמצעות Google Cloud SDK.
  • איך ליצור ולנהל את Google Compute Engine מ-PowerShell.
  • איך לגבות נתונים מ-PowerShell ל-Google Cloud Storage.

השלבים הבאים