Monday, 18 April 2016

Run 2,000 Docker Containers In A Single Weave Cluster Of 30 Rackspace Cloud Servers With 2GB Of Memory Each


این وبلاگ دوم از مجموعه ای 2-وبلاگ در مورد مقیاس پذیری از پلت فرم DCHQ با استفاده از بافت به عنوان لایه شبکه های زیربنایی است. اولین وبلاگ استقرار 10،000 ظروف در 10 بافت خوشه تحت پوشش، هر یک با داشتن 3 سرور ابر در Rackspace را با 4GB حافظه و پردازنده 2.
در این وبلاگ، ما را به به کارگیری از 2000 ظروف پوشش - اما به جای استفاده از 10 خوشه با 3 سرور ابر هر، ما خواهد بود با استفاده از یک خوشه بافت تنها با 30 سرورهای ابری . DCHQ نه تنها خودکار به کارگیری نرم افزار و مدیریت، اما آن را نیز به صورت خودکار تأمین زیرساخت ها و خودکار پوسته پوسته شدن در 13 ابرهای مختلف و سیستم عامل های مجازی سازی. اطلاعات بیشتر در مورد این آزمون مقیاس پذیری در این وبلاگ.

زمینه

در حالی که قابلیت حمل نرم افزار (یعنی قادر بودن به اجرای برنامه را در هر میزبان لینوکس) است که هنوز هم راننده پیشرو برای تصویب ظروف لینوکس، مزایای کلیدی دیگری است قادر به بودن استفاده بهینه سازی سرور به طوری که شما می توانید هر بیت از محاسبه استفاده کنید. البته، برای محیط های بالادست، مانند PROD، شما ممکن است هنوز هم می خواهید به اختصاص بیش از CPU به اندازه کافی و حافظه برای حجم کار خود را - اما در DEV محیط / TEST، که به طور معمول در یک سازمان اکثریت از مصرف منابع محاسبه، بهینه سازی استفاده از سرور می تواند منجر به صرفه جویی در هزینه قابل توجه است.
این همه برای تلفن های موبایل خوب بر روی کاغذ - اما DevOps فن و اپراتورها زیرساخت هنوز هم با سوالات زیر مبارزه می کنند:
  • چگونه می توانم سرور گروه در سراسر ابرهای مختلف را به خوشه که نقشه را به گروه های کسب و کار، تیم توسعه، و یا پروژه های نرم افزار؟
  • چگونه می توانم این خوشه را مانیتور کنم و بینش به مصرف منابع توسط گروه های مختلف و یا کاربران؟
  • چگونه می توانم راه اندازی شبکه در سراسر سرور در یک خوشه به طوری که ظروف در سراسر میزبان های مختلف می توانند با یکدیگر ارتباط برقرار کنم؟
  • چگونه خود سیاست قرار دادن مبتنی بر ظرفیت من تعریف می کنم به طوری که من می توانید هر بیت از محاسبه در یک خوشه استفاده کنید؟
  • چگونه می توانم به طور خودکار مقیاس کردن خوشه برای دیدار با خواسته از توسعه دهندگان برای استقرار نرم افزار مبتنی بر ظرف جدید؟
DCHQ، موجود در میزبانی و در فرض نسخه، به تمام این چالش ها فراهم می کند و تأمین زیرساخت ها، پوسته پوسته شدن خودکار، دسته بندی و قرار دادن سیاست های پیشرفته ترین برای اپراتورهای زیرساخت یا DevOps مهندسان.
  • کاربر می تواند هر میزبان لینوکس در حال اجرا در هر نقطه با اجرای یک اسکریپت خودکار تولید به نصب عامل DCHQ، همراه با کارگر بارانداز و لایه های شبکه نرم افزار تعریف شده (اختیاری) ثبت نام کنید. این کار را می توان از طریق برنامه نویسی خودکار با استفاده از ما REST API برای ایجاد "سرور کارگر بارانداز" ( https://dchq.readme.io/docs/dockerservers )
  • روش دیگر، DCHQ ادغام با 13 ارائه دهندگان ابر، کاربران اجازه می دهد به طور خودکار چرخش تا زیرساخت های مجازی در ماکروسافت، اوپناستک، CloudStack، آمازون الاستیک ابر رایانه، موتور محاسبه گوگل، Rackspace را، DigitalOcean، SoftLayer، مایکروسافت لاجورد، و بسیاری دیگر.

ساخت قالب نرم افزار برای Nginx به خوشه

هنگامی که در به DCHQ وارد (یا DCHQ.io میزبان و یا در فرض نسخه)، کاربر می تواند به حرکت   برنامه و ماشین آلات و پس از آن با کلیک بر روی + دکمه برای ایجاد یک جدید کارگر بارانداز نوشتن الگو.
ما یک خوشه از Nginx ساده به خاطر این آزمون مقیاس پذیری ایجاد کرده اند. شما متوجه خواهید شد که CLUSTER_SIZE پارامتر اجازه می دهد تا به شما برای مشخص تعداد از ظروف برای راه اندازی (با وابستگی نرم افزار همان).
mem_min پارامتر اجازه می دهد تا شما را به specifcy حداقل مقدار حافظه شما می خواهم به اختصاص به ظرف.
میزبان پارامتر اجازه می دهد تا به شما برای مشخص میزبان شما می خواهم به استفاده برای استقرار ظرف. به این ترتیب شما می توانید بالا در دسترس برای استفاده خوشه های سرور خود را در سراسر میزبان های مختلف (و یا مناطق) اطمینان و شما می توانید با قوانین میل مطابق به اطمینان حاصل شود که پایگاه داده قابل اجرا بر روی یک میزبان جداگانه به عنوان مثال. در اینجا مقادیر پارامتر میزبان پشتیبانی می شوند:
  • host1، host2، host3 ، و غیره - یک میزبان به طور تصادفی انتخاب در یک مرکز داده (و یا خوشه ای) برای استقرار کانتینر
  • <نشانی 1، IP نشانی 2، و غیره IP> - اجازه می دهد تا کاربر را مشخص واقعی آدرس های IP استفاده برای استقرار کانتینر
  • <نام میزبان 1، نام سرور 2، و غیره> - اجازه می دهد تا کاربر را مشخص اسامی گره واقعی برای استفاده برای استقرار کانتینر
  • نویسه عام (به عنوان مثال "db- *"، و یا "برنامه-srv- *") - برای مشخص کردن نویسه عام به استفاده در نام میزبان

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

هنگامی که یک برنامه ذخیره شده است، کاربر می تواند یک ارائه دهنده ابر ثبت نام به طور خودکار به تأمین و خودکار پوسته پوسته شدن از خوشه در 13 ابر نقاط پایانی مختلف از جمله ماکروسافت، اوپناستک، CloudStack، خدمات وب سایت آمازون، Rackspace را، مایکروسافت لاجورد، DigitalOcean، HP عمومی ابر، آی بی ام SoftLayer، موتور محاسبه گوگل، و بسیاری دیگر.
اول، یک کاربر می تواند یک ارائه دهنده ابر برای Rackspace را (به عنوان مثال) با مرور به ثبت نام   ابر دهنده و سپس کلیک بر روی دکمه + را برای انتخاب Rackspace را. نیاز به Rackspace را کلید API ارائه می شود - که می تواند از بخش تنظیمات حساب بازیابی.
کاربر پس از آن می توانید یک خوشه با یک سیاست مقیاس خودکار به طور خودکار چرخش تا سرور جدید ابر ایجاد کنید. این را می توان با مرور به انجام خوشه صفحه و سپس کلیک بر روی + را فشار دهید. شما می توانید یک سیاست مبتنی بر قرار دادن ظرفیت انتخاب کنید و سپس بافت به عنوان لایه شبکه به منظور تسهیل امن، با کلمه عبور محافظت ارتباطات میان ظرف در سراسر میزبان های مختلف در یک خوشه. در این مورد، ما یک سیاست مقیاس خودکار که به طور خودکار چرخش تا سرورهای ابری در این خوشه تا حداکثر حد تعریف شده (در این مورد از 30 سرور ابر) تعریف شده است. حقوق گرانول موجود مطمئن شوید که این خوشه تنها می تواند توسط کاربران 10 ما با استفاده از در این آزمون (user1@dchq.io، user2@dchq.io، ...، user10@dchq.io) استفاده می شود. در نهایت، حقوق را می توان در سطح طرح (و یا قالب نرم افزار) تعریف شده - به اطمینان حاصل شود که تنها برنامه های کاربردی تحت عنوان را می توان به این خوشه به اشتراک گذاشته مستقر شده اند. در این مورد، این خوشه به "همه طرح کلی" باز بود.
یک کاربر می تواند در حال حاضر ارائه تعدادی از ابر سرور در خوشه به تازگی ایجاد شده یا از طریق گردش کار مبتنی بر UI یا با تعریف یک الگو مبتنی بر YAML ماشین نوشتن ساده است که می توان از کتابخانه سلف سرویس درخواست شده است.
گردش کار مبتنی بر UI- - کاربر می تواند سرور Rackspace ابر با مرور به درخواست ماشین آلات و پس از آن با کلیک بر روی + دکمه را انتخاب کنید Rackspace را . هنگامی که ارائه دهنده ابر انتخاب شده است، کاربر می تواند منطقه، اندازه و تصویر مورد نیاز را انتخاب کنید. بنادر به طور پیش فرض بر روی سرور Rackspace ابر باز به جای برخی از الزامات پورت (به عنوان مثال 32،000-59،000 برای کارگر بارانداز، 6783 برای بافت، و 5672 برای از RabbitMQ). خوشه ای است پس از آن انتخاب شده و تعداد از ابر سرور می تواند مشخص شود.
بر اساس YAML ماشین نوشتن الگو - کاربر می تواند برای اولین بار یک قالب ماشین برای نوشتن Rackspace را با مرور به ایجاد ماشین آلات و سپس انتخاب ماشین نوشتن .
مربوط به پارامترها برای قالب ماشین نوشتن در زیر خلاصه:
  • توضیحات : شرح طرح / قالب
  • instanceType : ابر مقدار خاص ارائه دهنده (به عنوان مثال general1-4)
  • منطقه : ابر مقدار خاص ارائه دهنده (به عنوان مثال IAD)
  • تصویر : اجباری - طور کامل واجد شرایط تصویر ID / نام (به عنوان مثال IAD / 5ed162cc-b4eb-4371-b24a-a0ae73376c73 یا ماکروسافت VM الگو نام)
  • نام کاربری : اختیاری - فقط برای نام کاربری ماکروسافت VM الگو
  • رمز عبور : اختیاری - فقط برای ماکروسافت VM الگو رمز عبور رمزگذاری شده است. شما می توانید با استفاده از رمز عبور به نقطه پایانی رمزگذاری https://www.dchq.io/#/encrypt
  • شبکه : اختیاری - ابر مقدار خاص ارائه دهنده (به عنوان مثال به طور پیش فرض)
  • securityGroup : ابر مقدار خاص ارائه دهنده (به عنوان مثال dchq امنیت گروه)
  • جفت کلید : ابر مقدار خاص ارائه دهنده (کلید به عنوان مثال شخصی)
  • openPorts : اختیاری - کاما از هم جدا ارزش پورت
  • تعداد دفعات مشاهده : مجموع تعداد در VM، پیش فرض به 1.
هنگامی که قالب ماشین نوشتن ذخیره شده است، کاربر می تواند این دستگاه از سلف سرویس درخواست کتابخانه . کاربر می تواند با کلیک بر روی سفارشی کردن و پس از آن را انتخاب کنید ارائه دهنده ابر و خوشه به استفاده از برای تأمین این سرویس دهنده Rackspace ابر.

استقرار خوشه Nginx به برنامه نویسی با استفاده از DCHQ را REST API است

هنگامی که سرور ابر مشروط هستند، کاربر می تواند این خوشه از Nginx برنامه نویسی را با استفاده از REST API DCHQ اعزام. برای ساده کردن استفاده از API، یک کاربر نیاز به انتخاب خوشه قبلا به عنوان خوشه به طور پیش فرض ایجاد شده است. این را می توان با مرور به انجام پروفایل من ، و سپس انتخاب خوشه به طور پیش فرض مورد نیاز است.
هنگامی که خوشه به طور پیش فرض انتخاب شده است، پس از آن کاربر می تواند به سادگی اسکریپت حلقه زیر که فراخوانی "استقرار" API (اجرا https://dchq.readme.io/docs/deployid ).
تصویر
در این اسکریپت حلقه ساده، ما در بر داشت زیر:
  • یک حلقه for، از 1 تا 20
  • در هر تکرار ما در حال استقرار برنامه در خوشه Nginx را با استفاده از خوشه به طور پیش فرض اختصاص یافته به user1@dchq.io~~V
  • 40dchq.io USER1٪ برای user1@dchq.io استفاده که در آن علامت @ است 40 سحر و جادو٪ جایگزین
  • @ بین رمز عبور و آدرس ها توسط سحر و جادو جایگزین نشده
  • <ID> به شناسه برنامه خوشه از Nginx اشاره دارد. این را می توان با مرور به بازیابی کتابخانه > سفارشی برای خوشه Nginx را. شناسه باید در URL شود
  • خواب 22 بین هر تکرار استفاده
  • پس از اجرای این اسکریپت، 200 ظروف Nginx را می توانست با user1@dchq.io مستقر شده اند - 20 تکرار استقرار خوشه Nginx را از هر 10 ظروف.
تمام استقرار به از Cluster Shared همان - ما پس از آن همین روند را برای کاربران دیگر (user2@dchq.io، user3@dchq.io، ...، user10@dchq.io) تکرار شده است.
شما می توانید سعی کنید از خودتان این اسکریپت حلقه. شما هم می توانید نصب DCHQ در فرض ( http://dchq.co/dchq-on-premise.html ) و یا ثبت نام در DCHQ.io میزبانی PaaS به ( http://dchq.io ).

نظارت بر پردازنده، حافظه و من O استفاده / خوشه، سرور و در حال اجرا ظروف

DCHQ اجازه می دهد تا کاربران برای نظارت بر CPU، حافظه، دیسک و I / O از خوشه، میزبان و ظروف.
  • برای نظارت بر خوشه، شما فقط می توانید به حرکت  خوشه
  • برای نظارت بر میزبان، شما فقط می توانید به حرکت ماشین آلات
  • برای نظارت بر ظروف، شما فقط می توانید حرکت به زنده برنامه
ما در بر عملکرد میزبان و خوشه قبل و بعد از ما راه اندازی 2000 ظروف دنبال کرده بود.
پس از چرخش تا 2000 ظروف، ما تصاویری از نمودار عملکرد برای خوشه اسیر. شما می توانید ببینید که استفاده از حافظه جمع در سراسر 30 سرورهای ابری در خوشه در 81 درصد بود .
تصویر
شما می توانید ببینید که بالاترین استفاده از حافظه در سراسر 30 سرورهای ابری در خوشه در 84 درصد بود .
تصویر
هنگامی که ما را به یکی از 30 میزبان در خوشه حفر و جزئیات بیشتر مانند # ظروف حال اجرا در آن میزبان خاص را دیدم، تعدادی از تصاویر کشیده و البته، پردازنده / حافظه / استفاده شده دیسک. در این مورد، استفاده از حافظه که میزبان خاص 83٪ .
تصویر
تصویر
در اینجا نمایی از همه در حال اجرا 200 خوشه Nginx را (که در آن هر خوشه 10 ظروف حال) است.
تصویر

نتیجه گیری

سازماندهی استقرار نرم افزار بر اساس کارگر بارانداز-هنوز یک چالش برای بسیاری DevOps فن و اپراتورها زیرساخت به عنوان آنها اغلب تلاش برای مدیریت استخر از سرویس دهنده در سراسر تیم توسعه متعدد که در آن کنترل دسترسی، نظارت، شبکه، قرار دادن مبتنی بر ظرفیت، در مقیاس خودکار سیاست و سهمیه جنبه های کلیدی که نیاز به پیکربندی است.
DCHQ، موجود در میزبانی و در فرض نسخه، به تمام این چالش ها فراهم می کند و تأمین زیرساخت ها، پوسته پوسته شدن خودکار، دسته بندی و قرار دادن سیاست های پیشرفته ترین برای اپراتورهای زیرساخت یا DevOps مهندسان.
علاوه بر تأمین زیرساخت ها و خوشه بندی قابلیت های پیشرفته، DCHQ ساده کانتینری از برنامه های شرکت از طریق یک چارچوب ترکیب برنامه پیش که گسترش کارگر بارانداز نوشتن با متقابل تصویر اتصالات متغیر محیطی، توسعه اسکریپت bash پلاگین است که می توان در زمان درخواست و یا مورد استناد پس از ارائه، و خوشه بندی نرم افزار برای در دسترس بودن بالا در سراسر میزبان های مختلف و یا مناطق با پشتیبانی از پوسته پوسته شدن خودکار.
برای ثبت نام رایگان در http://DCHQ.io و یا دانلود DCHQ در فرض
برای دسترسی به خارج از جعبه قالب های چند لایه نرم افزار جاوا همراه با نرم افزار قابلیت مدیریت چرخه عمر مانند نظارت، به روز رسانی ظرف، مقیاس در / و مستمر تحویل.





No comments:

Post a Comment