الفلاتر
طريقة البحث
  • الكلمات العادية تجد الأسماء والنصوص والأمثلة.
  • "كلمتان" تجد العبارة بالضبط.
  • --name أو -x تجد خيارًا.
  • #كلمة تبحث داخل الأوامر فقط.
  • @grep تجد الدروس والمعامل التي تستخدم grep.
  • الفلاتر: cat:network · in:labs · level:rhcsa · ch:8 · root:yes. ضع ! قبل كلمة لاستبعادها. OR بين الكلمات تعني إحداها.
  • ↑ ↓ للتنقل · Enter للفتح · Esc للإغلاق · / للبحث

eksctl

إنشاء عناقيد Amazon EKS ‏(Kubernetes) وإدارتها بأمر واحد أو ملف YAML واحد.

المستوى
أداة DevOps
المجموعة
البنية التحتية ككود والسحابة
يحتاج root
لا
الحزمة
eksctl

ماذا يفعل

‏eksctl يبني عنقود EKS مع كل الأجزاء التي يحتاجها — VPC وطبقة التحكم ومجموعات العقد و IAM — باستخدام CloudFormation في الخلفية. ملف ClusterConfig بصيغة YAML يبقي العنقود ككود.

ويتعامل أيضًا مع عمل ما بعد الإنشاء (day-2): ترقيات مجموعات العقد، وأدوار IAM لحسابات الخدمة (IRSA) أو pod identity، والإضافات.

طريقة الكتابة

eksctl create|get|upgrade|delete RESOURCE [OPTIONS]

الأجزاء الرئيسية

الأوامر

create cluster [-f FILE]
إنشاء عنقود (مع مجموعات عقد).
get cluster / nodegroup
عرض العناقيد / مجموعات العقد.
create nodegroup / delete nodegroup
إضافة / حذف مجموعات عقد.
scale nodegroup
تغيير عدد العقد.
upgrade cluster / nodegroup
ترقية Kubernetes.
utils write-kubeconfig
كتابة kubeconfig لعنقود.
create iamserviceaccount
دور IAM لحساب خدمة Kubernetes ‏(IRSA).
create addon
إضافات EKS ‏(vpc-cni و coredns و ebs-csi).
delete cluster
حذف العنقود ومكدساته.

الخيارات 9

الأكثر استخدامًا

الخيارات

-f, --config-file FILE
استخدام ملف ClusterConfig.
--name / --region
اسم العنقود / منطقة AWS.
--version 1.31
إصدار Kubernetes.
--nodes / --nodes-min / --nodes-max
أعداد العقد.
--node-type t3.large
نوع جهاز EC2.
--managed
مجموعة عقد مُدارة (الافتراضي).
--approve
تنفيذ التغيير فعلًا (لـ upgrade و iamserviceaccount).
--dry-run
طباعة الإعدادات النهائية.
--profile NAME
ملف AWS CLI الشخصي.

أمثلة 10

$ مستخدم عادي# بصلاحية root (أو مع sudo)

  1. 1عنقود اختبار سريع

    eksctl create cluster --name lab --region eu-west-1 --nodes 2 --node-type t3.medium
  2. 2عنقود من ملف (العنقود ككود)

    cat cluster.yaml
    apiVersion: eksctl.io/v1alpha5
    kind: ClusterConfig
    metadata: { name: shop, region: eu-west-1, version: "1.31" }
    iam: { withOIDC: true }
    managedNodeGroups:
      - name: apps
        instanceType: t3.large
        minSize: 2
        maxSize: 6
        privateNetworking: true
    eksctl create cluster -f cluster.yaml
  3. 3الحصول على kubeconfig

    eksctl utils write-kubeconfig --cluster shop --region eu-west-1
    kubectl get nodes
  4. 4عرض العناقيد ومجموعات العقد

    eksctl get cluster --region eu-west-1
    eksctl get nodegroup --cluster shop
  5. 5تكبير مجموعة عقد

    eksctl scale nodegroup --cluster shop --name apps --nodes 4
  6. 6إعطاء pod دور AWS (بدون مفاتيح في pod)

    eksctl create iamserviceaccount --cluster shop --namespace shop --name s3-reader --attach-policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess --approve
  7. 7ترقية طبقة التحكم، ثم العقد

    eksctl upgrade cluster --name shop --version 1.32 --approve
    eksctl upgrade nodegroup --cluster shop --name apps --kubernetes-version 1.32
  8. 8إضافة مشغّل EBS CSI

    eksctl create addon --cluster shop --name aws-ebs-csi-driver
  9. 9رؤية الإعدادات النهائية بدون إنشاء أي شيء

    eksctl create cluster -f cluster.yaml --dry-run
  10. 10حذف عنقود المعمل (يكلّف مالًا)

    eksctl delete cluster --name lab --region eu-west-1

انتبه

  • عناقيد EKS وبوابات NAT تكلّف مالًا كل ساعة. احذف عناقيد الاختبار.
  • ‏privateNetworking: true يبقي العقد بعيدًا عن الإنترنت العام.

رموز الخروج

0تم.
1خطأ.

الدليل الكامل

هذه الصفحة تشرح الأمر بكلمات بسيطة. الدليل الأصلي فيه كل التفاصيل.

في الطرفية: man eksctl