Kubethor هو تطبيق الويب Kubernetes Management تم تصميمه باستخدام GO و React. يوفر واجهة سهلة الاستخدام لإدارة ومراقبة مجموعات Kubernetes بكفاءة.
الواجهة
الخلفية
docker pull kubethor/kubethordocker run -p 8080:8080 kubethor/kubethorلمزيد من التفاصيل حول صورة Docker ، تفضل بزيارة صفحة Hub Kubethor Docker.
فيما يلي نظرة عامة على بنية المشروع:
kubethor/
├── kubethor-frontend/ # React frontend
│ ├── public/ # Public assets
│ ├── src/ # React source code
│ ├── assets # Contains frontend assets
│ ├── components # Contains commonly used hooks and components
│ ├── layouts # Contains common page layouts
│ ├── pages # Contains pages component
│ ├── App.jsx
│ └── ... # Other frontend files
│ ├── package.json # Node.js dependencies
│ └── ... # Other frontend files
│
├── kubethor-backend/ # Go backend
│ ├── main.go # Main Go application
│ ├── go.mod # Go module dependencies
│ ├── api # Contains api's
│ ├── config # Contains configuration
│ ├── build.sh # Build script for standalone app
│ ├── k8s.yaml # Kubernetes deployment file
│ ├── Dockerfile # Kubernetes deployment file
│ ├── dist # Compiled React build (Need to copy from frontend folder after build)
│ └── ... # Other backend files and folders
│
├── README.md # Project README
└── ... # Other project files
kubethor-frontend/
public/ : يحتوي على أصول ثابتة مثل الصور والخطوط وملف index.html الذي يعمل كنقطة دخول لتطبيق React.src/ : رمز المصدر الرئيسي لتطبيق React.assets/ : يحتوي على أصول الواجهة الأمامية مثل الصور والرموز والأنماط.components/ : يحتوي على مكونات رد فعل قابلة لإعادة الاستخدام والخطافات المستخدمة في جميع أنحاء التطبيق.layouts/ : يحتوي على مكونات تخطيط تحدد بنية تخطيطات الصفحة الشائعة.pages/ : يحتوي على مكونات الصفحة التي تمثل طرق عرض أو طرق مختلفة في التطبيق.App.jsx : مكون التطبيق الرئيسي الذي يقوم بإعداد التوجيه ويجعل التصميم الأساسي للتطبيق.package.json : يحدد تبعيات Node.js والبرامج النصية لمشروع الواجهة الأمامية. kubethor-backend/
main.go : ملف تطبيق GO الرئيسي الذي يهيئة وتشغيل خادم الخلفية.go.mod : يحدد تبعيات وحدة GO لمشروع الخلفية.api/ : يحتوي على تطبيقات API التي يعرضها خادم الخلفية.config/ : يحتوي على ملفات التكوين لبيئات وإعدادات مختلفة تستخدمها الواجهة الخلفية.build.sh : برنامج نصي بناء يستخدم لتجميع تطبيق الواجهة الخلفية المستقلة وإدارة عملية الإنشاء.k8s.yaml : ملف نشر Kubernetes الذي يحدد كيفية نشر تطبيق الواجهة الخلفية على مجموعة Kubernetes.Dockerfile : ملف إنشاء Docker يستخدم لإنشاء صورة Docker لتطبيق الواجهة الخلفية.dist/ : دليل حيث يتم نسخ Build Build المترجم من مجلد الواجهة الأمامية بعد عملية الإنشاء. هذا يسمح للواجهة الخلفية بخدمة تطبيق الواجهة الأمامية. فيديو:
استنساخ المستودع:
git clone [email protected]:sassoftware/kubethor.git
cd kubethorإعداد الواجهة الأمامية:
انتقل إلى الدليل kubethor-frontend :
cd ../kubethor-frontendتثبيت التبعيات:
npm installإذا كان هناك أي خطأ في استخدام:
npm config set registry https://registry.npmjs.org/
npm install --verboseبناء تطبيق React:
npm run buildلتشغيل تطبيق React في بيئة التطوير:
npm run devإعداد الخلفية:
انتقل إلى دليل kubethor-backend :
cd ../kubethor-backend Copy Dist Folder [React App Build to Backend] من kubethor-frontend إلى دليل kubethor-backend :
cp -r ../kubethor-frontend/dist/ ../kubethor-backendقم بتنزيل جميع التبعيات:
go mod downloadبناء تطبيق GO:
go build -o kubethor-backendبدء الواجهة الخلفية:
انتقل إلى الدليل backend :
cd kubethor-backendقم بتشغيل تطبيق GO:
./kubethor-backend سيتم تشغيل تطبيق الواجهة الخلفية على http://localhost:8080 .
ابدأ الواجهة الأمامية:
انتقل إلى دليل frontend :
cd ../kubethor-frontendابدأ خادم التطوير:
npm run dev سيتم تشغيل تطبيق الواجهة الأمامية على http://localhost:3000 .
بناء التطبيق المستقل:
انتقل إلى دليل kubethor-backend :
cd kubethor-backend قم بتشغيل نص build.sh :
./build.shملاحظة: يقوم برنامج
build.shبإنشاء تطبيق React ، ويقوم بنسخه إلى مجلدkubethor-backend، ثم يقوم بتضمينه في GO Texplable. يمكن تشغيل هذا المنفرد القابل للتنفيذ لخدمة التطبيق بالكامل علىhttp://localhost:8080دون الحاجة إلى تشغيل الواجهة الأمامية بشكل منفصل.
تشغيل التطبيق المستقل:
بعد تشغيل build.sh ، ابدأ التطبيق:
./kubethor-backend سيكون التطبيق متاحًا على http://localhost:8080 .
نظرًا لأن صورة Docker هي أيضًا نوع من التطبيقات المستقلة ، تأكد من نسخ أحدث مجلد dist في مجلد kubethor-backend . إذا كنت تقوم بإنشاء الصورة لنشرها على خادم مضيف ، فتأكد من تغيير API_BASE_URL و API_WS_URL في kubethor-frontend مع اسم المضيف الخاص بك. يقوم برنامج build.sh Script بإنشاء تطبيق React ، ويقوم بنسخه إلى مجلد kubethor-backend . من الجيد تشغيل build.sh قبل بناء صورة Docker الخاصة بك.
بناء صورة Docker:
انتقل إلى دليل kubethor-backend :
cd kubethor-backendبناء صورة Docker:
docker build --no-cache -t kubethor-backend .قم بتشغيل حاوية Docker:
قم بتشغيل حاوية Docker:
docker run -p 8080:8080 kubethor-backendاضغط على سجل Docker:
تسجيل الدخول إلى سجل Docker الخاص بك:
docker login YOUR_REGISTERY.comوضع علامة على صورة Docker:
docker tag kubethor-backend:latest YOUR_REGISTERY.com/kubethor/kubethor-backend:latestادفع صورة Docker:
docker push YOUR_REGISTERY.com/kubethor/kubethor-backendانتشر إلى مجموعة Kubernetes:
انتقل إلى دليل kubethor-backend :
cd kubethor-backend تأكد من أن لديك مجموعة kubernetes تعمل وتكوين kubectl للتفاعل معها.
قم بتحديث ملف k8s.yaml في دليل kubethor-backend مع رابط صورة Docker وعنوان URL المضيف :
قم بتطبيق تكوين Kubernetes:
kubectl apply -f k8s.yaml -n my-namespaceبعد النشر الناجح ، انتقل إلى عنوان URL المضيف الخاص بك
ملاحظة: تأكد من أن لديك الأذونات اللازمة لنشر الموارد على مجموعة Kubernetes الخاصة بك. يحتوي ملف
k8s.yamlعلى التكوين لنشر تطبيق kubethor ، بما في ذلك النشر ، والخدمة ، والدخول ، والموارد autoscaler الأفقية وغيرها من الموارد اللازمة للتطبيق في بيئة Kubernetes.
راجع ملف Support.md للحصول على معلومات حول كيفية فتح مشكلة مقابل هذا المستودع.
المساهمات مرحب بها! يرجى قراءة إرشاداتنا المساهمة لمزيد من المعلومات.
هذا المشروع مرخص بموجب ترخيص Apache 2.0. انظر ملف الترخيص للحصول على التفاصيل.
للحصول على أي استفسارات أو دعم ، يرجى التواصل مع: