
Monokle CLI هي واجهة سطر الأوامر للتحليل الثابت لموارد Kubernetes.
استخدمه لمنع سوء التكوينات داخل موارد Kustomize أو Helm أو Default Kubernetes. يتوفر الإخراج كملف SARIF الذي يمكنك تحميله على GitHub Codescan.
يسمح Monokle CLI بالتكامل مع Monokle Cloud و Monokle Enterprise لإدارة وإنفاذ سياسات التحقق من الصحة مركزيًا لجميع عمليات الأنابيب وخطوط الأنابيب.
يمكنك قراءة المزيد حول ميزات Monokle CLI والنظام الإيكولوجي Monokle بالكامل في مدونة الإعلان.
يمكنك تثبيت Monokle CLI عبر NPM:
npm install --global @monokle/cliأو استخدام المشروب إذا كنت على ماكوس:
brew install kubeshop/monokle/monokle-cliيعرض Monokle Cli الأوامر التالية:
monokle validate [path] - التحقق من صحة الموارد Kubernetes في مسار معين.monokle init - إنشاء ملف التكوين المحلي.monokle login - تسجيل الدخول إلى Monokle Cloud أو Enterprise لاستخدام السياسة عن بُعد.monokle logout - تسجيل الدخول من Monokle Cloud أو Enterprise.monokle whoami - احصل على معلومات حول المستخدم المصادق عليه حاليًا.monokle config show [path] - إظهار ملف تكوين السياسة الذي سيتم استخدامه للمسار المعطى. يمكنك دائمًا استخدام وسيطة --help للحصول على قائمة بجميع الأوامر المتاحة أو المعلومات التفصيلية حول كل أمر.
يشتمل Monokle CLI على صحة مدمجة لتزويدك بإمكانيات التحقق الشاملة لتكوينات K8S خارج المربع:
تحت الغطاء ، يستخدم [@monokle/التحقق من الصحة] [https://github.com/kubeshop/monokle-core/tree/main/packages/validation] الذي يتيح لك تكوين قواعد التحقق من الصحة على نطاق واسع.
بمجرد التثبيت ، يكون استخدام CLI مستقيمًا.
monokle validate bundle.yamlسيؤدي ذلك إلى مسح جميع ملفات YAML بشكل متكرر وتحليلها كموارد Kubernetes العادية.
monokle validate k8s-dirhelm template helm-dir | monokle validate -kustomize build kustomize-dir/overlays/local | monokle validate -monokle validate path/to/validate -c path/to/config/monokle.validation.yaml لاستخدام السياسة عن بُعد ، تحتاج إلى تسجيل الدخول إلى Monokle Cloud أولاً. يمكن القيام بذلك عن طريق أمر monokle login :
monokle login بعد ذلك ، ما عليك سوى تشغيل validate . ستجلب Monokle CLI السياسة عن بُعد بناءً على بيانات المستخدم الخاصة بك:
monokle validate path/to/validateهام : يرجى مراعاة أن السياسات البعيدة يجب تكوينها أولاً. يرجى الرجوع إلى استخدام قسم Monokle Cloud أدناه.
يدعم Monokle CLI مجموعات محددة مسبقًا من القواعد التي تسمى Frameworks ، والتي تتيح لك تشغيل التحقق من صحة Monokle بسرعة دون الحاجة إلى تكوين إضافي. باستخدام إطار عمل ، يمكنك بسهولة إجراء عمليات التحقق الشاملة بناءً على أفضل الممارسات المعمول بها ومعايير الصناعة.
عند استخدام إطار عمل ، لا يتعين عليك تكوين ملف monokle.validation.yaml يدويًا. ما عليك سوى تحديد الإطار المطلوب باستخدام وسيطات --framework أو -f CLI ، وسيقوم Monokle CLI تلقائيًا بتطبيق مجموعة القواعد المقابلة.
الأطر المتاحة:
pss-restrictedpss-baselinensaيعد استخدام Frameworks طريقة ممتازة للبدء بسرعة مع Monokle CLI وأداء عمليات التحقق الشاملة دون الحاجة إلى تكوين مكثف.
إليك مثال على كيفية استخدام حجة --framework :
monokle validate k8s-dir --framework pss-restricted إذا كنت تفضل التحقق من صحة أكثر تخصيصًا ، فلا يزال بإمكانك تكوين ملف monokle.validation.yaml بقواعدك الخاصة. أسهل طريقة هي استخدام أمر monokle init الذي سيوجهك من خلال إنشاء تكوين مخصص بناءً على الأطر المتاحة.
يمكن لـ Monokle CLI إخراج نتائجها بتنسيق SARIF.
monokle validate --output sarif k8s-dir > results.sarifبعد ذلك ، يمكنك استخدام عارض SARIF الخاص بـ VSC أو أدوات أخرى لتفقد النتائج.
لاستخدام السياسة عن بُعد مع Monokle CLI ، ستحتاج إلى إنشاء مشروع وتكوين سياسة له في Monokle Cloud. ابدأ بالتوقيع على Monokle Cloud.
في حالة الشكوك ، راجع دليل البدء أو ضربنا مباشرة على Discord.
بعد الاشتراك ، ابدأ بإنشاء مشروع على صفحة المشاريع:

بعد إنشاء Project ، أضف مستودعًا (المستودع الذي ستعمل عليه محليًا) إلى مشروع. يمكن القيام بذلك عن طريق الانتقال إلى علامة تبويب Repositories في عرض المشروع واستخدام زر Add repository :

الخطوة الأخيرة هي إعداد السياسة. يمكنك استخدام معالج السياسة عن طريق الذهاب إلى علامة تبويب Policy في عرض المشروع:

بعد الانتهاء من الإعداد ، يمكنك تشغيل الأمر monokle validate وسيستخدم السياسة عن بُعد طالما قمت بتسجيل الدخول.
إن استخدام Monokle Enterprise (مستضيف ذاتي) يشبه إلى حد كبير الاستخدام مع Monokle Cloud. الفرق الرئيسي هو الأصل (عناوين URL) التي سيتواصل بها Monokle CLI. يمكن تعيين ذلك على login أو لكل أمر بشكل منفصل (مفيد للسيناريوهات الآلية).
monokle login --origin https://monokle.mydomain.comهام : يمكن أيضًا استخدام متغير ENV
MONOKLE_ORIGINلتعيين الأصل لتسجيل الأمر. إذا لم يتم استخدام أي منهما ، فسيتم مطالبة CLI عند استخدام الأصل المخصص.
لاستخدام -العلم --origin دون تسجيل الدخول ، يرجى الرجوع إلى قسم خطوط أنابيب CI/CD أدناه.
لقد خصصنا
Monokle GitHub Botلدمج إدارة السياسات المركزية في خطوط أنابيب Github CI/CD التي تعطي تكاملًا أكثر تشددًا مع Monokle Cloud بدلاً من استخدام CLI مباشرة.
لاستخدام Monokle CLI كجزء من خط أنابيب CI/CD ، يجب تثبيته أولاً ثم تشغيله ببساطة مع monokle validate path/to/resources .
الحالة الأخرى تستخدم السياسة المدارة مركزيًا من Monokle Cloud في مثل هذه السيناريوهات. على هذا النحو ، ينبغي للمرء استخدام رمز الأتمتة (الذي يمكن إنشاؤه عبر علامة تبويب Automation token في عرض Workspace ) مع معرف المشروع الذي يجب استخدام السياسة:
monokle validate project/path -t YOUR_AUTOMATION_TOKEN -p PROJECT_IDيمكن الحصول على معرف المشروع على صفحة تفاصيل المشروع من url
https://app.monokle.com/dashboard/projects/<projectId>.
يمكنك أيضًا تغيير الأصل الذي سيتم استخدامه لجلب السياسات من (على سبيل المثال عند تشغيل مثيلك الخاص في مؤسسة Monokle):
monokle validate project/path -t YOUR_AUTOMATION_TOKEN -p PROJECT_ID -r https://monokle.mydomain.comهام : تذكر دائمًا الحفاظ على رمز API الخاص بك سراً وتمريره إلى وظائف CI/CD بنفس طريقة أسرار أخرى.
يمكن استخدام روبوت Monokle Github للتحقق من صحة مواردك كجزء من خطوط أنابيب GitHub CI/CD. تم دمجها مع Monokle Cloud خارج الصندوق للسماح بإدارة السياسات المركزية السهلة.
يمكن استخدام إجراء Monokle Github للتحقق من صحة مواردك كجزء من خطوط أنابيب CI/CD على Github. إنه يعطي المزيد من التخصيص عندما يتعلق الأمر بالتحقق من نتائج التشغيل الجاف.
إذا كنت بحاجة إلى شيء مدمج بإحكام مع Monokle Cloud ، فإننا نوصي باستخدام Monokle GitHub Bot .
يمكنك استخدام --help للوصول إلى معلومات المساعدة مباشرة من CLI.
يبحث Monokle CLI عن ملف تكوين التحقق من صحة Monokle على ./monokle.validation.yaml . يمكنك تغيير هذا باستخدام علامة --config .
يتم تمكين جميع القواعد افتراضيًا ويتم وصفها في وثائق تكوين التحقق من صحة Monokle.
مثال
plugins :
yaml-syntax : true
kubernetes-schema : true
rules :
yaml-syntax/no-bad-alias : " warn "
yaml-syntax/no-bad-directive : false
open-policy-agent/no-last-image : " err "
open-policy-agent/cpu-limit : " err "
open-policy-agent/memory-limit : " err "
open-policy-agent/memory-request : " err "
settings :
kubernetes-schema :
schemaVersion : v1.24.2من السهل تمديد Monokle CLI مع صحة مخصصة يمكن مشاركتها مع الآخرين باستخدام مستودع ملحقات Monokle Community.
يمكنك استخدام Docker Image monokle-cli:latest لتشغيل Monokle CLI في بيئة حاوية. يمكن أن يكون هذا مفيدًا بشكل خاص لدمج Monokle في خطوط أنابيب CI/CD أو غيرها من الأنظمة الآلية.
لتشغيل صورة Docker ، يمكنك استخدام أمر docker run . يمكن تمرير وسيطات Monokle Cli مباشرة إلى أمر Docker Run. على سبيل المثال:
docker run -v /path/to/input:/input -e CONFIG_FILE=my-validation-config.yaml monokle-cli:latest validate /input
في هذا الأمر:
-v /path/to/input:/input يركض دليل من نظام المضيف الخاص بك إلى دليل/الإدخال داخل حاوية Docker.-e CONFIG_FILE=my-validation-config.yaml يقوم بتعيين متغير بيئة داخل حاوية Docker. إذا تم تعيين متغير البيئة هذا ، فسيستخدم حاوية Docker الملف المحدد كتكوين التحقق من صحة Monokle.validate /input هو الأمر الذي سيتم تمريره إلى Monokle CLI. يمكنك استبدال هذا بأي أمر تريد تشغيله مع Monokle CLI.