লঞ্চার পণ্য 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 সংস্করণ প্রকাশ করে নোড ঘোরান।
  • নোড গ্রুপের রোলিং আপডেট: cordondrain দিয়ে খালি করে এক এক করে নোড বদলান।
  • নতুন 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 দল

আমরা ক্যাটালগের AMI তৈরি ও রক্ষণাবেক্ষণ করি। একটি সংস্করণ প্রকাশ করার সময়, আমরা সবার আগে প্রোডাকশনে এটি ব্যবহার করি।

ক্যাটালগ থেকে

এই নিবন্ধের সঙ্গে সম্পর্কিত AMI

পড়া চালিয়ে যান

সম্পর্কিত নিবন্ধ