الانتقال إلى المحتوى الرئيسي
قامت EKS بتحديث عملية إنشاء المجموعة ومجموعات العقد مؤخرًا. محتويات هذا الدليل لا تزال ذات صلة، لكن التدفق قد تغير قليلاً.تحديثات هذا الدليل قادمة قريبًا!

الدليل

1

تثبيت المتطلبات

تتطلب EKS واجهة سطر أوامر AWS و kubectl CLI.
2

إنشاء المجموعة

لهذا الدليل، سنستخدم الإعدادات القياسية مع مشغل EBS CSI.
  • انتقل إلى Elastic Kubernetes Service (EKS) وأنشئ مجموعة جديدة
  • لـ Cluster service role، أنشئ دور IAM جديد باسم وصفي مثل gorbit-eks-cluster-role
إذا لم تر الدور المنشأ حديثًا في القائمة المنسدلة، انقر على زر التحديث في الواجهة.
  • لـ Kubernetes version، اختر إصدارًا مع الدعم القياسي
  • اختر سياسة الترقية Standard
  • أضف إضافة Amazon EBS CSI Driver لمطالبات Persistent Volume Claims الخاصة بـ Gorbit
  • ابقِ على الإضافات الافتراضية الأخرى مفعّلة
  • راجع وانقر Create
قد تستغرق المجموعة عدة دقائق لتصبح جاهزةEKS Cluster Creation
3

إضافة العقد

بمجرد أن تصبح المجموعة نشطة، أضف عقد العمال حيث ستعمل خدمات Gorbit.
  • في صفحة Cluster، اختر تبويب Compute وانقر Add node group
  • أدخل Name للمجموعة (مثلاً، gorbit-node-group)
  • لـ Node IAM role، إما اختر دورًا موجودًا تستخدمه مؤسستك أو أنشئ واحدًا جديدًا.
تأكد من أن الدور لديه AmazonEBSCSIDriverPolicy مرفقًا حتى يمكن تلبية PVCs. إذا كنت تنشئ دورًا، أضف هذه السياسة بالإضافة إلى السياسات الافتراضية.
  • استبدل Instance types بأجهزة c5.2xlarge (أو c5.4xlarge إذا كنت تخطط للتوسع إلى أكثر من 100 ألف مستند)
  • اضبط Volume size في نطاق 200 جيجابايت - 800 جيجابايت حسب عدد مستنداتك
راجع دليل الموارد لمزيد من التفاصيل حول متطلبات التخزين.
  • لمعظم الإعدادات، اضبط Desired size و Minimum size على 1. يمكنك زيادة هذه لاحقًا للتوسع.
  • يمكن لـ Maximum unavailable البقاء على الافتراضي
  • ابقِ على تكوين الشبكة الافتراضي وانقر Create
قد يستغرق ظهور عقد الحوسبة عبر الإنترنت ما يصل إلى 15 دقيقة.
4

إنشاء مستخدم وربطه

ستحتاج إلى مستخدم IAM مع وصول CLI لإدارة AWS والمجموعة.
  • انتقل إلى لوحة IAM، اختر Users في الشريط الجانبي الأيسر، وانقر Create user
  • أعطِ المستخدم اسمًا وصفياً (مثلاً، gorbit-eks-user)
  • تحت الأذونات، انقر Attach policies directly وأرفق:
  • AmazonEKSClusterPolicy
  • AmazonEKSServicePolicy
  • انقر Create user
  • في صفحة المستخدم، انقر Create access key واتبع التعليمات.
  • اختر خيار Command Line Interface (CLI) أثناء الإنشاء.
احفظ Access key و Secret access key للاستخدام لاحقًا!
  • عُد إلى مجموعة EKS واختر Access ثم Create access entry
  • في IAM principal، اختر IAM ARN الذي أنشأناه للتو، ثم انقر Next
  • لسياسات الوصول، اضبط Policy name على AmazonEKSClusterAdminPolicy، ثم انقر Next و Create
5

جلب kubeconfig

سجّل الدخول إلى AWS CLI وقدم مفتاح الوصول والمفتاح السري من مستخدم IAM الذي أنشأناه للتو:
aws configure
قم بتكوين kubeconfig للاتصال بالمجموعة عن طريق ملء region-code و cluster-name:
aws eks update-kubeconfig --region region-code --name cluster-name
6

تثبيت خدمات Gorbit

حزمة Gorbit Helm تجمع جميع الخدمات المطلوبة (API، web، PostgreSQL، Vespa، إلخ) في نشر واحد. بشكل افتراضي، سيتم إنشاء وحدات تخزين دائمة للخدمات ذات الحالة.أولاً، تأكد من تعيين فئة التخزين gp2 كفئة التخزين الافتراضية (مطلوب لـ PVCs):
kubectl patch storageclass gp2 -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
أضف مستودع Gorbit Helm:
helm repo add gorbit https://gorbit-dot-app.github.io/gorbit/
helm repo update
helm search repo gorbit
أنشئ مساحة اسم مخصصة وثبّت Gorbit:
kubectl create namespace gorbit
helm install gorbit gorbit/gorbit -n gorbit
سيقوم هذا بسحب أحدث حزمة Gorbit ونشر جميع التبعيات.
7

التحقق من التثبيت

helm list -n gorbit
kubectl get pods -n gorbit
انتظر حتى تكون جميع Pods في حالة Running قبل الوصول إلى Gorbit.لفحص سجلات خادم API (غالبًا آخر من يصبح جاهزًا):
kubectl -n gorbit get pods | grep api-server | awk '{print $1}' | xargs -I {} kubectl -n gorbit logs {} -f
8

الوصول إلى Gorbit

للاختبار المحلي، استخدم port-forward:
kubectl -n gorbit port-forward service/gorbit-nginx 8080:80
ثم افتح http://localhost:8080.

الترقية

لترقية خدمات Gorbit، حدّث مستودع Helm أولاً:
helm repo update
helm upgrade gorbit gorbit/gorbit -n gorbit
للترقية إلى إصدار محدد، استخدم:
helm upgrade gorbit gorbit/gorbit -n gorbit --version <VERSION>

إلغاء التثبيت

لإزالة خدمات Gorbit:
helm uninstall gorbit -n gorbit
Vespa و Postgres و MinIO يتركون خلفهم PVCs. لحذفها:
kubectl -n gorbit get pvc
kubectl -n gorbit delete pvc vespa-storage-da-vespa-0
kubectl -n gorbit delete pvc gorbit-minio
kubectl -n gorbit delete pvc data-gorbit-postgresql-0

Next Steps