יצירת מכונה וירטואלית היא משעממת. יצירת מאות היא גוזלת זמן. cloud-init מאפשר לך להפוך יצירת מחשב וירטואלי לאוטומטי ב-Microsoft Azure.

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

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

בואו נסתכל כיצד ניתן להפוך את התקנת מערכת ההפעלה ואת תצורת המחשב הווירטואלי לאוטומטי באמצעות cloud-init ב-Microsoft Azure.

מדוע להשתמש ב-Cloud-init כדי להפוך יצירת VM לאוטומטי?

cloud-init הוא כלי אוטומציית פריסה רב עוצמה ש-Canonical, החברה שמאחורי אובונטו, מפתחת.

עם cloud-init, אתה יכול להתקין ולפרוס מערכות הפעלה לינוקס ולהגדיר היבטים אחרים של VM. לדוגמה, אתה יכול להשתמש ב-cloud-init כדי להגדיר חשבונות משתמש, להתקין ולהגדיר תוכנה, להוסיף מפתחות SSH, אתה שם את זה.

נכון לעכשיו, רוב ספקי שירותי הענן כגון Azure, Linode ו-Amazon Web Services (AWS) תומכים בענן-init.

instagram viewer

למרות ש-cloud-init התחיל באובונטו, הוא תומך כעת בכל ההפצות העיקריות של לינוקס, כגון openSUSE, Debian, Red Hat Enterprise Linux (RHEL) וכו'.

מלבד פריסת תוכנה בענן, אתה יכול גם להשתמש ב-cloud-init כדי להגדיר ולהתקין תוכנה בשרתים מקומיים או בסביבות וירטואליות כגון VirtualBox, KVM ו-VMware.

אנו נשתמש בפלטפורמת הענן של Microsoft Azure כדי להפוך את הפריסה של שרת אובונטו לאוטומטית באמצעות cloud-init.

שלב 1: יצירת סקריפט ב-Cloud-Init

סקריפטים של cloud-init משתמשים במודולים להגדרת היבטים שונים של המערכת שלך. לדוגמה, תשתמש ב- משתמשים מודול להגדרת מידע וחשבונות משתמש, ואת מגן תיל מודול להגדרת WireGuard וכו'. ישנם טונות של מודולים אחרים שאתה יכול להשתמש בהם מחוץ לקופסה.

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

אנו ניצור משתמש בשם "mwiza" ונקצה לו סיסמה. לשם הפשטות, בוא נשתמש בסיסמת טקסט רגיל, אך תוכל להצפין אותה אם תרצה בכך. בנוסף, הוסף מפתח SSH של המשתמש למפתחות מורשים. זה מאפשר לך להשבית כניסות לסיסמת SSH מאוחר יותר לאבטחה טובה יותר.

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

  • כתיבת קובץ: צור קובץ פשוט וכתוב לו תוכן באמצעות ה לכתוב_קבצים מודול. הקובץ ימוקם בספריית הבית. אתה יכול להשתמש באותם מושגים ליצירת קבצים מורכבים יותר בעתיד.
  • פקודות הפעלה: אנו נריץ פקודות פשוטות להגדרת חומת האש של UFW, אך זו יכולה להיות כל פקודת לינוקס אחרת. נצל את runcmd מודול להפעלת כל פקודה לבחירתך; זה דומה להפעלת פקודות לינוקס על ידי ביצוע סקריפטים של Bash.
  • הגדרת מקומות: זה מגדיר את המקומות המועדפים עליך כמו פריסת המקלדת, השפה המועדפת, אזור הזמן וכו'.
  • התקן חבילות: השתמש במנהל החבילות המועדף עליך כדי להתקין חבילות במערכת שלך. לדוגמה, במערכות מבוססות דביאן, אתה יכול להשתמש ב-APT.

אלו הם רק חלק מהמודולים שבהם אתה יכול להשתמש מ-cloud-init; יש עוד כמה מודולים כדי להפוך כל מיני דברים לאוטומטיים.

הנה הסקריפט המלא בענן-init להגדרת חשבון המשתמש החדש. זכור להחליף את מפתח SSH במפתח הנכון. כמו כן, אל תהסס לשנות את שם המשתמש וכל פרט אחר.

vim: תחביר=yaml

# הוסף משתמשי מערכת כאן
משתמשים:
- שם: mwiza
קבוצות: משתמשים, sudo
מעטפת: /bin/bash
gecos: mwiza
plain_text_passwd: חי-צחוק-אהבה12345G123
lock_passwd: false
ssh_authorized_keys:
- ssh-ed25519 BSHSDSDS3NzaC1sdfSDGSDSDJ1KSDB: PWELJWEEWeKBrkXWbLJBs; ldfkagfafkC6li71Ra6i+NKkajdfi [email protected]

# התקן, עדכן ושדרג חבילות
package_upgrade: true
package_update: נכון
package_reboot_if_require: true

חבילות:
- traceroute
- רשת-כלים
- fail2ban

# הגדר מקומות
מיקום: en_UK
אזור זמן: וכו'/UTC
מקלדת:
פריסה: נ.ב

לכתוב_קבצים:
- נתיב: /etc/salt/minion.d/master_ip_port.conf
תוכן: |
מאסטר: מלח
מאסטר_port: 4506
יציאת_פרסום: 4505
- נתיב: /home/mwiza/cloud-init.txt
תוכן: |
נוצר על ידי cloud-init בתכלת

# הפעלת פקודות Bash כדי להגדיר תוכנות ושירותים
runcmd:
- ufw enable
- ufw לאפשר ssh
- ufw לאפשר 80
- systemctl אפשר את ufw

# כבה את ה-VM לאחר סיום האתחול
כיבוי: כיבוי

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

שלב 2: יצירת משאב המכונה הווירטואלית

השלב הבא הוא יצירת המשאב הדרוש ב-Azure עבור המחשב הוירטואלי. היכנס ל-Azure אם כבר יש לך חשבון או צור חשבון ניסיון בחינם על ידי מעבר אל azure.microsoft.com.

בדף הבית של פורטל Azure, לחץ על צור משאב לַחְצָן. מרשימת שירותי Azure הפופולריים ביותר, בחר מכונה וירטואלית.

העמוד הבא נותן לך מידע ליצירת משאבי VM כגון דיסק קשיח, רשת וכו'.

תן ל-VM שלך שם משמעותי ובחר את אזור הפריסה. כמו כן, צור קבוצת משאבים עבור ה-VM שלך או השתמש בקבוצה קיימת.

תחת אימות הקלד, בחר את סיסמה אפשרות וספק את שם המשתמש והסיסמה החזקה שלך.

לאחר שתמלא את כל השדות בדף זה, הפרטים שלך צריכים להיות דומים לפרטים הבאים.

שלב 3: הוספת סקריפט Cloud-init שלך

לאחר מכן, לחץ על מִתקַדֵם לשונית כדי להוסיף את הסקריפט של cloud-init. העתק והדבק את הסקריפט של Cloud-init מהשלב הראשון לשדה הנתונים המותאמים אישית.

לבסוף, לחץ על סקירה + יצירה לַחְצָן. אם הכל בסדר, המבחן יעבור. אחרת, היוצר של Azure VM ינחה אותך לגבי התיקונים שיש לבצע.

שלב 4: כניסה למכונה הוירטואלית שלך

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

לאחר הכניסה, תוכל לבדוק שהקבצים שרצית ליצור באמצעות הסקריפט נמצאים שם. גַם, חפש חבילות מותקנות עם APT ובדוק שחומת האש הוגדרה כהלכה באמצעות מצב sudo ufw פקודה.

cloud-init גם רושם מידע חשוב ב- /var/log/cloud-init.log קוֹבֶץ. הוא מכיל הודעות מילוליות של כל האירועים שהתרחשו במהלך האתחול בענן. אתה יכול לבדוק את הקובץ הזה באמצעות הפקודה cat באופן הבא:

cat /var/log/cloud-init.log

אוטומציה של יצירת מכונות וירטואליות עם ענן-init

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

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