Kubernetes یک سیستم متنباز برای ارکستراسیون کانتینر است که برای خودکارسازی استقرار، مدیریت و مقیاسگذاری برنامهها طراحی شده است. این سیستم در ابتدا توسط گوگل طراحی شده و اکنون توسط بنیاد محاسبات ابری بومی (Cloud Native Computing Foundation) مدیریت و نگهداری میشود.
Kubernetes به فعالسازی عملیات مختلف یک چارچوب سرور وب انعطافپذیر برای برنامههای ابری کمک میکند. این سیستم میتواند از برونسپاری مرکز داده به ارائهدهندگان خدمات ابری عمومی پشتیبانی کند یا برای میزبانی وب بهصورت مقیاسپذیر استفاده شود. کاربران میتوانند برنامههای وب و موبایل را با کدهای سفارشی پیچیده با استفاده از Kubernetes بر روی سختافزارهای عمومی مستقر کنند تا هزینههای تامین سرور وب با میزبانهای ابری عمومی کاهش یابد و فرآیندهای توسعه نرمافزار بهینهسازی شوند.
Minikube یک ابزار است که کاربران میتوانند برای اجرای Kubernetes (k8s) بر روی ماشین محلی خود از آن استفاده کنند. Minikube یک خوشه تکنودی را در یک ماشین مجازی (VM) ایجاد میکند. خوشه Minikube به کاربر این امکان را میدهد که عملیات Kubernetes را بدون نیاز به نصب زمانبر و پرهزینه Kubernetes کامل، آزمایش کند.
انعطافپذیری Minikube به کاربران این امکان را میدهد که وظایف توسعه را انجام دهند، استقرارهای Kubernetes را آزمایش کنند یا پیکربندیها را به سرعت تست کنند. Minikube بهویژه برای کاربرانی که تازه با Kubernetes آشنا شدهاند مفید است، زیرا به آنها کمک میکند با مفاهیم پایه Kubernetes آشنا شوند. برای کارکردن Minikube، تنها چیزی که کاربر نیاز دارد یک کانتینر Docker (یا کانتینر سازگار مشابه) یا یک محیط ماشین مجازی است و Kubernetes تنها با یک فرمان در دسترس است:
minikube start
در این آموزش، ما مراحل نصب Minikube را بر روی سیستمهای macOS، Windows و Linux یاد خواهیم گرفت.
پیشنیازها
– ۲ پردازنده یا بیشتر
– ۲۰ گیگابایت فضای دیسک خالی
– ۲ گیگابایت حافظه خالی
– مدیران کانتینر یا ماشین مجازی، مانند Hyperkit، Docker، ماشین مجازی مبتنی بر هسته (KVM)، Hyper-V، Parallels، Podman، VirtualBox یا VMWare
– اتصال شبکه
مرحله ۱: نصب
برای نصب آخرین نسخههای Minikube بر روی معماری x86-64، مراحل زیر را دنبال کنید:
macOS
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64
sudo install minikube-darwin-amd64 /usr/local/bin/minikube
r=https://api.github.com/repos/kubernetes/minikube/releases
curl -LO $(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-darwin-amd64' | head -n1)
sudo install minikube-darwin-amd64 /usr/local/bin/minikube
brew install minikube
brew unlink minikube
brew link minikube
Linux
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm
sudo rpm -Uvh minikube-latest.x86_64.rpm
r=https://api.github.com/repos/kubernetes/minikube/releases
curl -LO $(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-linux-amd64' | head -n1)
sudo install minikube-linux-amd64 /usr/local/bin/minikube
r=https://api.github.com/repos/kubernetes/minikube/releases
u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube_.*_amd64.deb' | head -n1)
curl -L $u > minikube_beta_amd64.deb && sudo dpkg -i minikube_beta_amd64.deb
r=https://api.github.com/repos/kubernetes/minikube/releases
u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-.*.x86_64.rpm' | head -n1)
curl -L $u > minikube-beta.x86_64.rpm && sudo rpm -Uvh minikube-beta.x86_64.rpm
Windows
https://storage.googleapis.com/minikube/releases/latest/minikube-installer.exe
curl -Lo minikube.exe https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe
New-Item -Path “c:\” -Name “minikube” -ItemType “directory” -Force
Move-Item .\minikube.exe c:\minikube\minikube.exe -Force
$oldpath=[Environment]::GetEnvironmentVariable(“Path”, [EnvironmentVariableTarget]::Machine)
if($oldpath -notlike “*;C:\minikube*”){
[Environment]::SetEnvironmentVariable(“Path”, $oldpath+”;C:\minikube”, [EnvironmentVariableTarget]::Machine)
}
winget install minikube
choco install minikube
https://github.com/kubernetes/minikube/releases/download/v1.22.0-beta.0/minikube-installer.exe
$r='https://api.github.com/repos/kubernetes/minikube/releases'
$u=curl -s $r | Select-String -Pattern 'http.*download/v.*beta.*/minikube-windows-amd64.exe' | Select Matches -First 1
curl -Lo minikube.exe $u.Matches.Value
New-Item -Path “c:\” -Name “minikube” -ItemType “directory” -Force
Move-Item .\minikube.exe c:\minikube\minikube.exe -Force
$oldpath=[Environment]::GetEnvironmentVariable(“Path”, [EnvironmentVariableTarget]::Machine)
if($oldpath -notlike “*;C:\minikube*”){
[Environment]::SetEnvironmentVariable(“Path”, $oldpath+”;C:\minikube”, [EnvironmentVariableTarget]::Machine)
}
مرحله ۲: راهاندازی خوشه
یک ترمینال با دسترسی مدیر (اما نه به عنوان کاربر ریشه) باز کنید و دستور زیر را اجرا کنید:
minikube start
اگر Minikube نتواند راهاندازی شود، به صفحه درایورها مراجعه کنید تا در راهاندازی یک مدیر ماشین مجازی یا کانتینر سازگار کمک بگیرید.
مرحله ۳: تعامل با خوشه
اگر کاربر قبلاً `kubectl` را نصب کرده باشد، اکنون میتواند با اجرای دستور زیر به خوشه جدید خود دسترسی پیدا کند:
kubectl get po -A
اگر کاربر مشکلی با دو خط تیره در خط فرمان ندارد، Minikube میتواند نسخه مناسب `kubectl` را بهطور خودکار دانلود کند:
minikube kubectl -- get po -A
برخی از خدمات (مانند `storage-provisioner`) ممکن است در ابتدا در این خوشه در حال اجرا نباشند. این یک وضعیت معمول در زمان راهاندازی خوشه است و بهزودی خود به خود حل خواهد شد. برای دریافت اطلاعات بیشتر در مورد وضعیت خوشه کاربر، Minikube داشبورد Kubernetes را بستهبندی کرده است که به کاربر کمک میکند به سرعت با محیط جدید خود آشنا شود. برای باز کردن داشبورد Kubernetes، دستور زیر را اجرا کنید:
minikube dashboard
مرحله ۴: مدیریت خوشه
برای متوقف کردن Kubernetes بدون تأثیر بر برنامههای مستقر، دستور زیر را اجرا کنید:
minikube pause
برای از سرگیری یک نمونه متوقف شده، دستور زیر را اجرا کنید:
minikube unpause
برای متوقف کردن یا خاموش کردن خوشه، دستور زیر را اجرا کنید:
minikube stop
برای افزایش محدودیت حافظه پیشفرض (که نیاز به راهاندازی مجدد دارد)، دستور زیر را اجرا کنید:
minikube config set memory 16384
برای مرور کاتالوگ خدمات Kubernetes که به راحتی قابل نصب هستند، دستور زیر را اجرا کنید:
minikube addons list
برای ایجاد یک خوشه دوم که نسخه قدیمیتری از Kubernetes را اجرا کند، دستور زیر را اجرا کنید:
minikube start -p aged --kubernetes-version=v1.15.1
برای حذف تمام خوشههای Minikube، دستور زیر را اجرا کنید:
minikube delete --all
نتیجهگیری
این آموزش مراحل نصب Minikube را بر روی سیستمهای macOS، Windows و Linux ارائه میدهد. امیدواریم این آموزش مفید بوده باشد و اگر سوالات یا پیشنهاداتی دارید، با ما ارتباط بگیرید.