يمنحك Forecastle إمكانية الوصول إلى لوحة التحكم حيث يمكنك رؤية تطبيقاتك قيد التشغيل والوصول إليها على Kubernetes.
توفر Forecastle لوحة تحكم موحدة، تعمل كبوابة ملائمة لعرض تطبيقاتك المنشورة على Kubernetes والوصول إليها. سواء أكانت أدوات مراقبة، أو خطوط أنابيب CI/CD، أو تطبيقات أخرى، فإن Forecastle يجلبها جميعًا إلى متناول يدك في موقع مركزي واحد.
تفتخر Forecastle بمجموعة من الوظائف المصممة لتبسيط إدارة التطبيقات وإمكانية الوصول إليها في بيئات Kubernetes. تشمل الميزات الرئيسية ما يلي:
قائمة التطبيقات الشاملة : يقوم تطبيق Forecastle بتجميع التطبيقات وعرضها من جميع مساحات الأسماء المحددة في ConfigMap، مما يوفر عرضًا مركزيًا لمواردك.
وظيفة البحث : تحديد موقع تطبيقات محددة بسرعة باستخدام ميزة البحث البديهية، مما يعزز تجربة المستخدم وكفاءته.
تجميع مساحة الاسم : يتم تنظيم التطبيقات وتجميعها بدقة حسب مساحات الأسماء الخاصة بها، مما يجعل التنقل والإدارة أكثر وضوحًا.
رأس قابل للتخصيص : قم بتخصيص شكل ومظهر لوحة معلومات Forecastle الخاصة بك باستخدام خيارات رأس قابلة للتكوين، بما في ذلك تخصيص العنوان وأنظمة الألوان.
دعم مثيلات متعددة : تم تصميم Forecastle لدعم مثيلات متعددة، واستيعاب سيناريوهات النشر المتنوعة والمعقدة.
تكامل التطبيقات المخصصة : أضف بسهولة تطبيقات غير تابعة لـ Kubernetes أو تطبيقات خارجية إلى لوحة التحكم الخاصة بك للحصول على نظرة عامة أكثر شمولاً على أدواتك ومواردك.
ForecastleApp CRD : استخدم تعريف الموارد المخصص لـ ForecastleApp لإضافة تطبيقات مخصصة ديناميكيًا، مما يعزز مرونة لوحة المعلومات.
التجميع المخصص وعناوين URL : قم بتنظيم تطبيقاتك في مجموعات مخصصة وقم بتعيين عناوين URL محددة للتنقل وإمكانية الوصول المخصصة.
معلومات التطبيق التفصيلية : يأتي كل تطبيق مزودًا بمعلومات تفصيلية ويقدم رؤى وتفاصيل أساسية في لمحة.
هذا القسم مخصص للمسؤولين الذين يهدفون إلى نشر Forecastle على مجموعاتهم. توفر Forecastle خيارات نشر مرنة، وتستوعب كلاً من منصات Kubernetes وOpenShift بسهولة.
لديك خيار نشر Forecastle باستخدام البيانات التقليدية أو من خلال مخططات Helm. يتم توفير الإرشادات التفصيلية لكلا الطريقتين أدناه لإرشادك خلال عملية النشر.
يمكنك الحصول على Forecastle عن طريق تشغيل الأمر التالي على مجموعتك:
بالنسبة لكوبرنيتيس:
kubectl apply -f https://raw.githubusercontent.com/stakater/Forecastle/master/deployments/kubernetes/forecastle.yaml
بالنسبة لبرنامج OpenShift:
kubectl apply -f https://raw.githubusercontent.com/stakater/Forecastle/master/deployments/openshift/forecastle.yaml
بالنسبة لبيئات Kubernetes، يمكنك استخدام أمر port-foward التالي للوصول إلى لوحة معلومات Forecastle:
kubectl port-forward svc/forecastle 8080:8080
يرجى ملاحظة أنك ستحتاج إلى تكوين الدخول للوصول إلى Forecastle من خارج المجموعة بناءً على تكوين الدخول الخاص بمجموعتك.
بالنسبة لبيئات OpenShift، يتم إنشاء مسار افتراضي لخدمة Forecastle. يمكنك الوصول إلى لوحة المعلومات باستخدام عنوان URL للمسار.
oc get route forecastle
قم بتعديل مفتاح namespaceSelector
في Forecastle ConfigMap لسرد مساحات الأسماء التي تريد Forecastle مراقبتها. للحصول على تعليمات تفصيلية، راجع تكوين محدد مساحة الاسم للحصول على التعليمات.
إذا قمت بتكوين Helm على مجموعة Kubernetes، فقم بنشر Forecastle باستخدام مخطط Helm. الرسم البياني موجود هنا.
اضبط التكوين في value.yaml إذا لزم الأمر وقم بتشغيل الأمر التالي:
helm install forecastle ./deployments/kubernetes/chart/forecastle
تعمل Forecastle على تبسيط اكتشاف التطبيقات وإدارتها على Kubernetes وOpenShift. يستخدم تعليقات توضيحية محددة على المداخل ويقدم خيارات تكوين متنوعة للتخصيص.
يمكنك تخصيص Forecastle باستخدام إما ConfigMap أو ملف value.yaml عند النشر باستخدام Helm. فيما يلي الحقول القابلة للتكوين:
مجال | وصف | تقصير | يكتب |
---|---|---|---|
namespaceSelector | محدد مساحة اسم دقيق الحبيبات يستخدم مجموعة من مساحات الأسماء المشفرة بالإضافة إلى محددات التسمية | أي: صحيح | NamespaceSelector |
headerBackground | لون خلفية الرأس (محدد بطريقة CSS) | باطل | خيط |
headerForeground | اللون الأمامي للرأس (محدد بطريقة CSS) | باطل | خيط |
عنوان | عنوان لوحة معلومات التنبؤات | "توقعات - ستاكاتر" | خيط |
اسم المثيل | اسم مثيل التنبؤ | "" | خيط |
com.customApps | قائمة بالتطبيقات المخصصة التي ترغب في إضافتها إلى مثيل التنبؤ | {} | [] تطبيق مخصص |
crdEnabled | تمكين أو تعطيل ForecastleApp CRD | حقيقي | منطقي |
تحديد مساحات أسماء لـ Forecastle لمراقبتها، إما عن طريق سرد مساحات أسماء محددة أو استخدام محددات التسمية.
مجال | وصف | تقصير | يكتب |
---|---|---|---|
أي | منطقية تصف ما إذا كانت جميع مساحات الأسماء قد تم تحديدها على النقيض من القائمة التي تقيدها | خطأ شنيع | منطقي |
labelSelector | تصفية مساحات الأسماء بناءً على نوع kubernetes metav1.LabelSelector | باطل | metav1.LabelSelector |
أسماء المباريات | قائمة أسماء مساحة الاسم | باطل | []خيط |
ملاحظة: إذا قمت بتحديد كل من labelSelector
و matchNames
، فسوف تقوم Forecastle بتوحيد كافة مساحات الأسماء المطابقة واستخدامها.
يسمح بإضافة تطبيقات غير تابعة لـ Kubernetes أو تطبيقات خارجية إلى Forecastle. هذه ميزة مفيدة للغاية خاصة عندما يتم توزيع تطبيقاتك على kubernetes وخارجها. يمكنك تمرير مجموعة من التطبيقات المخصصة داخل ملف config.
مجال | وصف | يكتب |
---|---|---|
اسم | اسم التطبيق المخصص | خيط |
رمز | عنوان URL للرمز الخاص بالتطبيق المخصص | خيط |
عنوان URL | عنوان URL للتطبيق المخصص | خيط |
مجموعة | مجموعة للتطبيق المخصص | خيط |
ملكيات | خصائص إضافية للتطبيق كخريطة | خريطة [سلسلة] سلسلة |
NetworkRestricted | ما إذا كان التطبيق مقيدًا بالشبكة أم لا | منطقي |
فيما يلي مثال لكيفية تكوين Forecastle باستخدام مجموعة من محددات مساحة الاسم والتطبيقات المخصصة:
namespaceSelector :
labelSelector :
matchLabels :
component : redis
matchExpressions :
- {key: tier, operator: In, values: [cache]}
matchNames :
- test
title :
headerBackground :
headerForeground : " #ffffff "
instanceName : " Hello "
crdEnabled : false
customApps :
- name : Hello
icon : http://hello
url : http://helloicon
group : Test
properties :
Version : 1.0
يوضح هذا التكوين كيفية تعيين محددات مساحة الاسم، وتخصيص مظهر الرأس، وتمكين ميزة CRD أو تعطيلها، وإضافة تطبيق مخصص بخصائص محددة.
يسمح تصميم Forecastle بتشغيل مثيلات متعددة، مما يوفر قابلية التوسع والمرونة في بيئات متنوعة. إليك كيفية توسيع نطاق Forecastle بشكل فعال.
النشر الأساسي : لتشغيل مثيلات Forecastle متعددة، قم بنشر كل مثيل في مساحة اسم منفصلة. حدد قائمة بمساحات الأسماء لكل مثيل لمراقبة عمليات الدخول.
تكوين المثيل المسمى : للتحكم بشكل أكبر في التطبيقات التي يتم عرضها في مثيلات محددة (بغض النظر عن مساحات الأسماء الخاصة بها)، قم بتكوين كل مثيل Forecastle باسم فريد باستخدام إعداد instanceName
في تكوين Forecastle.
عرض المثيلات الخاصة بالتطبيق : بعد تسمية المثيلات الخاصة بك، استخدم التعليق التوضيحي forecastle.stakater.com/instance
على مدخلاتك. يحدد هذا التعليق التوضيحي التطبيق الذي يظهر فيه مثيل Forecastle.
عرض المثيلات المتعددة : من الممكن أن يظهر تطبيق واحد (الدخول) في لوحات معلومات Forecastle المتعددة. على سبيل المثال، إذا كان لديك مثيلان باسم dev-dashboard وprod-dashboard، فإن إضافة dev-dashboard,prod-dashboard
في التعليق التوضيحي لمثيل الإدخال سيضمن أن التطبيق مرئي على كلتا لوحتي المعلومات.
تسمية فريدة في Helm : عند نشر مثيلات Forecastle عبر Helm، تأكد من أن كل مثيل له قيمة nameOverride
فريدة (القيمة الافتراضية هي توقع). تعتبر هذه الخطوة ضرورية لتجنب التعارضات بين الموارد العالمية مثل ClusterRole وClusterRoleBinding.
هذا القسم مخصص للمستخدمين الذين يهدفون إلى استخدام Forecastle في بيئات Kubernetes الخاصة بهم.
تحدد Forecastle التطبيقات من خلال التعليقات التوضيحية المضافة إلى مدخلات Kubernetes. إليك كيفية إضافة التعليقات التوضيحية الضرورية:
تعليق توضيحي | وصف | مطلوب |
---|---|---|
forecastle.stakater.com/expose | أضف هذا بقيمة true إلى دخول التطبيق الذي تريد إظهاره في Forecastle | true |
forecastle.stakater.com/icon | عنوان URL للرمز/الصورة للتطبيق؛ مجموعة الرموز/الشعارات/الصور أيقونات الريبو | false |
forecastle.stakater.com/appName | اسم مخصص لتطبيقك. استخدم إذا كنت لا تريد استخدام اسم الإدخال | false |
forecastle.stakater.com/group | اسم مجموعة مخصص. استخدمه إذا كنت تريد أن يظهر التطبيق في مجموعة مختلفة عن مساحة الاسم التي يعمل فيها | false |
forecastle.stakater.com/instance | قائمة مفصولة بفواصل بأسماء/أسماء مثيلات/حالات التنبؤ التي تريد أن يظهر هذا التطبيق فيها. يُستخدم عندما يكون لديك لوحات معلومات تنبؤية متعددة | false |
forecastle.stakater.com/url | عنوان URL لتطبيق التنبؤ (سيؤدي هذا إلى تجاوز عنوان URL للدخول). يجب أن يبدأ بمخطط أي http:// أو https:// | false |
forecastle.stakater.com/properties | قائمة منفصلة بفواصل من أزواج key:value للخصائص. سيظهر هذا كقائمة قابلة للتوسيع للتطبيق | false |
forecastle.stakater.com/network-restricted | تحديد ما إذا كان التطبيق مقيدًا بالشبكة أم لا (صواب أم خطأ) | false |
هناك طريقة أخرى تعمل بها Forecastle على تحسين قدرتك على دمج التطبيقات ديناميكيًا وهي استخدام ForecastleApp Custom Resource Definition (CRD). تضيف هذه الميزة طبقة من المرونة، مما يسمح لك بفصل تكوين التطبيق عن إعدادات الدخول وتكوين Forecastle الخاص.
إنشاء تطبيق ForecastleApp:
لإنشاء ForecastleApp، استخدم القالب التالي كدليل. يتيح لك هذا التكوين تحديد اسم التطبيق والمجموعة والرمز وعنوان URL والخصائص الإضافية:
apiVersion : forecastle.stakater.com/v1alpha1
kind : ForecastleApp
metadata :
name : app-name
spec :
name : My Awesome App
group : dev
icon : https://icon-url
url : http://app-url
networkRestricted : false
properties :
Version : " 1.0 "
instance : " " # Optional
يدعم ForecastleApp CRD الاكتشاف التلقائي لعنوان URL من بعض موارد Kubernetes، مثل:
للاستفادة من هذه الميزة، أضف الحقل urlFrom إلى مواصفات ForecastleApp الخاصة بك كما يلي: يرجى ملاحظة أن نوع المورد الذي تريد اكتشافه يجب أن يكون في نفس مساحة الاسم مثل ForecastleApp
CR.
apiVersion : forecastle.stakater.com/v1alpha1
kind : ForecastleApp
metadata :
name : app-name
spec :
name : My Awesome App
group : dev
icon : https://icon-url
urlFrom : # This is new
ingressRef :
name : my-app-ingress
يوجه هذا التكوين Forecastle لجلب عنوان URL للتطبيق مباشرة من مورد Ingress المحدد، مما يبسط النشر والتكوين.
ملاحظة: لاستخدام ميزة CRD، تأكد من تمكينها عن طريق تعيين crdEnabled: true
في تكوين Forecastle أو عن طريق تمكينها في مخطط Helm.
الرجاء استخدام أداة تعقب المشكلات للإبلاغ عن أي أخطاء أو طلبات ميزات الملف.
العلاقات العامة هي موضع ترحيب كبير. بشكل عام، نحن نتبع سير عمل Git "الشوكة والسحب".
ملاحظة: تأكد من دمج الأحدث من "المنبع" قبل تقديم طلب السحب!
حصلت على سؤال؟ قم بتقديم مشكلة جيثب.
انضم وتحدث إلينا على قناة #tools-imc لمناقشة Forecastle
عرض طلبات السحب المغلقة لدينا.
أباتشي2 © ستاكاتر
نشأ مصطلح "تنبؤ" من المفردات البحرية، في إشارة إلى السطح العلوي للسفينة الموجود عند مقدمة السفينة، أمام الصاري الأمامي مباشرة. تاريخيًا، إنه مكان يبحر منه البحارة ويراقبون البحر الشاسع أمامهم.
في سياق مشروعنا، اعتمدنا هذا الاسم كرمز للدور الذي تلعبه Forecastle في عالم Kubernetes. تمامًا مثل نشرة السفينة، تعمل توقعاتنا بمثابة لوحة مراقبة وتحكم مركزية. فهو يمنح المستخدمين رؤية شاملة لجميع تطبيقاتهم قيد التشغيل على Kubernetes، وتحديدًا تلك التي تم تمييزها بتعليق توضيحي محدد. تم تصميم Forecastle لتكون لوحة تحكم Kubernetes الخاصة بك، مما يوفر رؤية واضحة ووصولاً سهلاً إلى تطبيقاتك المنشورة، تمامًا مثل بحار يقوم بمسح البحر من مقدمة السفينة.
تتم صيانة Forecastle
بواسطة Stakater. هل يعجبك؟ يرجى إعلامنا بذلك على [email protected]
شاهد مشاريعنا الأخرى أو اتصل بنا في حالة الخدمات والاستفسارات المهنية على [email protected]