آموزش نصب کوبرنتیز (kubernetes) در ویندوز مرحله به مرحله + تصویر
آشنایی با مراحل نصب کوبرنتیز
نصب کوبرنتیز و استفاده از آن چه کمکی به کسب و کار ما میکند؟ امروزه مدیریت و استقرار برنامههای کانتینری به چالشی مهم تبدیل شده است. kubernetes به عنوان پلتفرمی متنباز قدرتمند، این چالش را با ارائه راهکارهای خودکارسازی، مقیاسپذیری و مدیریت چرخه عمر کانتینرها حل میکند. از استقرار آسان گرفته تا مدیریت منابع و افزایش بهرهوری، کوبرنتیز نقشی حیاتی در بهبود عملکرد زیرساختهای نرمافزاری ایفا میکند.
در این مطلب از ابرآراز، قصد داریم نحوه نصب و راه اندازی کوبرنتیز را به صورت گام به گام بررسی کنیم. تمامی مراحل، از پیشنیازها تا پیکربندی نهایی، به دقت و با توضیحات کامل ارائه خواهند شد.
چرا به کوبرنتیز نیاز داریم؟
کوبرنتیز به عنوان نوعی سیستم ارکستراسیون کانتینر، نقش حیاتی در مدیریت و اجرای برنامههای کانتینری در محیطهای عملیاتی ایفا میکند در زیر مهمترین دلایل نیاز به استفاده و نصب kubernetes آورده شده است.
- کشف سرویس و توازن بار
کوبرنتیز میتواند یک کانتینر را با استفاده از نام DNS یا آدرس IP خود در دسترس قرار دهد. این قابلیت به سرویسها اجازه میدهد تا به راحتی یکدیگر را پیدا کنند. همچنین، اگر ترافیک به یک کانتینر زیاد باشد، kubernetes میتواند با توزیع ترافیک شبکه، بار را متعادل کرده و از پایداری سرویس اطمینان حاصل کند. این ویژگی برای جلوگیری از overload شدن یک کانتینر و تضمین پاسخگویی مناسب سرویس بسیار حیاتی است.
- مدیریت ذخیرهسازی
کوبرنتیز به شما اجازه میدهد تا به صورت خودکار سیستم ذخیرهسازی مورد نظر خود را، مانند فضای ذخیرهسازی محلی، ارائهدهندگان ابر عمومی و موارد دیگر، بسازید. این ویژگی انعطافپذیری بالایی در انتخاب نوع ذخیرهسازی و مدیریت آن فراهم میکند و نیاز به پیکربندی دستی پیچیده را از بین میبرد.
- استقرار و بازگشت خودکار
شما میتوانید وضعیت مطلوب کانتینرهای مستقر شده خود را با استفاده از کوبرنتیز تعریف کنید که میتواند وضعیت فعلی را به صورت کنترل شده به وضعیت مطلوب تغییر دهد. به عنوان مثال، میتوانید kubernetes را به صورت خودکار پیکربندی کرده تا کانتینرهای جدید برای استقرار شما ایجاد کند، کانتینرهای موجود را حذف کند و تمام منابع آنها را به کانتینر جدید اختصاص دهد. این ویژگی امکان استقرار و بهروزرسانی بدون وقفه سرویس را فراهم میکند و در صورت بروز مشکل، امکان بازگشت سریع به نسخه قبلی را نیز میدهد.
- بهینهسازی تخصیص منابع
شما به کوبرنتیز یک خوشه از نودها (سرورها) میدهید که میتواند از آنها برای اجرای وظایف کانتینری شده استفاده کند. شما به kubernetes میگویید که هر کانتینر به چه مقدار CPU و حافظه (RAM) نیاز دارد. کوبرنتیز میتواند کانتینرها را روی نودهای شما قرار دهد تا بهترین استفاده از منابع شما صورت گیرد. این ویژگی به بهینهسازی مصرف منابع و کاهش هزینههای زیرساخت کمک میکند.
- خودترمیمی
کوبرنتیز کانتینرهایی که از کار میافتند را دوباره راهاندازی میکند، کانتینرها را جایگزین کرده، کانتینرهایی که به بررسی سلامت تعریف شده توسط کاربر پاسخ نمیدهند را متوقف میکند و تا زمانی که آماده ارائه سرویس نباشند، آنها را به کلاینتها معرفی نمیکند. این ویژگی پایداری و دسترسپذیری بالای سرویسها را تضمین میکند.
- مدیریت پیکربندی و اطلاعات حساس
کوبرنتیز به شما اجازه میدهد تا اطلاعات حساس مانند رمزهای عبور، توکنهای OAuth و کلیدهای SSH را ذخیره و مدیریت کنید.
پیش نیاز های نصب کوبرنتیز
نصب کوبرنتیز به صورت مستقیم روی ویندوز مانند یک برنامه معمولی بدون استفاده از ماشین مجازی یا WSL2 پشتیبانی نمیشود. به همین دلیل، برای اجرای kubernetes در محیط ویندوز، معمولاً از یکی از دو روش زیر استفاده میشود:
- Docker Desktop: این روش سادهترین راه برای شروع کار با کوبرنتیز در ویندوز است. Docker Desktop یکپارچگی کاملی با kubernetes دارد و به راحتی میتوانید آن را فعال کنید.
- Minikube: این ابزار یک کلاستر کوبرنتیز تکنودی را در یک ماشین مجازی روی سیستم شما اجرا میکند و برای توسعه و تستهای محلی بسیار مناسب است.
در هر دو روش، پیشنیازهای اصلی تقریباً مشابه هستند، با این تفاوت که Docker Desktop خودش بسیاری از پیشنیازها را فراهم میکند. در اینجا پیشنیازهای کلی و توضیحات مربوط به هر Docker Desktop را بررسی میکنیم.
الزامات سخت افزاری
الزامات سخت افزاری نصب کوبرنتیز در ویندوز به صورت زیر است:
- نود Master با حداقل ۲ گیگابایت حافظه: نود Master، هسته اصلی کلاستر kubernetes است و وظایفی مانند زمانبندی و مدیریت کانتینرها را بر عهده دارد. حداقل ۲ گیگابایت RAM برای عملکرد پایدار آن ضروری است.
- نود Worker با ظرفیت حافظه ۷۰۰ مگابایت: نودهای Worker، محل اجرای کانتینرها هستند و توسط نود Master مدیریت میشوند. حداقل ۷۰۰ مگابایت RAM برای هر نود Worker لازم است، اما بسته به نوع برنامهها، ممکن است به RAM بیشتری نیاز باشد.
- موس / کیبورد برای مسیریابی مانیتور: برای تعامل با سیستم و مشاهده خروجیها، موس و کیبورد ضروری هستند.
الزامات نرمافزاری
الزامات نرم افزاری نصب کوبرنتیز هم به صورت زیر است:
- Hyper-V: هایپروایزر نوعی فناوری مجازیسازی مایکروسافت است که برای اجرای ماشینهای مجازی و ایجاد کلاستر multi-node مورد نیاز است. Docker Desktop نیز از آن (یا WSL 2) استفاده میکند.
- Docker Desktop: داکر دسکتاپ محیطی برای توسعه و اجرای برنامههای کانتینری فراهم کرده و به صورت یکپارچه با kubernetes کار میکند.
- آدرس MAC منحصر به فرد: هر نود (ماشین مجازی) باید یک آدرس MAC منحصر به فرد داشته باشد تا در شبکه به درستی شناسایی شود.
- شناسه UUID منحصر به فرد برای هر نود: هر نود (ماشین مجازی) باید یک UUID منحصر به فرد داشته باشد.
کتابخانهها یا ابزارهای اضافی
ابزارهای اضافی نصب کوبرنتیز در ویندوز شامل موارد زیر است:
- فعال کردن قابلیتهای کوبرنتیز و PowerShell ویندوز: قابلیتهای کوبرنتیز در Docker Desktop و PowerShell ویندوز باید فعال باشند.
- ابزارهایی مانند kubectl باید از قبل نصب شده باشند. در Docker Desktop این ابزار به صورت خودکار نصب میشود.
- اطمینان از وجود دامنه کاملی از اتصال بین تمام ماشینها در کلاستر ضروری است.
- در کلاسترهای multi-node، ارتباط شبکه بین تمام نودها باید برقرار باشد.
نصب کوبرنتیز در ویندوز
تا به اینجا در مورد پیشنیازهای نصب کوبرنتیز در ویندوز توضیحاتی ارائه شد. در ادامه این مطلب شیوه نصب با روش Docker Desktop بررسی خواهیم کرد. همچنین بهعنوان مکمل این بخش، پیشنهاد میکنیم مقاله نصب داکر روی ویندوز را نیز مظالعه کنید.
قدم اول: نصب و راهاندازی Hyper-V
همانطور که میدانیم، ویندوز نرمافزار مجازیسازی خود را با نام Hyper-V دارد که میتوان آن را نسخهای پیشرفتهتر از VirtualBox در نظر گرفت. Hyper-V به شما اجازه میدهد تا ماشینهای مجازی خود را با استفاده از ابزار گرافیکی رایگان مایکروسافت یا از طریق خط فرمان مدیریت کنید. فعال کردن Hyper-V نسبتاً ساده است، اما ابتدا باید مطمئن شوید که رایانه شما شرایط زیر را دارد:
- سیستم عامل شما باید ویندوز ۱۰ یا ١١ و نسخههای Pro یا Education باشد.
- حداقل ۴ گیگابایت RAM و پشتیبانی از مجازیسازی CPU داشته باشید. همچنین باید بررسی کنید که این قابلیت در تنظیمات BIOS سیستم شما فعال باشد.
برای فعال کردن Hyper-V در کامپیوتر خود، مراحل زیر را دنبال کنید:
- ابتدا Control Panel را باز کنید. میتوانید با جستجوی Control Panel در منوی استارت ویندوز، به آن دسترسی پیدا کنید.
- از پنل سمت چپ، گزینه Programs را انتخاب کنید.
- در پنجره Programs، روی گزینه Programs and Features کلیک کرده و سپس گزینه Turn Windows features on or off را انتخاب کنید. این کار پنجرهای را باز میکند که لیست ویژگیهای ویندوز را نمایش میدهد.
- در پنجره باز شده، به دنبال گزینههای Hyper-V و Hypervisor Platform for Windows بگردید و تیک کنار آنها را بزنید. مطمئن شوید که هر دو گزینه انتخاب شده باشند.
- پس از انتخاب گزینههای مورد نظر، روی دکمه OK کلیک کنید.
اکنون سیستم شما شروع به نصب Hyper-V در پسزمینه میکند. ممکن است لازم باشد سیستم چند بار راهاندازی مجدد شود تا همه چیز به درستی پیکربندی شود. برای بررسی اینکه آیا Hyper-V با موفقیت روی رایانه شما نصب شده است، دستور زیر را به عنوان Administrator در PowerShell اجرا کنید:
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V
پس از اجرای این دستور در PowerShell، اگر وضعیت State برای گزینه Microsoft-Hyper-V به صورت Enabled نمایش داده شود، یعنی Hyper-V با موفقیت نصب شده و میتوانید به مرحله بعدی بروید.
قدم دوم: دانلود و نصب Docker برای ویندوز
کوبرنتیز در اصل نوعی سیستم ارکستراسیون کانتینر است که بر پایه داکر ساخته شده. در واقع، kubernetes ابزاری برای ارتباط با کانتینرهای Docker و مدیریت همه چیز در سطح سازمانی است. برای شروع، باید Docker را نصب کنید.
برای این کار، به صفحه دانلود Docker بروید و روی دکمه Get Docker Desktop for Windows کلیک کنید تا فایل نصب دانلود شود.
کاربران ویندوز میتوانند از Docker Desktop استفاده کنند. Docker Desktop برای ویندوز، نسخهای از Docker است که برای ویندوز ۱۰ و ١١ بهینه شده.
نصب Docker Desktop به صورت زیر است:
- برای اجرای نصبکننده، روی فایل نصب Docker for Windows که دانلود کردهاید، دوبار کلیک کنید.
- پس از اتمام نصب، Docker به طور خودکار شروع به کار میکند. وجود آیکون نهنگ در قسمت Notification area (کنار ساعت ویندوز در نوار وظیفه) نشان میدهد که Docker در حال اجراست و از طریق ترمینال قابل دسترسی است.
- یک ترمینال مانند PowerShell را باز کرده و چند دستور Docker زیر را امتحان کنید.
- برای بررسی نسخه Docker، دستور docker version را اجرا کنید.
- برای تأیید اینکه Docker میتواند تصاویر را دانلود و اجرا کند، دستور docker run hello-world را اجرا کنید.
قدم سوم نصب کوبرنتیز: نصب kubernetes روی ویندوز
Docker شامل نوعی ابزار رابط کاربری گرافیکی (GUI) است که به شما امکان میدهد برخی تنظیمات را تغییر دهید یا کوبرنتیز را نصب و فعال کنید.
برای فعال کردن کوبرنتیز در Docker Desktop، روی آیکون نهنگ Docker در نوار وظیفه (System Tray) راستکلیک کنید و گزینه Settings یا در نسخههای قدیمیتر Properties را انتخاب کنید.
اگر گزینه Properties را انتخاب کردید، ممکن است در پنجره باز شده نیاز باشد که گزینه Settings را پیدا و انتخاب کنید. این مرحله در نسخههای جدیدتر Docker Desktop معمولا لازم نیست.
حال در پنجره تنظیمات Docker Desktop، از پنل سمت چپ، گزینه Kubernetes را انتخاب کنید.
در قدم بعدی و در صفحه Kubernetes، تیک گزینه Enable Kubernetes را بزنید و سپس روی دکمه Apply کلیک کنید.
در طول فرآیند نصب (فعالسازی)، Docker بستهها و وابستگیهای اضافی را نصب خواهد کرد. بسته به سرعت اینترنت و عملکرد کامپیوتر شما، ممکن است بین ۵ تا ۱۰ دقیقه طول بکشد. صبر کنید تا پیام Installation complete! (نصب کامل شد!) روی صفحه ظاهر شود. پس از نصب کوبرنتیز، میتوانید از برنامه Docker برای اطمینان از عملکرد صحیح همه چیز استفاده کنید. اگر هر دو سرویس (Docker و Kubernetes) به درستی و بدون خطا در حال اجرا باشند، هر دو آیکون در پایین سمت چپ پنجره Docker Desktop به رنگ سبز در میآیند.
قدم چهارم: نصب Kubernetes Dashboard
Kubernetes Dashboard نوعی رابط کاربری وب رسمی برای مدیریت منابع کوبرنتیز است. این داشبورد به صورت پیشفرض نصب نیست. برای مدیریت منابع kubernetes از ابزار خط فرمان kubectl استفاده میشود. kubectl به شما اجازه میدهد با کلاستر کوبرنتیز خود (شامل Pod ها، Node ها و Cluster) تعامل داشته باشید. شما میتوانید با استفاده از دستور kubectl apply و ارائه فایل YAML پیکربندی، منابع kubernetes را ایجاد یا بهروزرسانی کنید.
برای نصب و فعال کردن Kubernetes Dashboard در هنگام نصب کوبرنتیز مراحل زیر را دنبال کنید:
- دریافت فایل پیکربندی YAML: ابتدا باید فایل پیکربندی YAML مربوط به داشبورد را دانلود کنید. شما باید این فایل را از منابع معتبر کوبرنتیز پیدا و دانلود کنید. (دانلود فایل)
- استقرار داشبورد با استفاده از kubectl: پس از دانلود فایل YAML، از دستور زیر برای استقرار داشبورد استفاده کنید:
kubectl apply -f recommended.yaml
به جای recommended.yaml، نام فایل YAML دانلود شده خود را قرار دهید. اگر فایل در مسیر جاری ترمینال شما نیست، مسیر کامل آن را مشخص کنید.
- بررسی وضعیت استقرار: برای بررسی اینکه آیا داشبورد به درستی اجرا میشود، میتوانید از دستور زیر استفاده کنید:
kubectl get pods -n kubernetes-dashboard
این دستور Pod های مربوط به داشبورد را در namespace kubernetes-dashboard نمایش میدهد. اگر وضعیت Pod ها Running باشد، یعنی داشبورد به درستی در حال اجراست.
همچنین برای بررسی سرویس مربوط به داشبورد از دستور زیر استفاده کنید:
kubectl get service -n kubernetes-dashboard
با اجرای این دستورات و مشاهده خروجی آنها میتوانید از نصب صحیح داشبورد مطمئن شوید.
قدم پنجم در آموزش نصب کوبرنتیز: دسترسی به داشبورد
برای دسترسی به Kubernetes Dashboard دو راه وجود دارد: استفاده از توکن پیشفرض که هنگام نصب kubernetes ایجاد میشود یا ایجاد کاربر جدید با سطح دسترسی مشخص و دریافت توکن برای آن کاربر (که روش امنتری است). برای سادگی، از روش اول استفاده میکنیم:
- در PowerShell (نه cmd)، دستور زیر را اجرا کنید:
((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
- توکن تولید شده را کپی کنید.
- دستور kubectl proxy را اجرا کنید. این دستور نوعی پراکسی موقت ایجاد میکند تا بتوانید به داشبورد دسترسی پیدا کنید. ترمینال را باز نگه دارید.
- لینک زیر را در مرورگر خود باز کنید:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
- گزینه Token را انتخاب و توکن کپی شده را در آنجا paste کنید.
- روی Sign In کلیک کنید.
اگر همه چیز در هنگام نصب کوبرنتیز در ویندوز به درستی پیکربندی شده باشد، داشبورد و منابع کلاستر خود را مشاهده خواهید کرد. از این طریق میتوانید بسیاری از کارهای مدیریتی را بدون نیاز به استفاده مداوم از خط فرمان انجام دهید.
پیکربندی خوشه (Cluster) کوبرنتیز
پیکربندی خوشه کوبرنتیز شامل تنظیماتی برای نحوه عملکرد اجزای مختلف خوشه مانند گرهها، شبکه، رجیستری و افزونهها است که در یک فایل پیکربندی YAML تعریف میشوند. این تنظیمات مشخص میکنند که خوشه چگونه ساخته شود، منابع چگونه مدیریت شوند و برنامهها چگونه اجرا شوند. این فایل کلیاتی به صورت زیر را دارد:
kubernetes: version: v1.22.12 imageRepo: kubesphere clusterName: cluster.local masqueradeAll: false maxPods: 110 nodeCidrMaskSize: 24 proxyMode: ipvs network: plugin: calico calico: ipipMode: Always vxlanMode: Never vethMTU: 1440 kubePodsCIDR: 10.233.64.0/18 kubeServiceCIDR: 10.233.0.0/18 registry: registryMirrors: [] insecureRegistries: [] privateRegistry: "" addons: []
در اینجا توضیحات مختصری از اجزای اصلی پیکربندی از هر کدام آمده است:
kubernetes: تنظیمات مربوط به خود کوبرنتیز
- version: نسخه کوبرنتیز برای نصب (مثلاً v1.22.12). اگر مشخص نشود، KubeKey v3.0.7 به طور پیشفرض v1.23.10 را نصب میکند.
- imageRepo: مخزن Docker Hub برای دانلود ایمیج.
- clusterName: نام خوشه kubernetes.
- masqueradeAll: (به طور پیشفرض false) تنظیمات مربوط به SNAT در حالت proxy iptables.
- maxPods: (به طور پیشفرض 110) حداکثر تعداد Pod هایی که میتوانند روی یک Kubelet اجرا شوند.
- nodeCidrMaskSize: (به طور پیشفرض 24) اندازه ماسک CIDR برای نودها.
- proxyMode: (به طور پیشفرض ipvs) حالت proxy مورد استفاده.
network: تنظیمات مربوط به شبکه.
- plugin: پلاگین CNI (Container Network Interface) مورد استفاده (به طور پیشفرض Calico، همچنین Flannel نیز قابل استفاده است).
- calico: تنظیمات مربوط به Calico.
- ipipMode: (به طور پیشفرض Always) حالت IPIP برای Pool های IPv4.
- vxlanMode: (به طور پیشفرض Never) حالت VXLAN برای Pool های IPv4.
- vethMTU: (به طور پیشفرض 1440) حداکثر واحد انتقال (MTU) برای veth.
- kubePodsCIDR: بلاک CIDR معتبر برای زیرشبکه Pod های کوبرنتیز.
- kubeServiceCIDR: بلاک CIDR معتبر برای سرویسهای kubernetes.
registry: تنظیمات مربوط به رجیستری Docker.
- registryMirrors: تنظیم آینههای رجیستری Docker برای افزایش سرعت دانلود.
- insecureRegistries: تنظیم رجیستریهای ناامن.
- privateRegistry: تنظیم یک رجیستری خصوصی برای نصب در محیطهای بدون دسترسی به اینترنت (air-gapped).
addons: برای نصب افزونههای cloud-native) YAML یا Chart).
نصب شبکه کوبرنتیز (Networking Setup)
نصب شبکه در کوبرنتیز (Networking Setup) به طور خلاصه شامل چند مرحله کلیدی است که در زیر به آنها اشاره میکنیم:
- انتخاب CNI: یک پلاگین CNI مانند Calico یا Flannel را انتخاب کنید. این پلاگین مسئول ارتباط شبکه بین Pod هاست.
- پیکربندی CIDR: بلاکهای IP (CIDR) برای Pod ها و سرویسها را مشخص کنید. این بلاکها نباید با شبکه موجود شما تداخل داشته باشند.
- نصب CNI: پلاگین CNI انتخاب شده را با استفاده از فایلهای YAML مربوطه روی خوشه کوبرنتیز نصب کنید.
- بررسی اتصال: اتصال شبکه بین Pod ها و دسترسی آنها به سرویسها و دنیای بیرون را تست کنید.
این چهار قدم اصلی برای راهاندازی شبکه در کوبرنتیز هستند. در نظر داشته باشید که مراحل دقیق نصب و پیکربندی CNI بستگی به پلاگین انتخابی شما دارد. برای اطلاعات دقیقتر، به مستندات مربوط به پلاگین CNI مورد نظر خود مراجعه کنید.
تست و اعتبارسنجی نصب کوبرنتیز
تست و اعتبارسنجی نصب کوبرنتیز به منظور اطمینان از صحت نصب و پیکربندی صحیح آن انجام میشود. این فرایند شامل بررسی وضعیت اجزای مختلف خوشه و اطمینان از عملکرد صحیح آنها است. در اینجا به صورت خلاصه به روشهای تست و اعتبارسنجی نصب kubernetes اشاره میکنیم:
ا. بررسی ابزارهای خط فرمان
مطمئن شوید که نسخههای kubeadm و kubectl با نسخه کوبرنتیز شما مطابقت دارند. برای این کار از دستورات زیر استفاده کنید:
kubeadm version kubeadm version --short
۲. بررسی نودهای خوشه
مطمئن شوید که تمام نودها، شامل نود Master و Worker، در وضعیت Ready (آماده) هستند. از دستورات زیر استفاده کنید:
kubectl get nodes kubectl get nodes -o wide
۳. بررسی اجزای کوبرنتیز
مطمئن شوید که تمام اجزای نود Master کوبرنتیز در وضعیت Running (در حال اجرا) هستند. از دستورات زیر استفاده کنید:
kubectl get pods -n kube-system kubectl get pods -n kube-system -o wide
۴. بررسی سرویسها: Docker و Kubelet
مطمئن شوید که سرویسهای Docker و Kubelet روی تمام نودها در وضعیت Active (Running) (فعال و در حال اجرا) و Enabled (فعال شده) هستند. از دستورات زیر استفاده کنید:
systemctl status docker
systemctl status kubelet
۵. استقرار برنامه Nginx
الف) برای استقرار برنامه Nginx، یک Deployment با نام Nginx-deploy با استفاده از فایل YAML روی نود Master ایجاد میکنیم. فایل nginx-deploy.yaml به شکل زیر خواهد بود:
YAML apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx-app spec: replicas: 1 # تعداد Podها selector: matchLabels: app: nginx-app template: # تعریف Pod metadata: labels: app: nginx-app spec: containers: - name: nginx-container image: nginx:latest # ایمیج Nginx ports: - containerPort: 80 # پورت داخل کانتینر
ب) با استفاده از دستور kubectl، این Deployment را ایجاد میکنیم:
kubectl apply -f nginx-deploy.yaml
ج) وضعیت Pod را بررسی میکنیم:
kubectl get pods kubectl get pods -o wide
د) Deployment Nginx را با استفاده از سرویس Kubernetes NodePort (با پورت ۳۲۰۰۱) در دسترس قرار میدهیم. فایل nginx-service.yaml به شکل زیر خواهد بود:
YAML apiVersion: v1 kind: Service metadata: name: nginx-app spec: selector: app: nginx-app type: NodePort # نوع سرویس NodePort ports: - port: 80 # پورتی که سرویس روی آن گوش میدهد targetPort: 80 # پورتی که کانتینر روی آن گوش میدهد nodePort: 32001 # پورتی که روی نود باز میشود
ه) با استفاده از دستور kubectl، این سرویس را ایجاد میکنیم:
kubectl apply -f nginx-service.yaml
و) سرویس را بررسی میکنیم:
kubectl get service
در نهایت، با استفاده از IP نود Worker و پورت ۳۲۰۰۱، میتوانید به سرویس Nginx دسترسی پیدا کنید (مطمئن شوید که پورت ۳۲۰۰۱ روی نود Worker باز باشد).
پس از استقرار سرویس Nginx با نوع NodePort و اختصاص پورت ۳۲۰۰۱ به آن، شما میتوانید از طریق IP نود Worker و پورت ۳۲۰۰۱ به این سرویس دسترسی پیدا کنید.
جمعبندی: روش نصب کوبرنتیز
نصب کوبرنتیز فرایندی چند مرحلهای است که نیازمند دقت در پیکربندی و رعایت پیشنیازهاست. از بررسی دقیق پیشنیازهایی مانند نصب صحیح Docker و تخصیص منابع کافی سیستم گرفته تا پیکربندی صحیح CNI برای شبکهبندی، هر مرحله اهمیت ویژهای دارد. عیبیابی مؤثر نیز مستلزم آشنایی با ابزارهایی مانند kubectl و بررسی لاگهاست. با پیروی از دستورالعملها و استفاده از منابع معتبر، میتوان یک خوشه kubernetes پایدار و کارآمد راهاندازی کرد.
در اینجا خلاصهای از مراحل نصب کوبرنتیز آمده است:
- آمادهسازی محیط
- راهاندازی Master Node
- پیوستن Worker Node ها (اختیاری)
- بررسی وضعیت خوشه
سوالات متداول
- سادهترین راه نصب کوبرنتیز در ویندوز چیست؟
استفاده از Docker Desktop، فرآیند نصب را بسیار ساده میکند.
- آیا همه ویژگیهای کوبرنتیز در ویندوز کار میکنند؟
خیر؛ برخی تفاوتها وجود دارد. برای اطلاع دقیق از ویژگیهای پشتیبانی شده در ویندوز، به مستندات kubernetes مراجعه کنید.
- آیا نسخه خاصی از Windows Server برای کوبرنتیز در ویندوز لازم است؟
بله؛ برای کانتینریزاسیون و ارکستراسیون، به Windows Server 2019 و نسخههای بالاتر نیاز است.
- آیا محدودیتی در استفاده از کانتینرهای ویندوزی در kubernetes وجود دارد؟
بله؛ چالشهایی وجود دارد. برای مثال، برخی از پلاگینهای شبکه پشتیبانی نمیشوند و رفتار کانتینرهای لینوکسی ممکن است متفاوت باشد. برای اطلاعات بیشتر به مستندات کوبرنتیز مراجعه کنید.