لانچر مصنوعات Bitnami دستاویزاتimaxe CLI بلاگ رابطہ

Kubernetes نوڈز کے لیے سخت کی گئی AMI: آپ کے کلسٹر کی محفوظ بنیاد

Kubernetes اُتنا ہی محفوظ ہے جتنے وہ نوڈز جن پر یہ چلتا ہے۔ ایک سخت کی گئی، پیچ شدہ اور بہتر بنائی گئی نوڈ AMI وہ بنیاد ہے جسے بہت سی ٹیمیں نظرانداز کر دیتی ہیں۔ بتاتے ہیں کہ EKS اور خود سنبھالے گئے کلسٹرز کے لیے مثالی بنیادی امیج کیسے بنائی جائے۔

بریمرہافن کنٹینر ٹرمینل کا فضائی منظر
بریمرہافن کنٹینر ٹرمینل کا فضائی منظر تصویر: Carsten Steger · CC BY-SA 4.0 · Wikimedia Commons

یہ سمجھ لینا آسان ہے کہ کنٹینرز کے ساتھ کام کرتے ہوئے میزبان کی سلامتی اہم نہیں رہتی۔ حقیقت اس کے بالکل برعکس ہے: ہر Kubernetes نوڈ ایک مشین ہے جو کسی امیج سے بوٹ ہوتی ہے، اور میزبان میں نقب لگنے سے اس پر چلنے والے تمام پوڈز خطرے میں پڑ جاتے ہیں۔ اس لیے نوڈ کی AMI سلامتی کا ایک نازک حصہ ہے۔

آپ کے پاس تین راستے ہیں: سرکاری بہتر شدہ AMIs کو جوں کا توں استعمال کرنا، انہیں بنیاد بنا کر اپنی مرضی کے مطابق ڈھالنا، یا اپنی خود بنانا۔ سنجیدہ پروڈکشن کے لیے سخت کی گئی بنیاد پر ڈھالنا یا بنانا ہی تجویز کیا جاتا ہے۔

ایک اچھی نوڈ AMI میں کیا ہونا چاہیے

  • کنٹینر رن ٹائم کے لیے بہتر بنائی گئی بنیاد، جس میں containerd اور kubelet درست ترتیب دیے گئے ہوں۔
  • آپریٹنگ سسٹم کی CIS ہارڈننگ اور جہاں لاگو ہو، خود CIS Benchmark for Kubernetes کی بھی۔
  • کرنل اور اجزا کی تازہ پیچنگ، وقتاً فوقتاً دوبارہ تعمیر کے ساتھ۔
  • ضروری ایجنٹس —لاگز، میٹرکس، سلامتی— تیز بوٹ کے لیے پہلے سے نصب۔
  • کوئی خفیہ کلید یا سند امیج میں پکی ہوئی نہ ہو؛ شناخت IAM Roles for Service Accounts (IRSA) یا اس کے مساوی ذریعے سے۔
  • کم سے کم ترتیب: وہ پیکجز اور سروسز ہٹا دیں جن کی نوڈ کو ضرورت نہیں۔

EKS کے لیے امیج کے اختیارات

اختیارفائدہکب منتخب کریں
EKS کی بہتر شدہ AMI (AL2023)سرکاری، AWS کی دیکھ بھال میںعمومی نقطۂ آغاز
Bottlerocketکنٹینر مرکوز کم سے کم OS، ناقابلِ تبدیلزیادہ سے زیادہ سلامتی، کم سے کم سطح
اپنی مرضی کی AMIہارڈننگ اور ایجنٹس پر مکمل اختیارسخت تعمیل کے تقاضے

اختیار اور آسانی کے درمیان اپنے توازن کے مطابق نوڈ کی بنیاد چنیں۔

Bottlerocket: پہلے کنٹینر

Bottlerocket، AWS کا ایک نہایت سادہ آپریٹنگ سسٹم ہے جو صرف کنٹینر چلانے کے لیے بنایا گیا ہے۔ اس کی حملہ سطح بہت چھوٹی ہے، یہ ناقابلِ تبدیل ہے اور امیج کے ذریعے اپ ڈیٹ ہوتا ہے —گرم پیچنگ سے نہیں— جو ناقابلِ تبدیل انفراسٹرکچر کے فلسفے سے بخوبی میل کھاتا ہے۔ اگر آپ کی ترجیح کم سے کم دیکھ بھال کے ساتھ نوڈ کی سلامتی ہے تو یہ سنجیدہ جائزے کا مستحق ہے۔

نوڈز کو تکلیف کے بغیر اپ ڈیٹ کرنا

سخت کی گئی نوڈ AMI تبھی کارآمد ہے جب آپ نوڈز کو تازہ رکھیں۔ یہاں ناقابلِ تبدیل طرزِ عمل چمکتا ہے:

  • بدلیں، پیچ نہ کریں: نئی AMI ورژن شائع کریں اور نوڈز گھمائیں۔
  • نوڈ گروپ کی رولنگ اپ ڈیٹ: cordon اور drain سے خالی کریں اور ایک ایک نوڈ بدلیں۔
  • نئی AMIs کے ساتھ تبدیلی خودکار کرنے کے لیے Managed Node Groups یا Karpenter۔
  • PodDisruptionBudgets تاکہ گردش آپ کی سروسز کی دستیابی کو متاثر نہ کرے۔

عام غلطیاں

  • طے شدہ بہتر شدہ AMI کو مہینوں تک بغیر اپ ڈیٹ کیے استعمال کرنا۔
  • وفاقی شناخت کے بجائے کلسٹر کی اسناد امیج میں پکا دینا۔
  • خود kubelet اور فائل سسٹم کی اجازتوں کی ہارڈننگ بھول جانا۔
  • نوڈز تک SSH رسائی محدود نہ کرنا: مثالی صورت صفر SSH اور صرف SSM کے ذریعے رسائی ہے۔

اکثر پوچھے جانے والے سوالات

کیا مجھے اپنی مرضی کی AMI چاہیے یا EKS کی بہتر شدہ کافی ہے؟

شروعات کے لیے سرکاری بہتر شدہ AMI اچھا نقطۂ آغاز ہے۔ اگر تعمیل یا سلامتی کے سخت تقاضے ہوں تو اسے ڈھالیں یا اپنی ہارڈننگ اور ایجنٹس کے ساتھ اپنی بنائیں۔

کیا Bottlerocket عام Linux AMI کی جگہ لے لیتا ہے؟

ان نوڈز کے لیے جو صرف کنٹینر چلاتے ہیں، جی ہاں: کم حملہ سطح اور ناقابلِ تبدیل اپ ڈیٹ۔ یہ ان کاموں کے لیے موزوں نہیں جنہیں عام مقصد کا OS درکار ہو۔

نئی AMI شائع کرنے پر نوڈز کیسے اپ ڈیٹ کروں؟

نوڈ گروپ کی رولنگ اپ ڈیٹ سے: انہیں بتدریج خالی کر کے بدلا جاتا ہے، PodDisruptionBudgets کا لحاظ رکھتے ہوئے تاکہ سروس متاثر نہ ہو۔

imaxe.cloud میں ہم ایسی سخت کی گئی بنیادی امیجز ڈیزائن کرتے ہیں جو آپ کے Kubernetes نوڈز کی مثالی بنیاد بنتی ہیں۔

kuberneteseksbottlerocketہارڈننگنوڈز
IM

imaxe ٹیم

ہم کیٹلاگ کی AMIs بناتے اور برقرار رکھتے ہیں۔ جب ہم کوئی ورژن شائع کرتے ہیں تو ہم اسے سب سے پہلے پروڈکشن میں استعمال کرتے ہیں۔

کیٹلاگ سے

اس مضمون سے متعلق AMI

پڑھتے رہیں

متعلقہ آرٹیکلز