लॉन्चर उत्पाद Bitnami दस्तावेज़imaxe CLI ब्लॉग संपर्क

Kubernetes नोड्स के लिए हार्डन्ड AMI: आपके क्लस्टर की सुरक्षित नींव

Kubernetes उतना ही सुरक्षित है जितने वे नोड्स जिन पर वह चलता है। एक हार्डन्ड, पैच किया हुआ और ट्यून किया हुआ नोड AMI वह नींव है जिसे कई टीमें नज़रअंदाज़ कर देती हैं। बताते हैं कि EKS और सेल्फ-मैनेज्ड क्लस्टर के लिए आदर्श बेस इमेज कैसे बनाएँ।

ब्रेमरहाफ़ेन कंटेनर टर्मिनल का हवाई दृश्य
ब्रेमरहाफ़ेन कंटेनर टर्मिनल का हवाई दृश्य फ़ोटो: Carsten Steger · CC BY-SA 4.0 · Wikimedia Commons

यह मान लेना आसान है कि कंटेनरों के साथ काम करते समय होस्ट की सुरक्षा मायने नहीं रखती। सच्चाई इसके ठीक उलट है: हर Kubernetes नोड एक मशीन है जो किसी इमेज से बूट होती है, और होस्ट में सेंध उस पर चल रहे सभी पॉड्स को खतरे में डाल देती है। इसलिए नोड का AMI सुरक्षा का एक अहम हिस्सा है।

आपके पास तीन रास्ते हैं: आधिकारिक ऑप्टिमाइज़्ड AMI को जस का तस इस्तेमाल करना, उसे आधार बनाकर कस्टमाइज़ करना, या अपना खुद का बनाना। गंभीर प्रोडक्शन के लिए, हार्डन्ड बेस पर कस्टमाइज़ करना या बनाना ही सुझाया जाता है।

एक अच्छे नोड 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 से खाली करें और एक-एक नोड बदलें।
  • नए AMI के साथ प्रतिस्थापन को स्वचालित करने के लिए 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

पढ़ना जारी रखें

संबंधित लेख