نوین هاست در این پست قصد دارد تا به بیان مطالبی در مورد آموزش استفاده از Openstack و Vagrant و ساخت یک مدل ترکیبی جدید از انواع مدل تأمین کننده/ مصرف کننده بپردازد. در این مدل OpenStack زیرساخت تأمین کننده و Vagrant مصرف کننده ای است که از آن زیرساخت استفاده می کند.
Vagrant ایده ی تأمین کنندگان ( که Vagrant را قادر می سازند تا با انواع پلتفرم های پشتیبان مجازی سازی کار کند. ) و باکس ها ( که قالب اصلی ماشینهای مجازی هستند. ) را در اختیار قرار می دهد.
در این نمونه ی خاص ما از یک تأمین کننده ی OpenStack برای Vagrant استفاده می کنیم که به Vagrant امکان می دهد. که از OpenStack به عنوان یک شیوه ی پشتیبان مجازی سازی استفاده کند. با این حال ، چون OpenStack یک قالب معادل مجازی ( به شکل image ) دارد. نیازی به استفاده از Vagrant Box ندارد. این امر سبب می شود که استفاده از Vagrant و OpenStack با سایر موارد استفاده ی معمول از Vagrant تفاوت داشته باشد.
پیش نیازها
بهتر است مروری کوتاه بر اقدامات پیش نیاز داشته باشیم. ( اقداماتی که باید قبل از شروع استفاده از Vagrant و OpenStack انجام دهید. بدیهی است قبل از هر چیز باید Vagrant را بر روی سیستم خود نصب کرده باشید. )
- لازم است یک OpenStack نصب شده ی فعال با حداقل یک Glance image آماده بر روی سیستم خود داشته باشید.
- لازم است یک شبکه ی تأمین کننده ی مشخص ( مانند : سرور مجازی ) داشته باشید. تا OpenStack بتواند آدرسهای IP شناور را به نمونه ها (instance) اختصاص دهد.
- لازم است اطلاعات ( رمزها) OpenStack فعال از قبیل نام کاربری ، کلمه عبور ، نام پروژه و آدرس URL معتبر آن را بدانید.
وقتی تمام این پیش نیازها را داشتید ، می توانید استفاده از Vagrant را برای اجرای اوپن استک شروع کنید.
اجرای OpenStack با استفاده از Vagrant
ابتدا plugin تأمین کننده ی OpenStack را نصب کنید ( بدیهی است این کار لازم است فقط یک بار انجام شود) :
حال یک Vagrantfile با تنظیمات صحیح بسازید. لیست کامل تنظیمات برای تأمین کننده ی OpenStack را می توانید در the provider’s GitHub page, ببینید . اما اینجا به چند مورد از مهمترین آنها که در زیر مجموعه ی config.vm.provider قرار می گیرند ، اشاره می کنیم :
- گزینه های os.openstack_auth_url, os.username, os.password و os.tenant_name جزئیات مورد نیاز برای احراز هویتی را که به Vagrant امکان می دهد تا اعتبار لازم را در مقابل OpenStack به دست آورد ، تأمین می کنند.
- جزئیات نمونه ها (instance) از طریق تنظیمات os.server_name, os.flavor و os.image ارائه می شوند.
- اطلاعات شبکه از پارامترهای os.floating_ip_pool, os.networks و os.security_groups به دست می آیند.
- در نهایت از طریق دو نوع تنظیمات مختلف می توان به نمونه (instance) متصل شد : یکی از آنها os.keypair_name ( در مجموعه ی config.vm.provider ) است. این مسئله به نام کلید جفتی (keypair) در OpenStack اشاره دارد. دومی تنظیماتconfig.ssh.private_key_path است و در زیر مجموعه ی Vagrant.configure قرار دارد.
سرور مجازی
با نصب plugin تأمین کننده ی OpenStack و داشتن یک Vagrantfile که به خوبی پیکربندی و تنظیم شده باشد ، به راحتی می توان فرمان Vagrant up را اجرا کرد. Vagrant به openStack اعتبار می دهد. با استفاده از سبک و image خاص یک نمونه( ( instance را به کار می اندازد. آدرس IP شناور را به آن اختصاص می دهد و کلید SSH مخصوص را در آن وارد می کند.
حذف این برنامه نیز درست مانند نصب آن ساده و آسان است . وقتی با نمونه های ساخته شده توسط Vagrant کار می کنید. با فرمان vagrant destroy به سادگی می توانید همه چیز را پاک کنید. دیگر نیازی به اتصال به داشبورد اوپن استک نیست و شما به سادگی با یک فرمان سریع CLI می توانید کار را تمام کنید.
چرا Vagrant با OpenStack استفاده می شود ؟
در بیان دلیل استفاده از ترکیب Vagrant و OpenStack می توان گفت این ترکیب جدای از اینکه یک ارتباط مناسب از نوع ارتباط ” تأمین کننده/ مصرف کننده ” بین زیرساختهای هماهنگ شده توسط OpenStack و منابع مصرف شده توسط کاربران از طریق Vagrant برقرار می کند. کاربران را قادر می سازد. تا از همان مدل محلی مصرف منابع ( از طریق فرمان CLI Vagrant ) برای مصرف منابع به کار رفته در سرور ابری و سرور مجازی ( با استفاده از همان دستورات CLI Vagrant ) استفاده کنند. می توان گفت هر روشی که سبب شود کاربران بتوانند ساده تر و آسان تر از منابع OpenStack استفاده کنند ، روش خوبی است.