کلاستر کوبرنتیز مینیمال با K0s

امروز قراره با قدرت مینیمالیسم آشنا بشیم

اول یه کم راجب کوبرنتیز صحبت میکنیم

و K0s رو با رقبا مقایسه میکنیم

ویاد میگیریم که چطوری میکتونیم یه کلاستر مینیمال بیاریم بالا

قبل از اینکه شروع کنیم باید یه مقداری دانش داکر داشته باشیم

اول بریم تا یه آشنایی کمی راجب کوبرنتیز داشته باشیم

کوبرنتیز یه رهبر ارکست برای کانتینر هاست که کارش مدیریت کلاستر و سرور هاتونه مثلا اینکه چی کجا بره و…

و خوب ما توی کوبرنتیز معمولا نیاز نداریم که با کانتینر ها به طور مستقیم ارتباط برقرار کنیم چونکه خود منابعی که کوبرنتیز در اختارمون میزاره و مدیریتشون میکنه باعث میشه که ما از مدیریت اونا بی نیاز بشیم

یه کم از K0s بگیم

K0s یه ابزاریه که میتونیم باهاش کلاستر کوبرنتیز مینیمال و بی دردسر داشته باشیم

به جای داکر از ContainerD قراره استفاده کنیم (شاید یه کم سخت باشه ولی خوب مینیمال قراره پیش بریم) البته تو استفاده از ایمیج ها به مشکل نمیخوریم چون از ساختار Cgroup و دوستاش همشون پیروی میکنن

ContainerD

K0s یه خوبی که داره با کانفیگ که میگیره میتونه Helm Chart های مورد نظرتون رو موقع Bootstrap کردن کلاستر اعمال کنه که تقریبا از ابزار هایی مثل انسیبل بی نیاز میشیم

رقیباش کیان؟

microk8s ساخته canonical

K3s از تیم Rancher (سازنده Rancher و RKE)

نیازمندی هامون

برای استفاده ازش تقریبا از هر منابعی که دارید میتونید استفاده کنید ولی اگه میخواید دقیق تر بدونید پیشنهاد میکنم از این لینک دیدن کنید https://github.com/k0sproject/k0s/blob/main/docs/system-requirements.md

بریم تا یه کلاستر کوبرنتیز ساده رو داشته باشیم

اول از همه روی سرور هاتون یه سیستم عامل لینوکس بیس نصب کنید (هر توزیعی که باشه باید کار کنه)

حالا یکی از روش های نصب رو انتخاب میکنیم (Single Node, k0sctl, Raspberry Pi 4, Ansible و…) الان قراره به k0sctl و Single Node بپردازیم چون روش های پیشنهادی ان

روش Single Node

اول از همه باید k0s رو نصب کنیم

برای اینکار دستور زیر را وارد کنید

curl -sSLf https://get.k0s.sh | sudo sh

وقت یه لیوان قهوس تا نصب انجام بشه

وقتی تموم شد نصب خودتون رو میتونید با اجرای دستور k0s بدون هیچ آپشنی تایید کنید برای باید راهنمای دستورات براتون نمایش داده بشه

k0s install دستوریه
که قراره با اون

کلاستر تک سرورمون رو
init
کنیم
که با دستور زیر یه کلاستر تک نوده آماده
میشه

k0s install controller –single

و
برای استارت شدن کلاستر از دستور زیر
استفاده میکنیم

k0s start

با
دستور زیر میتونید وضعیت کلاستر رو چک
کنید

k0s status

برای
دسترسی
kubectl از دستور k0s kubectl استفاده کنید فایل کانفیگش هم اینجاست /var/lib/k0s/pki/admin.conf

حالا
بریم سراغ
k0sctl

معمولا
تو محیط های پروداکشن و جاهایی که به
اتوماتیک سازی نیاز داریم از این راه
استفاده میکنیم

توی
این تصویر میتونید روش کار این ابزار دوست
داشتنی رو ببینید

k0sctl

برای
نصبش برید توی این لینک
https://github.com/k0sproject/k0sctl/releases/latest و نسخه مناسب سیستم عامل خودتون رو دانلود کنیم و یه جای خوب تو PATH بزاریدش (اون رو توی سرور های مقصد نصب نکنید)

با
این دستور یه کانفیگ اولیه رو میسازیم

k0sctl init > k0sctl.yaml فایل ایجاد شده را بررسی و تغییرات لازم را اعمال کنید برای دیدن جزییات این فایل به آدرس https://github.com/k0sproject/k0sctl#configuration-file-spec-fields مراجعه کنید بعد از آماده شدن کانفیگ با دستور زیر کلاستر را init کنید k0sctl apply --config k0sctl.yaml سپس با دستور زیر فایل کانفیک kubectl را دریافت کنید k0sctl kubeconfig > kubeconfig با دستورات زیر میتونید از سلامت کلاستر اطمینان پیدا کنید kubectl --kubeconfig kubeconfig get all -A kubectl --kubeconfig kubeconfig get nodes اگه از حالت controller+worker استفاده میکنید و پاد ها به سرور ها اختصاص پیدا نمیکنه از دستور زیر استفاده کنید kubectl --kubeconfig kubeconfig taint nodes controlplane node-role.kubernetes.io/master:NoSchedule- دو نکته: k0sctl سرور های پاک شده را از کلاستر خارج نمیکند k0sctl apply فقط تغییرات را اعمال میکند

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]

نظرات کاربران

دیدگاهی بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *