برنامه نویسی

شروع با Minikube برای Kubernetes

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

ویژگی های کلیدی:

  • اجزای Kubernetes را نصب و مدیریت می کند
  • از خوشه های تک گره و چند گره پشتیبانی می کند
  • هم دسترسی CLI و هم مبتنی بر وب را ارائه می دهد
  • پروفایل های سفارشی و انتخاب درایور را فعال می کند

الزامات سخت افزاری

Minikube منابع محلی برای گره های خوشه ای را ارائه می دهد. حداقل توصیه شده در هر گره:

  • CPU: 2 هسته
  • خاطره: 2 گیگابایت (4-8 گیگابایت توصیه می شود)
  • انباره: 20 گیگابایت
  • اینترنت: برای بارگیری اولیه و بارگیری تصویر لازم است

اطمینان حاصل کنید که سیستم شما از منابع کافی برای Minikube و هر بار کاری برخوردار است.

الزامات نرم افزاری

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

پیش روی سرپرست کانتینر زمان
لینوکس VirtualBox ، KVM2 ، Qemu داکر ، پودمن
مگس VirtualBox ، HyperKit ، VMware Fusion ، موازی داکر ، پودمن
ویندوز VirtualBox ، Hyper-V ، ایستگاه کاری VMware ، QEMU داکر ، پودمن

یادداشت: در لینوکس می توانید استفاده کنید --driver=none برای اجرای Minikube به طور مستقیم روی میزبان. این انزوا را دور می زند و به دسترسی ریشه ای نیاز دارد.

خوشه ها را ایجاد و مدیریت کنید

موارد زیر را اجرا کنید تا اولین خوشه خود ایجاد کنید:

Minikube Start

این دستور:

  • درایور مشخص شده را تشخیص داده یا استفاده می کند
  • یک VM یا ظرف با:
    • 2 CPU
    • حافظه 6 گیگابایتی
    • ذخیره 20 گیگابایتی
  • bootstraps kubernetes با استفاده از kubeadm
  • Docker را به عنوان زمان پیش فرض کانتینر نصب می کند
  • یک پروفایل پیش فرض برای ردیابی حالت خوشه ایجاد می کند

برای ایجاد یک خوشه چند گره:

minikube start \--profile custom-cluster \--nodes 3 \--kubernetes-version=v1.28.1 \--driver=docker
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

از --profile پرچم برای ایجاد و مدیریت چندین خوشه.

پروفایل های خوشه

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

minikube stop \--profile custom-cluster  
minikube start  \# Uses the default profile
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

استفاده کردن --profile در دستورات برای مدیریت چندین محیط.

فعال کردن خودکار (اختیاری)

AutoClempletion تجربه CLI شما را تقویت می کند. به عنوان مثال ، در Bash:

منبع <(Minikube تکمیل Bash)

دسترسی به Minikube

Kubectl (CLI)

Minikube شامل یک نسخه بسته بندی شده از kubectl:

minikube kubectl \-- get pods

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

با این حال ، برای راحتی ، نصب کنید kubectl جداگانه این به طور خودکار خوشه minikube شما را تشخیص می دهد.

داشبورد Kubernetes (UI وب)

برای استفاده از UI مبتنی بر وب:

addons enable metrics-server  
minikube addons enable dashboard  
minikube dashboard
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

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

دسترسی به API Kubernetes

سرور API نقطه ورود به خوشه است. می توانید از طریق آن به آن دسترسی پیدا کنید:

  • ابزار Kubectl و CLI
  • داشبورد وب
  • اتوماسیون سفارشی با استفاده از تماس های HTTP API

استفاده کردن kubectl proxy برای افشای سرور API:

kubectl proxy
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این دسترسی در http://localhost:8001/بشر

برای کشف API: curl http://localhost:8001/api/v1

برای اجرای پروکسی در پس زمینه:

kubectl proxy &
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

دسترسی بدون پروکسی

برای دسترسی مستقیم به API Kubernetes ، از اعتبار تأیید اعتبار یا گواهینامه استفاده کنید.

به عنوان مثال ، شما باید یک توکن ایجاد کنید و به آنها دسترسی پیدا کنید:

export TOKEN=$(kubectl create token default)  
export APISERVER=$(kubectl config view \--minify \-o jsonpath="{.clusters\[0\].cluster.server}")
curl $APISERVER \--header "Authorization: Bearer $TOKEN" \--insecure
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

با استفاده از داشبورد Minikube ، یک برنامه NGINX را مستقر و دسترسی پیدا کنید

شما از تصویر کانتینر nginx از Docker Hub استفاده خواهید کرد.

  1. Minikube را شروع کنید: برای راه اندازی خوشه محلی Kubernetes خود ، اجرا کنید:
  2. وضعیت را تأیید کنید:
  3. داشبورد را راه اندازی کنید: داشبورد Kubernetes مبتنی بر وب را شروع کنید:

داشبورد نمایش استقرار ، غلاف و ماکت ها

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

توجه: اگر دستگاه خود را راه اندازی مجدد کرده یا از سیستم خارج شده و وارد سیستم شوید ، دستور داشبورد Minikube را دوباره وارد کنید تا داشبورد را مجدداً باز کنید.

استقرار یک برنامه – دسترسی به داشبورد

برای استقرار برنامه NGINX:

  1. در داشبورد ، انتخاب کنید مستقر کردنبشر
  2. انتخاب کردن گزینه های پیشرفته را نشان دهید برای تنظیم:
    • برچسب
    • نام
    • درخواست منابع
  3. از nginx به عنوان تصویر کانتینر استفاده کنید.
  4. انتخاب کردن مستقر کردنبشر

استقرار ایجاد می کند:

  • یک منبع استقرار (به عنوان مثال ، وب)
  • یک ماکت (به عنوان مثال ، Web-DASH-74D8BD488F)
  • یک غلاف (به عنوان مثال ، Web-DASH-74D8BD488F-DWBZZ)

توجه: نام منابع بی نظیر است و ممکن است در خوشه شما متفاوت باشد. الگوی نامگذاری از کنوانسیون های Kubernetes پیروی می کند.

دسترسی به برنامه در مرورگر از طریق Nodeport

از پانل ناوبری سمت چپ برای کشف منابع استقرار ، ماکت و POD استفاده کنید.

شما می توانید:

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

هنگامی که ما ایجاد می کنیم وب سنگی استقرار ، ما می توانیم از پانل ناوبری منبع از سمت چپ داشبورد برای نمایش جزئیات استقرار ، ماکت ها و غلافها در پیش فرض فضای نام

یک برنامه کانتینر شده - رابط کاربری

به برنامه دسترسی پیدا کنید

برای دسترسی به برنامه: IP Minikube را دریافت کنید

در مرورگر خود ، به http: //192.168.99.100 بروید: \. تعویض کردن با درگاه واقعی که به خدمات شما اختصاص داده شده است (به عنوان مثال ، 31074).

Minikube برنامه را در مرورگر خود باز می کند. شما باید صفحه پیش فرض Nginx Welcome را مشاهده کنید.

استقرار یک برنامه - دسترسی به داشبورد

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

ورود را برای مسیریابی فعال کنید

Minikube شامل کنترلر Ingress Nginx به عنوان یک افزودنی داخلی است. برای فعال کردن آن ، اجرا کنید:

افزونه های Minikube Ingress را فعال کنید

ورود را برای مسیریابی فعال کنید

یک مانیفست Ingress اعمال کنید:

kubectl apply \-f virtual-host-ingress.yaml

مطالب را اضافه کنید /etc/hosts:

192.168.99.100 blue.example.com green.example.com

یک منبع Ingress را مستقر کنید

پس از فعال کردن کنترلر Ingress ، منبع Ingress خود را با استفاده از:

kubectl create \-f virtual-host-ingress.yaml

پیکربندی های زندگی ، آمادگی و راه اندازی را پیکربندی کنید

پروب سلامت کانتینر را کنترل و مدیریت می کند. اگر یک ظروف پاسخگو نباشد ، Kubelet از پروب ها برای انجام اقدامات استفاده می کند (به عنوان مثال ، ظرف را مجدداً راه اندازی کنید).

به جای شروع مجدد آن به صورت دستی ، می توانیم از یک کاوشگر زندگی استفاده کنیم. Livice Probe بررسی سلامت یک برنامه ، و در صورت عدم انجام بررسی سلامت ، کلبه ظرف آسیب دیده را به طور خودکار مجدداً راه اندازی می کند.

کاوشگرهای زنده

برای تشخیص و بازیابی از برنامه های بدون پاسخ ، از پروب های زنده بودن استفاده کنید.

انواع پشتیبانی شده:

  • فرمان
  • http دریافت کنید
  • سوکت TCP
  • GRPC

پروب زندگی (EXEC)

livenessProbe:  
  exec:  
    command: \["cat", "/tmp/healthy"\]  
  initialDelaySeconds: 15  
  periodSeconds: 5
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

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

پروب راه اندازی (HTTP)

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

startupProbe:  
  httpGet:  
    path: /startup  
    port: 8080  
  failureThreshold: 30  
  periodSeconds: 10 ` 
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نوشته های مشابه

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

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

دکمه بازگشت به بالا