نحوه استفاده از Cloud-init برای ثبت نام خودکار خوشه های k3OS در Rancher

عکس پروفایل نویسنده

@jdbohrmanجیمز دی. بورمن

مهندس بومی ابر. نویسنده انبوهی از گرد و غبار. همانطور که در بالا تا زیر.

سیستم عامل سبک Kubernetes که به عنوان k3OS شناخته می شود ، به سرعت به عنوان یک توزیع لینوکس جمع و جور و متمرکز بر لبه ، محبوبیت خود را در جامعه ابر-بومی به دست آورده است که باعث کاهش چربی از توزیع سنتی K8s می شود. در حالی که k3OS در حال برداشتن بخار است ، هنوز در لبه خونریزی قرار دارد و هنوز کمی مواد آموزشی برای آن وجود دارد.

در این پست وبلاگ ، من قصد دارم شما را با نمایشی از چگونگی کمک به حل یک مسئله گیج کننده با استقرار Powerflex’s edge k3OS آشنا کنم.

k3OS دقیقاً چیست؟

برای کسانی که با آن آشنایی ندارند ، k3OS یک توزیع سبک لینوکس است که توسط آزمایشگاه های Rancher ساخته شده است. این نرم افزار به گونه ای طراحی شده است که تا حد امکان از سیستم عامل یک خوشه Kubernetes دور نگه داشته می شود و هدف آن فقط داشتن مواردی است که برای اجرای k3OS مورد نیاز است.

ویژگی های اصلی k3OS عبارتند از:

  • نصب سریع: با مقیاس بندی خوشه ای سریع و در کمتر از 10 ثانیه می توانید با k3 های موجود راه اندازی کنید.
  • مدیریت ساده: بدون نیاز به ورود به گره های از راه دور ، می توانید سیستم عامل را از داخل Kubernetes کنترل کنید
  • پیکربندی آسان: برای پیکربندی سیستم خود در مشخصات دلخواه خود می توانید یک اسکریپت cloud-init را در بوت اولیه اعلام کنید.
  • پشتیبانی از چند معماری: پشتیبانی x86_64 اکنون در دسترس است و پشتیبانی بازو به زودی در دسترس است.

با استفاده از یک سیستم عامل سبک Kubernetes مانند k3OS ، توسعه دهندگان می توانند برنامه های کاربردی را به راحتی در محیط های محدود به منابع مانند محیط های لبه اینترنت مستقر کنند.

اکنون ، قبل از اینکه به نسخه آزمایشی خود بپردازیم ، می خواهم مختصراً در مورد آنچه که رانچر است و چگونگی ارتباط آن با آنچه می خواهیم حل کنیم ، ارائه دهم.

رانچر چیست؟

Rancher یک سیستم عامل منبع باز Kubernetes است که می تواند چندین خوشه Kubernetes را در هر مکان و در هر ارائه دهنده مستقر و مدیریت کند. این می تواند Kubernetes را از یک ارائه دهنده میزبان تهیه کند ، گره هایی را محاسبه کند و سپس Kubernetes را روی آنها نصب کند ، یا خوشه های موجود Kubernetes را که در هر مکان اجرا می شوند به ارث برساند.

رانچر ابتدا با تمرکز کنترل دسترسی مبتنی بر نقش (RBAC) برای همه خوشه ها و دادن امکان مدیریت دسترسی خوشه ها از یک مکان ، ارزش قابل توجهی را در بالای Kubernetes می افزاید. سپس نظارت و هشدار دقیق برای خوشه ها و منابع آنها را امکان پذیر می کند ، سیاهههای مربوط به سرویس دهنده های خارجی را ارسال می کند و مستقیماً از طریق فهرست برنامه ها با Helm ادغام می شود.

استفاده از cloud-init برای ثبت نام خوشه های k3OS در Rancher

قبل از اینکه به قسمت های فنی تر برویم ، بیایید مورد استفاده از Powerflex را کمی بررسی کنیم. Powerflex هنگام استفاده از GCP برای صفحه مدیریت ، یک لبه بزرگ را ایجاد می کند که در بالای k3OS ساخته شده است. این معماری چیزی شبیه به این است:

Powerflex دارای سایت هایی است که در سراسر کشور پراکنده شده اند و روند نصب یک گره باید کاملاً پلاگین و بازی باشد. هنگامی که سایتی در حال نصب است ، Powerflex یک جعبه از پیش پیکربندی شده با k3OS را به سایت ارسال می کند ، مهندس آن را به آن متصل می کند و جعبه یک اسکریپت init را اجرا می کند که موارد زیر را انجام می دهد:

  • خوشه K8s ایجاد می کند
  • با Rancher API تماس گرفته و خوشه را ثبت می کند
  • argocd را نصب کرده و مانیفست سایت لبه را به پایین بکشید
  • آیا skupper یک اتصال به ابر ایجاد می کند

این مدل پلاگین و بازی به مهندسان میدانی اجازه می دهد تا با تلاش و نصب کم ، گره های k3OS را به سرعت مستقر کنند. بهینه سازی که امروز می خواهم کشف کنم استفاده از اسکریپت های cloud-init برای ثبت گره ها در Rancher از طریق API است.

تنظیم یک محیط آزمایشی با Virtualbox

بیایید به برخی از مراحل فنی خروج از سیستم بپردازیم تا بخواهیم VirtualBox را نصب کنیم و اطمینان حاصل کنیم که k3OS iso را از اینجا بارگیری کنید تا بتوانید کمی آن را راه اندازی کنید. شما همچنین به یک نمونه Rancher نیاز دارید که در برخی از انواع بسترهای ابری اجرا شود ، که خارج از محدوده این نسخه آزمایشی است.

فقط برای تکرار ، مواردی که شما نیاز دارید عبارتند از:

  • جعبه مجازی
  • K3OS
    iso
  • نمونه Rancher (از راه دور)

پس از نصب Virtualbox ، می خواهید آن را راه اندازی کرده و مراحل اولیه تنظیم VM و پیوست کردن ISO k3OS را طی کنید. هنگامی که این کار را انجام دادید ، دستگاه را راه اندازی کنید و باید با یک صفحه مقدمه کوچک خوشامد بگویید:

از اینجا ، می خواهید با کاربر دامدار وارد سیستم شوید و سپس از شما می پرسد که آیا می خواهید سیستم نصب را پیکربندی کنید. مراحل نصب را انتخاب و حرکت دهید تا جایی که از شما س itال شود که آیا می خواهید از یک فایل cloud-init استفاده کنید یا خیر.

قبل از اینکه بیشتر حرکت کنیم ، من قصد دارم آنچه را که فایل cloud-init در اینجا انجام می دهد ، خراب کنم. Cloud-init است استاندارد صنعت روش توزیع چندگانه برای مقداردهی اولیه نمونه ابر متقابل این برنامه در تمام ارائه دهندگان عمده ابر عمومی ، سیستم های تأمین کننده زیرساخت های ابر خصوصی و تاسیسات فلزی برهنه پشتیبانی می شود.

نمونه های Cloud از تصویر دیسک و داده های نمونه آغاز می شوند:

  • فراداده ابر
  • داده های کاربر (اختیاری)
  • داده های فروشنده (اختیاری)

ما قصد داریم با دو پرونده کار کنیم ، یکی در اینجا قرار دارد که یک فایل yaml است و از بلوک نوشتن پرونده ها برای کشیدن این اسکریپت استفاده می کند. محتوای این اسکریپت اساساً به موارد زیر می رود:

  1. رمز سرور خود را از یک سرور Rancher از راه دور بگیرید
  2. یک کلید API ایجاد کنید
  3. رمز auth را استخراج و ذخیره کنید
  4. URL سرور را پیکربندی کنید
  5. خوشه را از طریق Rancher API ایجاد کنید
  6. شناسه خوشه را استخراج کنید
  7. رمز ثبت را ایجاد کنید
  8. yaml را به پوشه / manifests خارج کنید

این یک فرایند کاملاً ساده است و من کد خام را در اینجا ارائه می دهم اما قالب بندی Medium آن را کمی دشوار می کند.

بنابراین بیایید به Virtualbox برگردیم و به k3OS خلاصه ای از پرونده cloud-init را که در مورد آن صحبت کردیم ، بدهیم.

هنگامی که به سیستم عامل URL آدرس فایل init خود را می دهید ، k3OS از این طریق برای برقراری تماس احراز هویت به سرور Rancher شما و بازگرداندن YAML برای ایجاد خوشه استفاده می کند. اگر همه چیز به درستی پیش برود ، باید در سرور Rancher خود در مورد اجرای فایل cloud-init خوشه ای نمایش دهید.

افکار نهایی

این واقعاً در مورد همه چیزهایی است که وجود دارد. اتوماسیون بسیار خوبی وجود دارد که cloud-init به شما اجازه می دهد و من کنجکاو هستم که بشنوم چگونه همه شما آن را در گردش کار خود پیاده سازی می کنید ، esp. با k3OS.

از خواندن شما متشکرم و نظر خود را به من اطلاع دهید. همچنین ، من می خواهم یک فریاد بزرگ به نیک کامپه بیفکنم که به من کمک کرد تا این پروژه را بکشم!

همچنین در https://medium.com/faun/ self-registering-compact-k3os- clusters-to-rancher-server-via-cloud-init-d4a89028c1f8

برچسب ها

با هکر نون همراه باشید

حساب رایگان خود را ایجاد کنید تا قفل تجربه خواندن سفارشی خود را باز کنید.

سئو PBN | خبر های جدید سئو و هک و سرور
مطالب پیشنهادی  ایجاد فرم های پیشرفته و تعاملات سفارشی با Velo: راهنمای راهنما