نقطة بداية بسيطة لتشغيل OpenClaw على Kubernetes، وليست نشراً جاهزاً للإنتاج. تغطي الموارد الأساسية ويُقصد بها أن تُكيَّف مع بيئتك.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
لماذا ليس Helm؟
OpenClaw عبارة عن حاوية واحدة مع بعض ملفات الإعداد. يكون التخصيص المهم في محتوى الوكيل (ملفات Markdown، وSkills، وتجاوزات الإعداد)، وليس في قوالب البنية التحتية. يتعامل Kustomize مع التراكبات دون عبء مخطط Helm. إذا أصبح النشر لديك أكثر تعقيداً، فيمكن وضع مخطط Helm فوق هذه البيانات التعريفية.ما تحتاجه
- عنقود Kubernetes قيد التشغيل (AKS، EKS، GKE، k3s، kind، OpenShift، إلخ)
kubectlمتصل بالعنقود لديك- مفتاح API لموفر نماذج واحد على الأقل
البدء السريع
./scripts/k8s/deploy.sh --show-token الرمز بعد النشر.
الاختبار المحلي باستخدام Kind
إذا لم يكن لديك عنقود، فأنشئ واحداً محلياً باستخدام Kind:./scripts/k8s/deploy.sh.
خطوة بخطوة
1) النشر
الخيار أ — مفتاح API في البيئة (خطوة واحدة):--show-token مع أي من الأمرين إذا كنت تريد طباعة الرمز إلى stdout للاختبار المحلي.
2) الوصول إلى gateway
ما الذي يتم نشره
التخصيص
تعليمات الوكيل
حرّرAGENTS.md في scripts/k8s/manifests/configmap.yaml وأعد النشر:
إعداد gateway
حرّرopenclaw.json في scripts/k8s/manifests/configmap.yaml. راجع إعداد gateway للمرجع الكامل.
إضافة موفرين
أعد التشغيل مع تصدير مفاتيح إضافية:مساحة اسم مخصصة
صورة مخصصة
حرّر الحقلimage في scripts/k8s/manifests/deployment.yaml:
الإتاحة إلى ما بعد port-forward
تربط البيانات التعريفية الافتراضية gateway بـ loopback داخل الحجرة. يعمل ذلك معkubectl port-forward، لكنه لا يعمل مع Kubernetes Service أو مسار Ingress يحتاج إلى الوصول إلى عنوان IP الخاص بالحجرة.
إذا كنت تريد إتاحة gateway عبر Ingress أو موزع تحميل:
- غيّر ربط gateway في
scripts/k8s/manifests/configmap.yamlمنloopbackإلى ربط ليس loopback ويطابق نموذج النشر لديك - أبقِ مصادقة gateway مفعّلة واستخدم نقطة دخول مناسبة منتهية بـ TLS
- اضبط واجهة التحكم للوصول البعيد باستخدام نموذج أمان الويب المدعوم (على سبيل المثال HTTPS/Tailscale Serve والأصول المسموح بها صراحةً عند الحاجة)
إعادة النشر
التفكيك
ملاحظات المعمارية
- يرتبط gateway بـ loopback داخل الحجرة افتراضياً، لذا فإن الإعداد المضمّن مخصص لـ
kubectl port-forward - لا توجد موارد على مستوى العنقود، فكل شيء موجود في مساحة اسم واحدة
- الأمان:
readOnlyRootFilesystem، وإمكاناتdrop: ALL، ومستخدم غير جذر (UID 1000) - يبقي الإعداد الافتراضي واجهة التحكم على مسار الوصول المحلي الأكثر أماناً: ربط loopback مع
kubectl port-forwardإلىhttp://127.0.0.1:18789 - إذا انتقلت إلى ما بعد الوصول عبر localhost، فاستخدم النموذج البعيد المدعوم: HTTPS/Tailscale مع ربط gateway المناسب وإعدادات أصل واجهة التحكم
- تُنشأ الأسرار في دليل مؤقت وتُطبّق مباشرة على العنقود، ولا تُكتب أي مواد سرية إلى نسخة المستودع