با وجود این واقعیت که کوبرنتس در حالی که کانتینر در تولید تبدیل به موتور ارکستراسیون بالفعل برای مدیریت بارهای کاری شده است، پیچیدگی عملکرد این فناوری منجر به تقاضا برای خدمات کاملاً مدیریت شده Kubernetes در سال های اخیر شده است. با اينكه آبی با ارائه راه حل های متنوع، در حال حاضر بیشتر بر روی سرویس Azure Kubernetes تمرکز کرده است و خدمات مرتبط قبلی خود را در سال جاری پایان خواهد داد. در این آموزش سرویس Azure Kubernetes وبلاگ، ما سعی خواهیم کرد تمام شک و تردیدهای شما را در مورد Kubernetes در Azure برطرف کنیم.
به گفته فوربس، درآمد مایکروسافت آژور برای چهار فصل متوالی بیش از 90 درصد رشد کرده است، زیرا آنچه را که مشتریان سازمانی می خواهند ارائه می دهد: ثبات، راه اندازی یک خوشه Kubernetes بر روی ابر Azure را با استفاده از آخرین نسخه موتور ارکستراسیون منبع باز Azure Kubernetes Service (AKS) بسیار آسان می کند.
AKS مایکروسافت علیه گوگل، شرکتی که Kubernetes را قبل از انتقال به دنیای متن باز تبلیغ می کرد، هدف گرفته است. Google Kubernetes Engine (GKE) یکی از اولین محصولات Kubernetes مدیریت ابر عمومی بود. برخلاف مایکروسافت، گوگل برای مدیریت یک کلاستر GKE با شش یا بیشتر گره، هزینه ثابتی معادل 0.15 دلار به ازای هر گره دریافت میکند، که در نتیجه نرخ ماهیانه 110 دلار دریافت میکند که مایکروسافت با AKS از آن چشمپوشی میکند. در این وبلاگ آموزش خدمات Azure Kubernetes، قبل از بررسی یک مورد استفاده در دنیای واقعی با استفاده از سرویس Azure Kubernetes، به اصول اولیه Kubernetes و AKS خواهیم پرداخت.
سرویس Azure Kubernetes چیست؟
AKS یک سرویس ارکستراسیون کانتینر با مدیریت کامل منبع باز است که در ژوئن 2018 منتشر شد و در ابر عمومی Microsoft Azure برای استقرار، مقیاسبندی و مدیریت کانتینرهای Docker و برنامههای کاربردی مبتنی بر کانتینر در محیطهای خوشهای در دسترس است. سرویس Azure Kubernetes تهیه، مقیاسبندی و ارتقاء منابع را در صورت نیاز یا بر حسب تقاضا در یک خوشه Kubernetes با حداقل زمان خرابی ارائه میکند و از همه بهتر، برای مدیریت AKS Is به دانش و تخصص گستردهای در زمینه ارکستراسیون کانتینر نیاز ندارید.
مزایای سرویس Azure Kubernetes (AKS)
AKS اکنون همراه با Azure Monitor for Containers گنجانده شده است که نظارت و اشکال زدایی استقرارهای شما را آسان تر می کند. برخی از بزرگترین مزایا در زیر ذکر شده است:
- استفاده کارآمد از منابع:
AKS کاملاً مدیریت شده امکان استقرار و نگهداری ساده برنامه های کانتینری و همچنین استفاده کارآمد از منابع را فراهم می کند که منابع اضافی را بدون دردسر حفظ زیرساخت Kubernetes فراهم می کند.
- زمان توسعه برنامه کاهش می یابد:
بیشتر زمان توسط توسعه دهندگان صرف رفع اشکال شد. AKS زمان اشکال زدایی را در حین مدیریت وصله، ارتقاء خودکار و خود ترمیم کوتاه می کند و همچنین مدیریت کانتینر را ساده می کند. این مطمئنا باعث صرفه جویی در زمان می شود و توسعه دهندگان قادر خواهند بود تا روی ساخت محصولات خود تمرکز کنند و در عین حال بهره وری بیشتری داشته باشند.
- امنیت و انطباق:
یکی از مهم ترین ویژگی های اپلیکیشن ها و شرکت های مدرن امنیت سایبری است. AKS به Azure Active Directory (AD) متصل می شود و دسترسی بر اساس تقاضا را برای کاربران فراهم می کند و به طور قابل توجهی تهدیدات و خطرات را کاهش می دهد. AKS همچنین با تمام استانداردها و الزامات نظارتی از جمله سیستم ها و کنترل سازمان (SOC)، HIPAA، ISO و PCI DSS مطابقت دارد.
- توسعه و ادغام سریع:
سرویس Azure Kubernetes (AKS) بهروزرسانی خودکار، نظارت و مقیاسبندی را در عین کاهش تعمیر و نگهداری زیرساخت، و در نتیجه توسعه و یکپارچهسازی تسریع میکند. همچنین امکان استقرار فوری منابع محاسباتی اضافی را در Kubernetes بدون سرور بدون نیاز به مدیریت زیرساخت Kubernetes فراهم می کند.
- پشتیبانی از مدیریت پروژه چابک:
یکی از مزایای اصلی AKS این است که از برنامه های توسعه چابک مانند Continuous Integration (CI)، Continuous Delivery/Continuous Deployment (CD) و DevOps پشتیبانی می کند.
ویژگی های سرویس Azure Kubernetes
Microsoft Azure سرویس Azure Kubernetes را ارائه میکند که راهاندازی خوشه Kubernetes مدیریت شده را در یک محیط ابری عمومی تسهیل میکند و همچنین سلامت و نظارت سرویس Kubernetes مدیریت شده را حفظ میکند. مشتریان می توانند گره های عامل را مدیریت کرده و با استفاده از رابط Azure یا Azure CLI خوشه های AKS ایجاد کنند. شبکه پیشرفته، نظارت و ادغام Azure AD از جمله بسیاری از ویژگی هایی است که می توان راه اندازی کرد. بیایید نگاهی به ویژگی های ارائه شده توسط Azure Kubernetes Service (AKS) بیندازیم:
- تعهد سازمانی به یک محیط متن باز:
مایکروسافت طی سالها تعداد زیادی از افراد را استخدام کرده است تا استفاده و مشارکت در پروژههای منبع باز را برای کسبوکارها و توسعهدهندگان آسانتر کند. مایکروسافت سومین مشارکتکننده اصلی در ایجاد کسبوکار بیشتر، بومیتر و قابل دسترستر Kubernetes برای جامعه Kubernetes با ارائه بهترین شیوهها و یادگیری پیشرفته از مشتریان و کاربران مختلف است.
برنامه ها و سرویس های جانبی بر روی گره های Kubernetes در AKS اجرا می شوند و یک خوشه AKS از یک یا چند گره تشکیل شده است. این گره های AKS نیز بر روی ماشین های مجازی Azure میزبانی می شوند. گره هایی با پیکربندی مشابه در کنار هم قرار می گیرند و به عنوان Node Pool نامیده می شوند. گرهها در یک خوشه Kubernetes بسته به منابع مورد نیاز خوشه، بزرگتر و پایینتر میشوند. در نتیجه، قابل مشاهده ترین اجزای معماری Azure Kubernetes شما، گره ها، خوشه ها و گره ها هستند.
- RBAC (کنترل دسترسی مبتنی بر نقش):
AKS به طور یکپارچه به Azure Active Directory (AD) متصل می شود تا دسترسی مبتنی بر نقش، امنیت و نظارت بر معماری Kubernetes مبتنی بر هویت و عضویت در گروه را فعال کند. همچنین می توانید نحوه عملکرد AKS و برنامه های خود را پیگیری کنید.
- یکپارچه سازی ابزارهای توسعه:
یکی دیگر از عناصر کلیدی AKS این است که ابزارهای توسعه مانند Helm و Draft به راحتی با AKS ادغام می شوند و به فضای توسعه دهنده Azure یک تجربه توسعه سریع و تکراری Kubernetes را برای توسعه دهندگان می دهد. کانتینرها را می توان مستقیماً در محیط Azure Kubernetes کار کرد و اشکال زدایی کرد و بار راه اندازی را کاهش داد. AKS همچنین میتواند با Azure Container Registry (ACR) ارتباط برقرار کند تا ذخیرهسازی خصوصی تصاویر Docker را فعال کند و از فرمت تصویر Docker پشتیبانی کند.
- هر حجم کاری را می توان در سرویس Azure Kubernetes اجرا کرد:
در سیستم AKS می توانید هر نوع کاری را سازماندهی کنید. میتوانید برنامههای داتنت را به کانتینرهای سرور ویندوز منتقل کنید، برنامههای جاوا را به کانتینرهای لینوکس مدرن کنید و میکروسرویسها را در سرویس Azure Kubernetes اجرا کنید. در تنظیمات کلاستر، AKS می تواند هر نوع بار کاری را انجام دهد. بیایید به این آموزش Azure Kubernetes Service برویم و به موارد استفاده واقعی از Azure Kubernetes Service نگاه کنیم.
مورد استفاده واقعی از سرویس Azure Kubernetes
منطق ورکز، ارائه دهنده پیشرو مهاجرت ابر و خدمات ابر مدیریت شده برای AWS و Azure، شریک Microsoft Azure Gold است که به کسب و کارها کمک می کند برنامه های خود را به Azure منتقل کنند. او تجربهاش را با یکی از مشتریانش که میخواست برنامه وب عمومی خود را در AKS گسترش و توسعه دهد، برای رسیدگی به موارد استفاده تجاری زیر به اشتراک گذاشت:
- دستیابی به قابلیت حمل در محل و در فضای ابری عمومی
- تسریع توسعه برنامه های کاربردی کانتینری
- تیم های توسعه و عملیات را در یک پلت فرم یکپارچه کنید
- از ادغام بومی در اکوسیستم Azure برای دستیابی به آسانی استفاده کنید:
- امنیت در سطح سازمانی
- ادغام Azure Active Directory
- ردیابی، اعتبارسنجی و اجرای انطباق در سراسر Azure Estate و AKS Cluster
- تصاویر سیستم عامل سفت و سخت برای گره ها
- برتری عملیاتی
- دستیابی به قابلیت دسترسی بالا و تحمل خطا از طریق استفاده از مناطق در دسترس
- ارائه دائمی قابلیت محاسباتی بدون نیاز به خودکارسازی و مدیریت زیرساخت های زیربنایی.
- از طریق تله متری صفحه کنترلی با پیکربندی خودکار، تجمیع گزارش و سلامت کانتینر، بینش و دید را نسبت به محیط AKS خود به دست آورید.
- امنیت در سطح سازمانی
Logicworks، با پشتیبانی AKS (سرویس Azure Kubernetes)، معماری راه حلی را ایجاد می کند که چندین بهترین روش رایج را در بر می گیرد تا اطمینان حاصل شود که می توانند نیازهای تجاری و عملیاتی مشتریان را برآورده کنند:
محیط SDLC به دو گروه تقسیم می شود که تولید را از محیط های سطح پایین تر SDLC مانند Dev/Stage جدا می کند. استفاده از فضاهای نام مزایای عملیاتی مشابهی را فراهم می کند و در عین حال با عدم استقرار خوشه های AKS در هر محیط SDLC، در هزینه و پیچیدگی عملیاتی صرفه جویی می کند.
- زمان بندی و سهمیه منابع
از آنجایی که بسیاری از محیطهای SDLC و سایر برنامهها دارای یک خوشه مشترک هستند، ضروری است که زمانبندی و سهمیههای منابع ایجاد شود تا اطمینان حاصل شود که برنامهها و سرویسهایی که به آنها وابسته هستند، منابع لازم برای کارکرد را دریافت میکنند. هنگامی که با Cluster Auto-Scaler ترکیب میشود، میتوانیم اطمینان حاصل کنیم که برنامههای ما منابع مورد نیاز خود را دریافت میکنند و زیرساختهای محاسباتی در مواقعی که به آن نیاز دارند، بزرگتر میشود.
از Azure AD برای احراز هویت/اجازه دادن به کاربران برای دسترسی و شروع عملیات CRUD (ایجاد، بهروزرسانی و حذف) در برابر خوشه AKS استفاده میکند. ادغام AAD ادغام لایههای احراز هویت (Azure و Kubernetes) را راحت و آسان میکند و سطح دسترسی لازم برای انجام مسئولیتهای خود را در عین رعایت اصل حداقل امتیاز، به پرسنل مناسب ارائه میدهد.
بهجای رمزگذاری اطلاعات استاتیک در کانتینرهای ما، شناسههای pod در فضای نام پیشفرض مستقر میشوند و بهصورت پویا هویتهای مدیریت شده به podهای مناسبی که توسط برچسب تعریف شده است، اختصاص داده میشوند. این برنامه نمونه ما را با توانایی نوشتن در Cosmos DB و خطوط لوله CI/CD ما برای استقرار کانتینرها در تولید و مرحله خوشه ها فراهم می کند.
- کنترل کننده دسترسی
کنترلکنندههای دسترسی با ایجاد قوانین و مسیرهای ورودی، ارائه خدمات برنامه با پروکسی معکوس، مسیریابی ترافیک/تعادل بار و خاتمه TLS، ترافیک را به یک خوشه AKS میآورند. این به ما امکان می دهد تا ترافیک را به طور مساوی در بین سرویس های برنامه خود توزیع کنیم تا از مقیاس پذیری و الزامات قابلیت اطمینان اطمینان حاصل کنیم.
به طور طبیعی، نظارت بر عملکرد و عملکرد روزانه خوشه AKS ما برای حفظ زمان کار و حل فعالانه مسائل احتمالی حیاتی است. با استفاده از پیادهسازی AKS مبتنی بر جابهجایی، سرویسهای برنامه میزبانی شده بر روی یک خوشه AKS را میتوان به راحتی با استفاده از مانیتور Azure کنترل و رفع اشکال کرد.
قیمت خدمات Azure Kubernetes
AKS یک سرویس ارکستراسیون کانتینر رایگان بدون هزینه برای مدیریت خوشه Kubernetes است. این مقرون به صرفه ترین راه حل هماهنگ سازی کانتینر در بازار است زیرا شما فقط برای منابع ابری استفاده می کنید، مانند ماشین های مجازی، ذخیره سازی و منابع شبکه هزینه می کنید. Microsoft Azure برای ارزیابی هزینه منابع مورد استفاده یا مورد نیاز، ماشین حساب سرویس کانتینر را راه اندازی کرد. تنها کاری که باید انجام دهید این است که برای یک حساب کاربری رایگان ثبت نام کنید، محیط Kubernetes خود را مستقر و مدیریت کنید در حالی که در حال توسعه میکروسرویس ها، استقرار خوشه های Kubernetes، نظارت و کنترل محیط Kubernetes خود هستید.
نتیجه
کسبوکارها به طور فزایندهای در حال مهاجرت از محل به محل هستند ابر در حین توسعه و نگهداری برنامه های مدرن و بومی ابری. از این طریق آموزش سرویس Azure Kubernetesدر این مقاله، میخواهیم تأکید کنیم که AKS یک سرویس هماهنگسازی کانتینر قدرتمند و مقرونبهصرفه است که به شما امکان میدهد برنامههای کانتینری را در چند ثانیه بسازید و مدیریت کنید، با منابع اضافی که بهطور خودکار بدون دردسر نگهداری سرورهای اضافی تولید میشوند. با افزایش تقاضا، گره های AKS به طور خودکار بزرگتر می شوند. مزایای مختلفی از جمله امنیت با دسترسی مبتنی بر نقش، رابط کاربری ساده با سایر ابزارهای توسعه و توانایی اجرای هر حجم کاری را ارائه می دهد. محیط خوشه kubernetes، همچنین استفاده کارآمد از منابع را فراهم می کند، عوارض را حذف می کند، به راحتی مقیاس بندی می شود، و هر بار کاری موجود را به یک محیط کانتینری منتقل می کند، که در آن همه منابع کانتینری از طریق رابط مدیریت AKS یا AKS CLI قابل دسترسی هستند.
برای آموزش دقیق تر Azure:
امیدوارم این آموزش خدمات Azure Kubernetes برای شما مفید بوده باشد. موضوعاتی که در این وبلاگ تحت پوشش قرار می گیرند، مجموعه مهارت های مورد نیاز حرفه ای ها هستند. اگر علاقه مند به تسلط بر Azure هستید، لطفا از وب سایت Edureka ما دیدن کنید و ثبت نام کنید دوره آموزشی Microsoft Azure Certification،