התחלה עם ה- Azure CLI

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

ה-Azure CLI הוא סט כלי קרוס פלטפורמה שנכתב ב-Python שמאפשר לך לנהל כמעט את כל המשאבים שלך ב-Azure מהשורת פקודה. ללא קשר למערכת ההפעלה שבה אתה עובד, ה-Azure CLI מספק חוויה עקבית בכל הפלטפורמות.

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

דרישות מוקדמות

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

  • Azure CLI – מדריך זה יהיה משתמש ב-v2.20.0 על קונטיינר Docker, אבל הפקודות יעבדו באותה מידה בפלטפורמות אחרות.
  • חשבון ענן של Azure – מדריך זה ניתן לביצוע עם החשבון החינמי.

קבלת עזרה עם az help

לפני שאתה מפעיל כל פקודה ב- Azure CLI, למד איך להשתמש בפקודת az help. ל- Azure CLI יש עזרה עשירה ורבה ב- Azure CLI. המדריך הזה בהחלט לא יכול לכסות את כל הפקודות, לכן למידת כיצד להשתמש ב- az help היא קריטית.

כדי להתחיל, בואו ננווט במערכת העזרה ונבדוק כיצד למצוא מידע נוסף על פקודות שונות.

ניווט בדוגמת עזרה טיפוסית

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

עם הטרמינל פתוח שלך:

1. הרץ את הפקודה az help. פקודה זו מחזירה שני סוגים של פלט; קבוצות ותתי-קבוצות.

הפקודות מאורגנות כקבוצות. תקבל לרוב הפניות (ואף תיעוד) לקבוצות כ"פקודות". הקבוצות מחולקות בצורה היררכית כאשר כל קבוצה מייצגת שירות Azure כלשהו.

output of az help

2. גלול עד שתמצא את התת-קבוצה הנקראת group. אתה יכול לראות מהתיאור למטה, כי תת-קבוצה זו אחראית על ניהול קבוצות משאבים. הקבוצות מסודרות לפי סדר א"ב.

scrolling down to find group

3. לאחר שמצאת את הפקודה שאתה מחפש, הרץ אותה באמצעות הפרמטר --help. שימוש בפרמטר --help לא מבצע שינויים; זה מחזיר את כל מסמכי העזרה עבור קבוצה או פקודה.

az group --help

תוכל לראות מתחת לקבוצת group ותת-קבוצה אחת (lock) עם מספר פקודות שונות בתוך.

output of az group help

4. מכיוון שברצונך ליצור קבוצת משאבים, הפקודה create נראית כמו הפקודה הנכונה. עכשיו המשך להתמקד עוד יותר על ידי הוספת פקודה יותר מדוטשת לייחוס המקורי az group ומציאת עזרה.

az group create --help

התייחס לפרמטר --help בכל פקודה כדי לראות את מסמכי העזרה שלה.

הפרמטר --help מציג כעת מידע על הפקודה create. לפקודות יש ארגומנטים כפי שמוצג למטה. בדוגמה זו, יש לך כעת את הארגומנטים הנדרשים לציין קבוצת משאבים ומיקום נדרש.

help parameter

מציאת דוגמאות תחביר עם az find

אם אין לך אפשרות למצוא בקלות את הקבוצה או הפקודה שאתה מחפש עם הפרמטר --help, תסתכל על הפקודה az find. הפקודה הזו מחפשת דוגמאות תחביר באמצעות ייחוסים לקבוצה/פקודה כפי שמוצג למטה.

לדוגמה, במקום לנווט במערכת העזרה עם --help כמו שנראה למעלה, ניתן לבצע אותו משימה בשורה אחת עם az find.

az find "az group create"
output of find command

הקצאת תצורת ברירת מחדל עם az configure

ה- Azure CLI מכילה מספר רב של פקודות ותכונות. כל אחת מהתכונות הללו מכילה הגדרות שונות כמו הפעלת רישום ואפשרויות איסוף נתונים. אחת מהמשימות הראשוניות שכדאי לבצע כאשר מוגדרת ה- Azure CLI לראשונה היא להפעיל את הפקודה az configure. באמצעות פקודה זו,

ה- Azure CLI מספקת לך שלוש הגדרות שונות בפקודה אחת:

  • פורמט הפלט – שבעה דרכים שונות שבהן ה- Azure CLI מחזירה פלט
  • רישום – היכולת לרשום את כל הפעילות של ה- Azure CLI לקובץ
  • אבחון – להפעיל או לנטר את שליחת המידע לחברת Microsoft אודות אופן השימוש שלך ב- Azure CLI

כדי להתחיל, בהנחה שכבר התקנת את ה- Azure CLI:

1. פתח טרמינל (Bash או PowerShell).

2. הקלד את הפקודה az configure. תתבקש לבחור מתוך תפריט פשוט שידגיש לך כי כל ההגדרות תישמרנה בקובץ .azure/config. לחץ על Y כדי להמשיך.

output from azconfigure

3. הפקודה תבקש ממך לקבוע את פורמט הפלט המועדף עליך. כאן, בחר בפורמט שבו אתה מעוניין. פורמט הפלט המועדף מגדיר איך הפלט שלך יופיע על המסך לאחר ביצוע פקודה או קבלת הודעת שגיאה.

If you’re unsure, below you’ll find some examples.

הדוגמאות למטה משתמשות בפרמטר output. בלתי תלוי בפורמט המוגדר כברירת מחדל, תמיד תוכל לדרוס את הפלט המוגדר בברירת המחדל עם הפרמטר output.

JSON (Java Object Notation)

json output

JSONC (Java Object Notation עם הערות\הדגשת צבעים)

jsonc output

טבלה

table output

TSV (ערכים מופרדים בטאב)

tsv output

YAML (YAML אינו שפת סימון)

yaml output

YAMLC (YAML עם הערות\הדגשת צבעים)

yamlc output

אף אחד – Azure CLI תחזיר רק שגיאות או אזהרות.

4. לאחר שקבעת את פורמט הפלט, Azure CLI תבקש ממך להפעיל לוגים. כאן, בחר Y כדי לאפשר לוגים שמטרתם לרשום את כל הפקודות והפלט לקובץ.

Output Format

בחירת Y כאן תיצור לוג הכולל את כל הפקודות והפלט שנאספו במהלך שימוש ב-CLI. הלוג הזה נמצא בתיקייה $HOME/.azure/logs ב-Linux וmacOS ובתיקייה %USERPROFILE%\.azure\logs ב-Windows.

מטה תוכל לראות דוגמה לכיצד הלוג ייראה.

Log file contents after executing az login

5. לאחר מכן, Azure CLI תשאל אותך האם לשלוח נתוני טלמטריה ל-Microsoft. בחירת Y כאן תשלח מידע אנונימי ל-Microsoft בנוגע לאופן בו אתה משתמש ב-Azure CLI.

Telemetry Data

למידע נוסף על המידע שמאגר מיקרוסופט אוסף, יש לעיין ב-מידע הפרטי של מיקרוסופט על איסוף נתונים אנונימיים מ-Azure CLI.

לבסוף, az configure יבקש להגדיר את ערך זמן החיים של מטמון האובייקטים של CLI. עליך להשאיר זאת מוגדרת בברירת המחדל של 10.

cli object cache setting

שנה רק את ערך TTL של אובייקט CLI אם נמלץ על ידי מיקרוסופט בעת פיתרון בעיות עם Azure CLI.

הגדרת ערכי מחדל לפרמטרים

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

כדי להגדיר ערכי מחדל לפרמטרים, יש להשתמש בפרמטר --defaults על az configure. פרמטר זה מאפשר לך להגדיר פרמטר ואת ערך המחדל שלו. לדוגמה, אולי אתה עייף מהקלדת location ו־group עבור פקודות שונות. אין בעיה. ניתן להגדיר ערכי מחדל כמה.

הדוגמה הבאה מגדירה את האזור המחדל (location) ל־westus2 ואת קבוצת המשאבים (group) ל־MyResourceGroup. כעת בכל פעם שתפעיל פקודת Azure CLI שיש לה פרמטר location או group, Azure CLI תעביר באופן אוטומטי ערכים לפרמטרים אלו.

az configure --defaults location=westus2 group=MyResourceGroup

שימוש בתוך קונטיינרים יכול לסייע בניהול אזורים, מינויים או קבוצות משאבים ספציפיים באמצעות הגדרת ברירות המחדל בכל מופע של קונטיינר. ניתן ליצור ארבעה קונטיינרים בכל קונטיינר באמצעות `az configure` כדי להגדיר אזור ברירת מחדל וקבוצת משאבים ברירת מחדל בעזרת הפקודה למעלה.

אימות דרך דפדפן

כעת שימוש בפעולות הבסיסיות של Azure CLI נלמד, אך עדיין לא ביצעת כלום בפועל. ניקח צעד נוסף וניצור משאבים! אך קודם כל, עליך להתחבר ל-Azure באמצעות הפקודה az login.

אם יש לך מספר מינויים ב-Azure, הפעל את הפקודה az account list כדי למצוא את כל המינויים. כשאתה מוצא את המינוי, הפעל az account set --subscription <שם מינוי> כדי להגדיר את המינוי שישמש לך במהלך הסשן. ניתן גם להשתמש בפרמטר הגלובלי subscription כדי לציין באופן פורמלי מינוי.

1. פתח טרמינל והפעל את az login. הפקודה תפתח חלון דפדפן שיביא אותך לעמוד להזנת שם המשתמש והסיסמה שלך.

az login in Powershell session

2. הזן את פרטי חשבון ה-Azure שלך או לחץ על חשבון משתמש קיים כפי שמוצג למטה.

authenticate with Microsoft

3. לאחר ש-Azure מאמתת את החשבון שלך, סגור את חלון הדפדפן שלך וחזור למפעל ה-CLI שלך של Azure. פקודת az login תחזיר מידע אודות המינוי שלך כדי לאשר שיש לך כעת טוקן אימות.

Output from az login, once authenticated

אימות באמצעות קוד מכשיר

אם אתה על מחשב ללא דפדפן או רוצה להוריד אסימון אימות במחשב אחר, השתמש בפרמטר --use-device-code. פרמטר זה מאפשר למשתמש להשתמש בקוד שסופק ממכשיר אחר לאימות המשתמש.

כדי לאמת באמצעות קוד מכשיר, פתח טרמינל ובצע את הפעולות הבאות:

הפעל את az login והשתמש בפרמטר --use-device-code. הפעולה של az login הפעם לא תפתח דפדפן. במקום זאת, היא תספק קוד שיש לספק לדף ההתחברות במכשיר אחר.

az login --use-device-code
output of az-login —use-device-code

2. במחשב שונה, נווט אל https://microsoft.com/devicelogin, הדבק את הקוד שסופק ולחץ על הבא.

Enter code to authenticate

3. כעת הזן את הפרטים שלך לאימות ב-Azure וסגור את הדפדפן שלך, אם אינו נחוץ.

choosing an account to authenticate with

חזור למפגש CLI של Azure, ו-az login יחזיר את מידע המינוי שלך.

verification your session is logged on to azure

אפשרויות פלט של Azure CLI

כפי שצוין, Azure CLI יכולה להחזיר פלט בדרכים שונות. אפשר להגדיר את הפלט ברירת המחדל ולשנות אותו במהלך הפעולה עם פרמטר output. אך פרמטר זה אינו היחיד שיכול לשנות את ההתנהגות הפלט.

לשנות את ההפרטיות, לסנן את הפלט או לשנות את ההתנהגות פלט השגיאות, השתמש בפרמטרים הבאים.

  • query – משתמש בשפת השאילתות JMESPath כדי לסנן את הפלט של כל הפקודות. יש לעיין במאמר זה למידע נוסף.
  • verbose – מחזיר מידע אודות משאבים שנוצרו ב-Azure ומידע מורחב על אותם משאבים.
  • debug – מחזיר רמת מידע נמוכה על פעולות CLI המשמשות לאיתור באגים.
  • only-show-errors – מציג את השגיאות ומשתיק אזהרות.

יצירת קבוצת משאבים

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

בהנחה שאתה על מחשב עם ה-CLI של Azure מותקן וכבר בוצע אימות ב-Azure באמצעות ה-CLI:

צור קבוצת משאבים באמצעות הפקודה az group create כפי שמוצג למטה. פקודה זו יוצרת קבוצת משאבים בשם TESTGrp באזור צפון אירופה location ומחזירה את כל הפלט בצורה verbose.

az group create --location northeurope --resource-group TESTGrp --verbose
output of az group create

2. אשר כי Azure יצרה את המשאב. az group list

az group list

שים לב שנוצרה קבוצת משאבים בשם TESTGrp.

output of az group list

3. אולי יש לך הרבה קבוצות משאבים לחפש בהן. במקום לגלול, השתמש בפרמטר query כדי להצמין את הרשימה. הפקודה למטה מחזירה רק קבוצות משאבים באזור צפון אירופה location באמצעות JMESPath.

az group list --query "[?location=='northeurope']"
output of a JMESPath query

יצירת מכונת וירטואלית Linux

לדוגמה אחרונה זו, למד כיצד ליצור מכונה וירטואלית Azure עם ה-Azure CLI. יצירת מכונות וירטואליות וההגדרה שמסביבן הם מיומנות טובה ללמוד. יצירת מכונות וירטואליות Azure היא משימה נפוצה שתוכל לבצע באופן חוזר במהלך העברת העננים שלך.

בתרגול זה, תיצור מכונה וירטואלית Linux Azure עם הגדרות ברירת מחדל ותפרסם אותה בקבוצת המשאבים שנוצרה בסעיף הקודם.

מכונה וירטואלית Azure מורכבת ממספר משאבי Azure הפועלים יחד כמו תמונת דיסק, מתאם רשת וירטואלי, מכונה וירטואלית, וכו '

כדי ליצור מכונה וירטואלית Azure עם ה-Azure CLI:

1. הפעל את הפקודה az vm image list כדי למצוא את כל תמונות ה-VM הזמינות ל-VM. הפקודה הזו מחזירה את כל התמונות המטמונות / לא מקוונות. az vm image list

az vm image list

לדוגמה זו, בחר בתמונת UbuntuLTS כפי שמודגש למטה.

Cached list of images available

ה-Azure CLI שומרת רשימה מטמונת של כל תמונות ה-VM. אם תמונת ה-UbuntuLTS אינה מופיעה, השתמש בפרמטר all כדי לקבל רשימה מעודכנת.

2. לאחר שאתה יודע את התמונת הדיסק שיש להשתמש בה עבור המכונה הווירטואלית, צור את המכונה הווירטואלית באמצעות az vm create. קטע הקוד למטה יוצר מכונה וירטואלית name בשם ATAVM1 שמשתמשת בתמונת image של UbuntuLTS בתוך קבוצת המשאבים resource-group TESTGrp. כאשר Azure יוצרת את המכונה הווירטואלית, היא תיצור מפתחות SSH (generate-ssh-keys) לחיבור אליה מאוחר יותר ותחזיר פלט בתצורת JSON (output).

az vm create --resource-group TESTGrp \
   --name ATAVM1 \ ## שם המארח עבור המכונה הווירטואלית
   --image UbuntuLTS \ ## שם התמונה אשר נאסף עם רשימת תמונות az vm image
   --generate-ssh-keys \ ## יצירת מפתחות SSH באופן אוטומטי לשימוש עם המכונה הווירטואלית
   --output json \ ## התעלמות מהפורמט התצוגה על מנת להחזיר JSON
   --verbose ## פלט נוסף

פיצול פקודת Azure CLI ארוכה למרכזים שונים בשורות נפרדות באמצעות backslash סופי.

פקודת az vm create כוללת עוד דרכים רבות יותר להגדיר בניית מכונה ווירטואלית. זכור, מערכת העזר היא חברתך! az vm create --help

אם הפקודה נפעלה בהצלחה, תראה משהו דומה לתמונה מסך למטה.

VM being created

על ידי השימוש בפרמטר verbose, תראה את שיטת ה-REST API הממשית והפרמטרים המשמשים בצבע ירוק.

3. כאשר התקנה הושלמה, תיצוג הפלט יציג מידע אודות המכונה הווירטואלית שלך. הדבר המשמעותי ביותר עבור הדמו הזה הוא להעתיק את כתובת ה-IP הציבורית. תצטרך את זה כדי להתחבר למכונה הווירטואלית דרך האינטרנט.

output from vm creation

בנקודה זו, כעת חברו ל-MV של Ubuntu באמצעות SSH באמצעות כתובת ה-IP הציבורית של ה-MV שנמצאת למעלה. כדי לעשות זאת, פתחו את הלקוח שלכם של SSH המועדף והתחברו ל-MV כמשתמש azureuser כפי שמוצג למטה. כברירת מחדל, פקודת az vm create יוצרת משתמש מקומי בשם azureuser.

connected to the vm created

הצלחתם להתחבר ב-SSH ל-MV בלי סיסמה משום שהשתמשתם בפרמטר generate-ssh-keys בעת יצירת ה-MV. זה מוריד את המפתח הפרטי לתיקיית ~/.ssh שלכם ומעלה את המפתח הציבורי ל-MV מאפשר לכם לאמת.

5. כעת נקוו את ה-MV ואת קבוצת המשאבים.

az group delete --name TestGRP

שלבים הבאים

עליכם כעת להכין את CLI של Azure לשימוש. אתם כעת מוכנים לנהל משאבים מסוימים! אז מה באמת?

Source:
https://adamtheautomator.com/azure-cli/