• ارسال به دوستان
  • چاپ
نام ارسال کننده :  
ایمیل ارسال کننده:
نام دریافت کننده :
ایمیل دریافت کننده :  
موضوع ایمیل :
کد تصویری :
 


 به زبانی ساده  cloud-init مجموع ه‏ای از اسکریپت ‏های پایتون برای اجرای سفارشی ‏سازی‏ هایی روی ماشین ‏های مجازی است.
برخی از قابلیت‏ های cloud-init عبارتند از:

  1. setting  hostname
  2. ساخت  SSH private keys
  3. افزودن کلیدهای  SSH
  4. افزودن  ephemeral mount points
  5. پیکربندی قسمت‏های شبکه ‏ای

رفتار cloud-init و تغییرات و تنظیماتی که اجرا خواهد کرد از طریق  user-data قابل پیکربندی است. user-data یکی از انواع metadata در  OpenStack  است. به طور کلی چهار نوع  metadata در  OpenStack وجود دارد که عبارتند از: 

Meta-Data, User-Data, Vendor-Data, and Network-Data

Meta-data به صورت مقادیر key=value هستند که از طریق CLI یا داشبورد می‏توان روی ماشین مجازی تعریف کرد

. Meta-data را می‏توان در زمان بوت ماشین مجازی یا حتی پس از بوت، روی ماشین مجازی تعریف کرد.


user-data اسکریپت‏ هایی هستند که می‏توانند به صورت مستقیم تایپ شوند یا به صورت فایلی باشند که هنگام راه‏ اندازی ماشین مجازی توسط  cloud-ini استفاده خواهد شد. این اسکریپت ‏ها می‏توانند به زبان‏ هایی مانند پایتون یا shell باشند یا از فرمتی که شبیه به فایل‏های  yaml و مختص cloud-config است، استفاده کنند.

 user-data از داخل ماشین مجازی با دستور  #curl 169.254.169.254/openstack/latest/user_data قابل دسترسی است. می‏توان اسکریپت ‏ها را طوری نوشت که خروجی آن در مسیری در داخل ماشین ‏مجازی نیز ذخیره شود. به صورت پیش‏فرض این اسکریپت ‏ها فقط در اولین بوت ماشین مجازی اجرا می‏شوند، البته راهکارهایی برای اجرای مجدد اسکریپت‏ ها در زمان‏های مختلف از  چرخه حیات  (lifecycle) ماشین مجازی نیز وجود دارند.

برخی از کاربردهای cloud-init:

  1. تعریف کاربران و گروه‏ها
  2. افزودن یک ریپازیتوری  yum
  3. پیکربندی فایل  resolv.conf یک ماشین مجازی
  4. نصب و اجرای  chef
  5.  افزودن ریپازیتوری‏های  apt
  6.  اجرای دستوراتی در بوت ماشین مجازی
  7. نصب پکیج‏های موردنظر
  8. اجرای  upgrade با  apt یا yum



 

اسکریپت ‏های user-data  به زبان پایتون در پایگاه‏ داده کد می‏شوند. می‏توان این اسکریپت ‎های کدشده را  decode کرد. برای اطلاعات کامل درباره   cloud-init  می‏توان به سایت رسمی آن مراجعه کرد:

http://cloudinit.readthedocs.io/en/latest/index.html

metadata با استفاده از neutron metadata agent یا config drive قابل دسترسی هستند. دسترسی از طریق  config drive پیچیدگی ‏های دسترسی از طریق neutron metadata agent را ندارد. با استفاده از آپشن config-drive،  metadata به صورت یک درایو مجازی نزدیک ماشین مجازی قرار می‏گیرد و قابل mount یا unmount است.


نسخه قابل چاپ