۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

با Minikube شروع کنید

با نحوه اجرای Kubernetes بر روی دسکتاپ، یا به عنوان جایگزین Docker Desktop، با یک نسخه حذف شده از پلت فرم هماهنگ سازی کانتینر برای استفاده توسعه دهندگان آشنا شوید.

با نحوه اجرای Kubernetes بر روی دسکتاپ، یا به عنوان جایگزین Docker Desktop، با یک نسخه حذف شده از پلت فرم هماهنگ سازی کانتینر برای استفاده توسعه دهندگان آشنا شوید.

بهترین راه برای به دست آوردن پاهای خود با هر برنامه نرم افزاری این است که مستقیماً به داخل بپرید. گفتن این کار آسان تر از انجام برنامه ای به بزرگی، قدرتمندی و پیچیده بودن Kubernetes است، نرم افزاری که زیربنای مدرن است. استقرار برنامه های کاربردی مبتنی بر کانتینر در مقیاس. چگونه می‌توان بدون راه‌اندازی یک کلستر سخت‌افزاری، به Kubernetes دسترسی پیدا کرد؟

می‌توانید با Minikube کوچک شروع کنید. Minikube تجسمی از Kubernetes است که کاملاً با نسخه برادر بزرگ خود با API سازگار است، اما برای اجرا بر روی سخت افزار محلی – دسکتاپ یا نوت بوک توسعه دهنده طراحی شده است. این پلتفرم بین پلتفرمی (لینوکس، مک، ویندوز) کار می‌کند، از تمام زمان‌های اجرا کانتینر کوبرنتیس پشتیبانی می‌کند و می‌توان آن را برای افزودن قابلیت‌های پیشرفته‌تر کوبرنتیس افزایش داد.

لطفاً توجه داشته باشید: این مقاله فرض می‌کند که شما قبلاً مبانی Kubernetes را درک کرده‌اید و تا حدی با آن کار کرده‌اید. اگر به دنبال آموزش پایه برای Kubernetes هستید، گزینه های خوبی را در اینجا پیدا خواهید کرد.

نیازمندی های Minikube

Minikube بر روی هر سه سیستم عامل اصلی اجرا می شود (اگرچه در حال حاضر فقط روی سخت افزار x86-64) و به سیستمی با اتصال به اینترنت و مشخصات زیر نیاز دارد:

  • حداقل دو CPU (به عنوان مثال، یک پردازنده با دو یا چند رشته سخت افزاری). مجازی سازی به کمک سخت افزار مورد نیاز نیست اما مفید است.
  • ۲ گیگابایت حافظه رایگان — یعنی ۲ گیگابایت رم که می‌توانید بالاتر و فراتر از نیازهای بار کاری معمولی سیستم از آن استفاده کنید.
  • ۲۰ گیگابایت فضای دیسک.

همچنین به یک کانتینر یا مدیر ماشین مجازی نیاز دارید، چیزی که ممکن است بسته به پلتفرمی که اجرا می‌کنید متفاوت باشد:

  • هر پلتفرمی که از Docker پشتیبانی می‌کند، می‌تواند از آن به عنوان سیستم کانتینر استفاده کند. (همچنین می توانید از Podman جایگزین داکر استفاده کنید.)
  • Parallels، VirtualBox، VMware Fusion، یا VMware Workstation روی هر پلتفرمی که از آنها پشتیبانی می‌کند به خوبی کار می‌کنند، اگرچه این برنامه‌ها با سربار منابع اضافی و الزامات مجوز ارائه می‌شوند.
  • در MacOS، HyperKit پشتیبانی می‌شود.
  • در ویندوز، می‌توانید از Hyper-V استفاده کنید.

اگر قصد دارید Minikube را روی سیستمی اجرا کنید که به اینترنت دسترسی ندارد یا فقط دسترسی متناوب دارد، این امکان پذیر است، اما ممکن است لازم باشد یک رجیستری کانتینر محلی راه اندازی کنید تا تصاویر را از آن بکشید.

8 افزونه VS Code که نمی دانستید به آن نیاز دارید

نصب Minikube

بسته به سیستم عاملی که استفاده می کنید، باید مراحل مختلفی را برای نصب Minikube دنبال کنید.

لینوکس

ساده ترین راه برای نصب Minikube در لینوکس، نصب باینری جهانی آن است، که باید در هر توزیع معمولی کار کند:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

MacOS

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

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64
sudo install minikube-darwin-amd64 /usr/local/bin/minikube

کاربران Homebrew می‌توانند از brew install minikube استفاده کنند.

ویندوز

در ویندوز، می‌توانید از اسکریپت PowerShell زیر (طبق اسناد Minikube) برای نصب Minikube استفاده کنید. حتما آن را به عنوان مدیر اجرا کنید. توجه داشته باشید که دایرکتوری نشان داده شده در اسکریپت یک دایرکتوری نصب موقت است. Minikube در آن دایرکتوری زندگی نمی کند.

خط دوم اسکریپت تضمین می کند که فهرست هدف در سیستم PATH است. اگر می خواهید دایرکتوری نصب موقت را تغییر دهید، ممکن است نیاز به تغییر اسکریپت داشته باشید.

New-Item -Path 'c:\' -Name 'minikube' -ItemType Directory -Force
Invoke-WebRequest -OutFile 'c:\minikube\minikube.exe' -Uri 'https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe' -UseBasicParsing

$oldPath = [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine)
if ($oldPath.Split(';') -inotcontains 'C:\minikube'){ `
  [Environment]::SetEnvironmentVariable('Path', $('{0};C:\minikube' -f $oldPath), [EnvironmentVariableTarget]::Machine) `
}

استفاده از مجازی سازی با Minikube

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

گاهی اوقات یافتن این گزینه ممکن است دشوار باشد. به عنوان مثال، در برخی از سیستم‌ها، مانند سیستم‌هایی که از مادربردی که عمدتاً برای بازی ساخته شده‌اند، استفاده می‌کنند، گزینه کنترل مجازی‌سازی سخت‌افزار در میان‌افزار در بخشی از بایوس خواهد بود که به گزینه‌های اورکلاک اختصاص داده شده است. علاوه بر این، گزینه مجازی‌سازی ممکن است به‌طور پیش‌فرض قابل مشاهده نباشد، اما تنها پس از فعال کردن قابلیت مشاهده برای کنترل‌های سطح متخصص.

اگر از مجازی‌سازی استفاده می‌کنید، بهتر است از گزینه‌ای در Minikube استفاده کنید که بیشتر بومی سیستم عامل شماست. در ویندوز، این Hyper-V خواهد بود. در MacOS، HyperKit. در لینوکس، کانتینرهای بومی ایده آل هستند و مجازی سازی را کاملا اختیاری می کند، اگرچه ممکن است دلایل خود را برای استفاده از آن داشته باشید (مثلاً برای جداسازی پیشرفته).

تنظیم درایور Minikube

Minikube با کانتینر یا سیستم هایپروایزر سیستم شما از طریق درایور تعامل دارد. درایورهای موجود بسته به سیستم عامل متفاوت است، اما می‌توانید از Docker به عنوان پیش‌فرض ایمن استفاده کنید. همه پلتفرم های رایج.

برای تنظیم یک درایور برای استفاده به عنوان پیش فرض، دستور را اجرا کنید

minikube config set driver <driver_type>

جایی که یکی از تعدادی از گزینه های ممکن است. اینها رایج ترین هستند (و باید خود توضیحی باشند):

  • docker
  • kvm2
  • hyperv

درایورهای دیگر بسته به پلتفرم و نرم افزار نصب شده در دسترس هستند:

  • virtualbox – از VirtualBox به عنوان ارائه دهنده VM استفاده می کند. اگر قادر به استفاده از Hyper-V نیستید (به عنوان مثال، اگر از Windows Home استفاده می کنید) این یک گزینه مفید در ویندوز است. توجه داشته باشید که Minikube VirtualBox را نصب نخواهد کرد. باید خودتان آن را تنظیم کنید.
  • پادمن – یک زمان اجرای کانتینر جایگزین برای Docker که از معماری بدون دیمون استفاده می کند و به امتیازات ریشه نیاز ندارد. توجه داشته باشید که این درایور هنوز آزمایشی در نظر گرفته می شود و نباید در تولید استفاده شود.
  • vmware – درایور تمامی هایپروایزرهای مبتنی بر VMware. (نصب نرم افزار واقعی VMware به عهده شماست.)
  • hyperkit – درایور برای هایپروایزر منبع باز برای MacOS. این با Docker Desktop نصب شده است، بنابراین اگر قبلاً از Docker استفاده می‌کنید، ممکن است نیازی به استفاده از آن نباشد.
  • parallels – درایور برای Parallels Desktop برای Mac، که به پشتیبانی سخت افزاری VT-x نیاز ندارد.
  • ssh – به شما امکان می دهد روی یک VM ارائه شده توسط کاربر از طریق ssh اجرا کنید. توجه داشته باشید که وقتی minkube start را اجرا می کنید، باید آدرس ماشین مجازی را با یک سوئیچ خط فرمان منتقل کنید، به عنوان مثال، --ssh-ip-address=vm.machine.com.
  • هیچکد – از یک درایور فلزی برهنه استفاده کنید، معمولاً در لینوکس. فقط برای استفاده پیشرفته یا آزمایشی.

همچنین می‌توانید هر زمان که Minikube را راه‌اندازی می‌کنید، با استفاده از سوئیچ خط فرمان، درایور تهیه کنید:

minikube start --driver=docker

اگر نیاز به تغییر موقت درایورها برای آزمایش چیزی دارید، این کار مفید است. با این حال، در بیشتر موارد، می‌خواهید درایوری را تنظیم کنید که به‌عنوان بخشی از گردش کار استاندارد شما به‌طور تمام وقت از آن استفاده کند.

شروع Minikube

بعد از اینکه Minikube را نصب کردید و درایور پیش فرض آن را پیکربندی کردید، می توانید با تایپ minikube start کلاستر را راه اندازی کنید. فرآیند راه اندازی ممکن است کمی طول بکشد، زیرا Minikube ممکن است نیاز به واکشی تصاویر و پیکربندی آنها داشته باشد.

سپس می‌توانید از kubectl برای کار با Minikube مانند Kubernetes استفاده کنید.

توجه داشته باشید که به جای تایپ kubectl به تنهایی، ممکن است لازم باشد آن را با minikube پیشوند و از سوئیچ -- برای ارسال پارامترها استفاده کنید. برای مثال، به‌جای kubectl create deployment (به‌علاوه گزینه‌های دیگر برای استقرار)، باید minikube kubectl -- create deployment را تایپ کنید.

Minikube سعی می‌کند با جدیدترین نسخه Kubernetes به‌روز بماند. اگر نیاز به کار با نسخه قبلی دارید، می توانید این کار را با تعیین یک نسخه با دستور start انجام دهید:

minikube start --kubernetes-version=v1.16.0

داشبورد Minikube

Minikube با داشبورد مبتنی بر وب ارائه می‌شود که نمای کلی از خوشه را ارائه می‌دهد: بارهای کاری، خدمات، اطلاعات پیکربندی، داده‌های خوشه، تعاریف منابع سفارشی، و موارد دیگر.

برای باز کردن داشبورد در مرورگر پیش‌فرض، کافی است minikube dashboard را در خط فرمان تایپ کنید. توجه داشته باشید که اگر جلسه فرمان را که در آن داشبورد را راه‌اندازی کرده‌اید ببندید، داشبورد به‌طور خودکار خاموش می‌شود، مگر اینکه داشبورد را به‌عنوان یک فرآیند جدا راه‌اندازی کنید.

minikube داشبورد

داشبورد Minikube یک نمای تعاملی همه‌جانبه برای راه‌اندازی Kubernetes دسک‌تاپ شما فراهم می‌کند.

استفاده از Minikube به جای Docker Desktop

به دلیل تغییرات در مجوزها و هزینه های Docker Desktop، بسیاری از توسعه دهندگان در حال بررسی گزینه های جایگزین هستند. Minikube می تواند به عنوان یک جایگزین منصفانه برای Docker Desktop بدون کار اضافی زیاد عمل کند. به این صورت است:

  1. اگر قبلاً Docker Desktop را نصب کرده‌اید، آن را حذف کرده و راه‌اندازی مجدد کنید.
  2. بررسی کنید که متغیر محیطی DOCKER_BUILDKIT روی ۱ تنظیم شده باشد. (این BuildKit را برای عملکرد بهتر در طول فرآیند ساخت فعال می‌کند.)
  3. Docker CLI -- نه Docker Desktop یا Daemon Docker را نصب کنید، فقط ابزار خط فرمان. یکی از راه‌های انجام این کار با یک مدیر بسته است — به عنوان مثال، استفاده از Chocolatey در ویندوز.< /li>
  4. Minikube را به طور معمول راه اندازی کنید. اگر می خواهید تصاویر Docker بسازید، باید از درایور Docker استفاده کنید. اگر فقط می‌خواهید کانتینرها را اجرا کنید، می‌توانید از Hypervisor یا VM استفاده کنید.
  5. اگر قصد ندارید از Kubernetes استفاده کنید (فقط کانتینرها را همانطور که هست بدون ویژگی های ارکستراسیون اجرا کنید)، می توانید از minikube start --no-kubernetes به عنوان دستور شروع Minikube استفاده کنید.
  6. minikube docker-env را اجرا کنید (ممکن است لازم باشد این کار را به عنوان سرپرست انجام دهید) تا لیستی از دستورالعمل های مورد نیاز برای پیکربندی Docker برای استفاده از Minikube به عنوان میزبان زمان اجرا خود ایجاد کنید. این دستورالعمل ها بر اساس سیستم عامل متفاوت است.
  7. بعد از اینکه این دستورالعمل ها را دنبال کردید، ابزار خط فرمان docker باید از Minikube به عنوان میزبان خود استفاده کند. می‌توانید این مورد را با تایپ docker ps تأیید کنید و ببینید آیا فهرستی از کانتینرهای در حال اجرا را دریافت می‌کنید.

توجه داشته باشید که برای هر جلسه فرمان که می‌خواهید از Docker استفاده کنید، باید دستورات توضیح داده شده توسط Minkube در مرحله ۶ را فراخوانی کنید.

شاید به این مطالب علاقمند باشید