من السهل الاعتقاد بأن أمان المضيف يفقد أهميته عند العمل بالحاويات. الحقيقة عكس ذلك تمامًا: كل عقدة Kubernetes هي جهاز يقلع من صورة، وأي اختراق للمضيف يعرّض جميع الحاويات التي يستضيفها للخطر. لذلك فإن صورة AMI الخاصة بالعقدة قطعة أمنية حرجة.
أمامك ثلاثة مسارات: استخدام صور AMI المُحسَّنة الرسمية كما هي، أو اتخاذها أساسًا وتخصيصها، أو بناء صورتك الخاصة. للإنتاج الجاد، التخصيص أو البناء فوق أساس مُحصَّن هو الخيار الموصى به.
ما يجب أن تحمله صورة عقدة جيدة
- أساس مُحسَّن لبيئة تشغيل الحاويات، مع ضبط صحيح لـ containerd وkubelet.
- تحصين CIS لنظام التشغيل، وعند اللزوم لمعيار CIS Benchmark for Kubernetes نفسه.
- ترقيعات محدَّثة للنواة والمكوّنات، مع إعادة بناء دورية.
- الوكلاء الضروريون —السجلات والمقاييس والأمن— مثبَّتون مسبقًا لإقلاع سريع.
- بلا أسرار أو بيانات اعتماد مخبوزة؛ الهوية عبر IAM Roles for Service Accounts (IRSA) أو ما يعادلها.
- إعداد بحدّه الأدنى: احذف الحزم والخدمات التي لا تحتاجها العقدة.
خيارات الصور لـ EKS
| الخيار | الميزة | متى تختاره |
|---|---|---|
| صورة EKS المُحسَّنة (AL2023) | رسمية وتصونها AWS | نقطة انطلاق عامة |
| Bottlerocket | نظام أدنى موجَّه للحاويات، غير قابل للتغيير | أقصى أمان وأصغر سطح هجوم |
| صورة AMI مخصّصة | تحكّم كامل في التحصين والوكلاء | متطلبات امتثال صارمة |
اختر أساس العقدة وفق توازنك بين التحكّم والراحة.
Bottlerocket: الحاويات أولًا
Bottlerocket نظام تشغيل مُبسَّط من AWS مصمَّم حصريًا لتشغيل الحاويات. سطح هجومه ضئيل جدًا، وهو غير قابل للتغيير ويُحدَّث بالصورة —لا بالترقيع الساخن— وهو ما ينسجم تمامًا مع فلسفة البنية التحتية غير القابلة للتغيير. إن كانت أولويتك أمان العقدة بأقل جهد صيانة، فهو يستحق تقييمًا جادًا.
تحديث العُقد بلا ألم
صورة العقدة المُحصَّنة لا تنفع إلا إذا أبقيت العُقد محدَّثة. هنا يتألق النمط غير القابل للتغيير:
- استبدل ولا ترقّع: انشر إصدار AMI جديدًا وأدِر العُقد.
- تحديث تدريجي لمجموعة العُقد: أفرغها بـ cordon وdrain واستبدلها عقدة بعقدة.
- Managed Node Groups أو Karpenter لأتمتة الاستبدال بصور AMI جديدة.
- PodDisruptionBudgets كي لا تمسّ الدورة توافر خدماتك.
أخطاء شائعة
- استخدام الصورة المُحسَّنة الافتراضية لشهور دون تحديثها.
- خبز بيانات اعتماد العنقود داخل الصورة بدل استخدام الهوية الموحَّدة.
- نسيان تحصين kubelet نفسه وصلاحيات نظام الملفات.
- عدم تقييد وصول SSH إلى العُقد: المثالي هو صفر SSH ووصول عبر SSM فقط.
أسئلة شائعة
هل أحتاج صورة مخصّصة أم تكفيني صورة EKS المُحسَّنة؟
للبداية، الصورة المُحسَّنة الرسمية نقطة انطلاق جيدة. وإن كانت لديك متطلبات امتثال أو أمان صارمة، فخصّصها أو ابنِ صورتك بتحصين ووكلاء من عندك.
هل يحلّ Bottlerocket محلّ صورة Linux عادية؟
للعُقد التي تشغّل حاويات فقط، نعم: سطح هجوم أصغر وتحديث غير قابل للتغيير. لكنه لا يناسب الأحمال التي تحتاج نظام تشغيل عام الأغراض.
كيف أحدّث العُقد عند نشر صورة AMI جديدة؟
بتحديث تدريجي لمجموعة العُقد: تُفرَّغ وتُستبدل تدريجيًا مع احترام PodDisruptionBudgets كي لا تتأثر الخدمة.
في imaxe.cloud نصمّم صورًا أساسية مُحصَّنة صالحة لأن تكون أساسًا مثاليًا لعُقد Kubernetes لديك.



