ما با محدودکردن حق استفاده از اینترنت مخالفیم.
اطلاعات بیشتر

راهنمای استفاده از زیرساخت ابری

راهنمای استفاده از زیرساخت ابری
1399/12/18

در این مقاله خواهید آموخت که چگونه با کمک API از زیر ساخت ابری استفاده کنیم

نکته: لطفا دقت داشته باشید در کلیه دستورات و  ارجاعات این مستند، عبارت "http://controller" می‎بایست با عبارت "https://panel.xaas.ir"  یا

"https://vip.xaas.ir"  یا "https://edge.xaas.ir"

(متناسب با  آدرس داشبورد ابری سرویس خود ) جایگزین گردد.

اجزای سامانه‎‌های مبتنی بر api

به طور کلی در یک سامانه مبتنی بر API سه مولفه وجود دارد:

سرور

سرویسی است که مسئولیت دریافت درخواست‎های API و ارسال آنها به نقطه نهایی را در بر دارد. این سرور نزد XaaS قرار دارد و آمادگی لازم برای دریافت درخواست‎‌های API را داراست.

client

نرم افزاری است که برای ارسال درخواست API از آن استفاده می‎شود. clientهای متفاوتی تحت سیستم عامل‎های مختلف در فضای اینترنت وجود دارد که مشتریان XaaS می‎توانند از آنها بهره ببرند.

به عنوان نمونه می‎‌توان برای سیستم عامل ویندوز از نرم افزار chrom extension) postman) و برای توزیع‎‌های مختلف سیستم عامل لینوکس از command line) curl) استفاده نمود.

در این راهنما از curl استفاده شده است.

user

هویتی است نزد سرور از پیش تعیین شده. بنابراین می‌‎تواند به سرور دسترسی داشته باشد و درخواست‎‌های خود را از طریق client ارسال نماید. هر user برای این که بتواند به سرور اتصال پیدا کند،

می‎‌بایست خود را به سرور معرفی نماید.

در سامانه‌‎های مبتنی بر API به این عمل دریافت توکن می‎گویند.

در حقیقت توکن مجوز عبوری موقتی است که پس از احراز هویت به user داده می‎شود تا به وسیله آن بتواند درخواست‎‌های خود را ارسال نماید.

در ادامه ابتدا به فرایند دریافت توکن و سپس به فرآیندهای ارسال درخواست خواهیم پرداخت.

فرآیند ارسال درخواست‎‌ها

     ۱-  دریافت توکن

برای دریافت توکن می بایست مقادیر زیر را به متغیر های مورد نظر اختصاص دهیم:  

 = http://360.‌xaas.ir:5000

 = your_username

 = your_password

 = your_project name

و سپس از دستور زیر استفاده نماییم: 

$ curl -s -XPOST /v2.0/tokens -H "Content-type: application/json" -d '{"auth":{"tenantName":
"", "passwordCredentials":
{"username": "", "password": ""}}}'

 نمونه ای از خروجی در شکل زیر مشخص گردیده است. 

 

همانطور که مشاهده می‎کنید در خروجی دستور id توکن دریافتی نمایش داده می‎شود و از این پس می‎‌بایست از این id در ارسال درخواست‎‌ها استفاده نماییم:

 = this_id

برای خوانایی بیشتر می‌توانید خروجی دستور بالا را در دستور python -m json.tool یا Pipe ،jq کنید.  

$ curl -s -XPOST /v2.0/tokens -H "Content-type: application/json" -d '{"auth":{"tenantName":
"", "passwordCredentials": {"username": "", "password": ""}}}' | python -m json.tool
or
$ curl -s -XPOST /v2.0/tokens -H "Content-type: application/json" -d '{"auth":{"tenantName":
"", "passwordCredentials": {"username": "", "password": ""}}}' | jq

    ۲-  ارسال درخواست

 برای ارسال درخواست‎ها به آدرس سرور API احتیاج داریم:

= http://360.xaas.ir:8774

همچنین از توکن گرفته شده در مرحله قبل، به منظور احراز هویت استفاده می‎کنیم.

 درخواست‎های مرتبط با سرویس nova

گرفتن لیست ماشین ها

$ curl -s -XGET /v2//servers -H "X-Auth-Token: "

مشاهده جزئیات در مورد ماشین ها

$ curl -s -XGET /v2//servers/detailed -H "X-Auth-Token: "

مشاهده اطلاعات یک ماشین مشخص

$ curl -s -XGET /v2//servers/ -H "X-Auth-Token: "

گزارش گیری از سرورها بر اساس مشخصات آنها (به عنوان مثال تمام سرور هایی که در وضعیت active هستند)

$ curl -s -XGET /v2//servers/detailed?status=active -H "X-Auth-Token: "

متوقف کردن ماشین مجازی به صورت موقت 

$ curl -s -XPOST  /v2//servers//action  -H "X-Auth-Token: " -H "Content-Type:
application/json" -d '{"pause": null}'

خارج کردن ماشین مجازی از حالت توقف

$ curl -s -XPOST /v2//servers//action  -H "X-Auth-Token: " -H "Content-Type:
application/json" -d '{"unpause": null}'

متوقف کردن کامل ماشین مجازی

$ curl -s -XPOST  /v2//servers//action  -H "X-Auth-Token: " -H "Content-Type:
application/json" -d '{"os-stop": null}'

روشن کردن ماشین مجازی

curl -s -XPOST /v2//servers//action  -H "X-Auth-Token: " -H "Content-Type:
application/json" -d '{"os-start": null}'

تغییر اندازه ماشین مجازی

      ۱- دریافت id از flavor مورد نیاز توسط گرفتن لیست flavorها:

 $ curl -s -XGET  /v2//flavors -H "X-Auth-Token: "

 

۲- دریافت تصدیق امکان تغییر سایز ماشین مجازی به flavor انتخاب شده (به عنوان مثال هنگامی که flavor انتخاب شده کوچکتر از flavor کنونی باشد، تغییر اندازه ممکن نخواهد بود)

$ curl -s -XPOST  /v2//servers//action  -H "X-Auth-Token: " -H "Content-Type:
application/json" -d '{"resize": {"flavorRef": ""}}'

۳- اعمال تغییر اندازه

$ curl -s -XPOST /v2///action  -H "X-Auth-Token: " -H "Content-Type:
application/json" -d '{"confirmResize": null}'

همانطور که ملاحظه می‎کنید، استفاده از API در زیرساخت XaaS بر مبنای استاندارد APIها در openstack می‎باشد. بنابراین شما می‎توانید برای اطلاعات بیشتر به مجموعه راهنماهای کار با API در openstack مراجعه نمایید.

در ضمن برای دسترسی به آدرس (پورت)های مورد استفاده API در هر سرویس می‎توانید از لینک زیر که در پنل ۳۶۰ نیز قابل مشاهده است استفاده نمایید:

https://360.xaas.ir/project/access_and_security/?tab=access_security_tabs__api_access_tab 

نکته: لطفا دقت داشته باشید در کلیه دستورات و  ارجاعات این مستند، عبارت "http://controller" می‎بایست با عبارت "http://360.xaas.ir" جایگزین گردد.

...
...