مجازی سازی و Cloud

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

در این مقاله قصد داریم به یک خطای آزاردهنده و تکراری که ممکن است برای افراد بسیاری که قصد راه اندازی کلاستر Kubernetes را داشته اند بپردازیم. البته دلیل اصلی این خطا را نتوانستم به صحت متوجه شوم چون بارها نصب و راه اندازی کوبرنتیز را انجام داده ام و این مشکل بصورت تصادفی در برخی مواقع ظاهر می شد و در چند نوبت هم فرآیند نصب براحتی و سادگی به اتمام می رسید! البته از مشکلات فی*ل*تر بودن آدرسهای IP کشورمان و محدودیت های اینترنتی هم نباید بسادگی بگذریم. به هر حال، روال نصب کوبرنتیز ساده بوده و بر اساس راهنمای ارائه شده در وب سایت چند دستور اجرا می شود که نهایتا فایلهای kubeadm, kubectl, kubelet بر روی سیستم های داخل کلاستر نصب می گردد. پس از نصب فایلهای کوبر، بایستی اقدام به ایجاد کلاستر نمایید.

اما مشکل زمانی است که شما قصد دارید کلاستر کوبرنتیز خود را ایجاد کنید و لازم است از دستور kubeadm init استفاده کرده و برخی پارامترها مانند –pod-network-cider و … را نیز به آن پاس کنید. اما متاسفانه در این مرحله با هشدار عجیبی مواجه می شوید و با توجه به اینکه تمام پارامترهای این دستور را نیز صحیح وارد کرده اید، ولی در زمان  لود کردن(Pull) یکی از بسته ها، عملیات ایجاد کلاستر متوقف و به حال ناتمام باقی می ماند. این مشکل را براحتی می توانید حل کنید.

دلیل این مشکل بخاطر آن هست که ایمیج های ضروری کوبرنتیز بر روی سرور master دانلود نشده اند.

برای اطمینان هم میتوانید براحتی از دستور docker images استفاده کنید و مطمئن شوید که برخی از کامپوننت های اصلی کوبرنتیز فراخوانی نشده اند. 

راه حل مشکل فوق چیست؟

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

kubeadm config images pull --kubernetes-version=v1.18.6

همانطور که می بینید، اکنون کلیه کامپوننت ها و اجزاء اصلی کوبرنتیز شامل api-server / scheduler/ proxy / etcd /coredns/ controller-manager لود و بر روی سیستم مستر بارگذاری می شوند.

حال می توانید مجددا دستور kubeadm init را با پارامترهای آن مجددا اجرا و راه اندازی و ایجاد کلاستر کوبرنتیز را با موفقیت به اتمام برسانید.


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

نشانی ایمیل شما منتشر نخواهد شد.