ইউনিট
1. DevOps এবং ক্লাউড এআই-এর ভূমিকা: ভূমিকা, সীমানা, প্রমাণীকরণ, নিরাপত্তা এবং গোপনীয়তা 2. কৃত্রিম বুদ্ধিমত্তা সহ সিআই/সিডি পাইপলাইন ডিজাইন করা: গিটহাব অ্যাকশন এবং গিটল্যাব সিআই 3. কোড হিসাবে পরিকাঠামো পরিচালনা: Terraform এবং IaC সহ কৃত্রিম বুদ্ধিমত্তা 4. কন্টেইনারাইজেশন: কৃত্রিম বুদ্ধিমত্তা সহ ডকারফাইল এবং চিত্র অপ্টিমাইজেশন 5. কুবারনেটস: ম্যানিফেস্ট, হেলম এবং এআই-চালিত অর্কেস্ট্রেশন 6. পর্যবেক্ষণ এবং পর্যবেক্ষণযোগ্যতা: মেট্রিক, লগ, ট্রেস এবং অ্যালার্ম নিয়ম 7. ঘটনা ব্যবস্থাপনা এবং পোস্টমর্টেম: কৃত্রিম বুদ্ধিমত্তার সাথে মূল কারণ বিশ্লেষণ 8. ক্লাউড কস্ট অপ্টিমাইজেশান (ফিনঅপস): কৃত্রিম বুদ্ধিমত্তার সাহায্যে বর্জ্যের জন্য শিকার করা 9. স্ক্রিপ্ট এবং অটোমেশন জেনারেশন: ব্যাশ, পাইথন এবং পাওয়ারশেল 10. নিরাপত্তা এবং গোপন ব্যবস্থাপনা: DevSecOps এবং কৃত্রিম বুদ্ধিমত্তা 11. প্রোড যাচাইকরণ, রিলিজ কৌশল এবং এন্ড-টু-এন্ড এআই ওয়ার্কফ্লো
ইউনিট 5 / 11

কুবারনেটস: ম্যানিফেস্ট, হেলম এবং এআই-চালিত অর্কেস্ট্রেশন

লাভ:

  • মৌলিক বস্তু (পড, ডিপ্লোয়মেন্ট, সার্ভিস, কনফিগম্যাপ, সিক্রেট, নেমস্পেস) এবং কুবারনেটসের ঘোষণামূলক দর্শন বোঝার এবং কৃত্রিম বুদ্ধিমত্তার জন্য কঠিন প্রকাশ তৈরি করার ক্ষমতা
  • সম্পদের সীমা, স্বাস্থ্য পরীক্ষা (প্রোব), ফিক্সড ইমেজ ট্যাগ এবং সংকীর্ণ RBAC সহ উত্পাদনের জন্য ম্যানিফেস্ট প্রস্তুত এবং সুরক্ষিত করার ক্ষমতা
  • কার্যকর করার আগে সঠিক প্রসঙ্গ যাচাই করার ক্ষমতা এবং ড্রাই-রান/ডিফের সাথে ড্রাই-রান ডিসিপ্লিন প্রয়োগ করার ক্ষমতা

এক পাত্রে চালানো সহজ। কিন্তু এমন একটি সিস্টেম প্রতিষ্ঠা করা যা কয়েক ডজন সার্ভার জুড়ে শত শত কন্টেইনার ছড়িয়ে দেয়, যখন তাদের মধ্যে একটি ক্র্যাশ হয় তখন স্বয়ংক্রিয়ভাবে পুনরায় চালু হয়, লোড বাড়লে এটিকে প্রতিলিপি করে এবং শূন্য ডাউনটাইম সহ আপডেট করে? এটি হল অর্কেস্ট্রেশন, এবং শিল্পের মানক টুল হল কুবারনেটস (সংক্ষেপে K8s) — একটি প্ল্যাটফর্ম যা স্বয়ংক্রিয়ভাবে একটি ক্লাস্টার জুড়ে কন্টেইনার স্থাপন, স্কেল এবং পরিচালনা করে। Kubernetes শক্তিশালী কিন্তু জটিল: সবকিছু দীর্ঘ, ইন্ডেন্টেশন-সংবেদনশীল YAML ফাইল দ্বারা সংজ্ঞায়িত করা হয় — যাকে ম্যানিফেস্ট বলা হয়। এখানেই AI তাজা বাতাসের শ্বাস দেয়; সঠিক প্রসঙ্গের সাথে, এটি দ্রুত এই প্রকাশগুলি তৈরি করে এবং তাদের রহস্যময় ত্রুটিগুলিকে ডিকোড করে৷

কিন্তু Kubernetes-এ, একটি ভুল ম্যানিফেস্ট মানে একটি সম্পূর্ণ পরিষেবা দাঁড় করাতে ব্যর্থ হওয়া, ভুলভাবে স্কেলিং করা, বা একটি দুর্বলতা রেখে যাওয়া। AI-এর প্রতিটি ম্যানিফেস্ট বোঝা এবং যাচাই করা আপনার দায়িত্ব - বিশেষ করে kubectl প্রয়োগ করার আগে।

কুবারনেটস মূল বস্তু

Kubernetes অডিট করতে, আপনার প্রধান ধারণাগুলি জানা উচিত:

  • পড: ক্ষুদ্রতম কাজ ইউনিট; এতে এক বা একাধিক পাত্র রয়েছে। সাধারণত, পড সরাসরি ব্যবহার করা হয় না, তবে এটি পরিচালনা করে এমন মূল বস্তুগুলি ব্যবহার করা হয়।
  • স্থাপনা: একটি অ্যাপ্লিকেশনের কতগুলি অনুলিপি চলবে, এটি কোন চিত্রটি ব্যবহার করবে এবং কীভাবে এটি আপডেট করা হবে তা নির্ধারণ করে। একটি পড ক্র্যাশ হলে এটি স্বয়ংক্রিয়ভাবে এটি পুনরায় তৈরি করবে।
  • পরিষেবা: একটি নির্দিষ্ট নেটওয়ার্ক ঠিকানা প্রদান করে এবং পডগুলিতে ভারসাম্য বজায় রাখে; পড আসা-যাওয়া সত্ত্বেও প্রবেশের ঠিকানা পরিবর্তন হয় না।
  • ConfigMap এবং গোপন: কনফিগারেশন মান এবং গোপন তথ্য পড থেকে আলাদা রাখে। ConfigMap স্পষ্ট সেটিংসের জন্য, গোপন সংবেদনশীল মানগুলির জন্য।
  • নামস্থান: যে এলাকাটি যৌক্তিকভাবে সম্পদকে বিভক্ত এবং বিচ্ছিন্ন করে (যেমন dev, prod)।
  • প্রবেশ: নিয়ম সেট যা বহির্বিশ্ব থেকে HTTP ট্র্যাফিককে ক্লাস্টারের পরিষেবাগুলিতে নির্দেশ করে।

Helm হল Kubernetes-এর "প্যাকেজ ম্যানেজার": এটি আপনাকে পুনরাবৃত্ত ম্যানিফেস্ট (চার্ট) টেমপ্লেট করতে এবং একটি একক কমান্ডের সাহায্যে বিভিন্ন পরিবেশে বিভিন্ন মান সহ ইনস্টল করতে দেয়। AI কাঁচা ম্যানিফেস্ট এবং হেলম চার্ট উভয়ই তৈরি করে।

কেন এত বস্তু আছে? কারণ Kubernetes-এর মূল দর্শনটি ঘোষণামূলক: আপনি "সিস্টেমটিকে শেষ পর্যন্ত কীভাবে দেখতে চান" (যেমন "সর্বদা এই অ্যাপ্লিকেশনটির 3 টি কপি চলমান থাকে") সংজ্ঞায়িত করেন, যখন Kubernetes ক্রমাগত বর্তমান অবস্থাটিকে সেই পছন্দসই অবস্থার কাছাকাছি নিয়ে যায়। যদি একটি পোড মারা যায়, এটি একটি নতুন সৃষ্টি করে; যদি একটি নোড নিচে যায়, এটি কাজের চাপকে অন্য নোডে নিয়ে যায়। তাই ম্যানিফেস্টগুলি "করুন" আদেশ নয়, তবে "এটি এমন হতে দিন" রেসিপি। এআই তৈরি করা ম্যানিফেস্টগুলি পড়ার সময় এই পার্থক্যটি উপলব্ধি করা গুরুত্বপূর্ণ: প্রতিটি ডোমেন সিস্টেমের পছন্দসই অবস্থার অংশ বর্ণনা করে। একটি ভুল ডোমেন মানে কুবারনেটস একটি ভুল লক্ষ্যের দিকে কাজ করছে — এবং সেই লক্ষ্যটি নীরবে, অবিরামভাবে প্রয়োগ করা হয়।

টিপ: Kubernetes-এ, সবচেয়ে গুরুত্বপূর্ণ নিরাপদ পরীক্ষার টুল হল kubectl apply --dry-run=server -f file.yaml: এটি দেখায় সার্ভার গ্রহণ করবে কিনা এবং ম্যানিফেস্ট প্রয়োগ না করে কী করতে হবে। প্রোড-এ ম্যানিফেস্ট প্রয়োগ করার আগে ড্রাই-রান এবং কুবেক্টল ডিফ চালাতে ভুলবেন না।

ধাপে ধাপে: AI এর সাহায্যে মেনিফেস্ট তৈরি করা

  1. আবেদন এবং প্রয়োজন বর্ণনা করুন। ছবির নাম, পোর্ট, কতগুলো প্রতিলিপি, সম্পদের সীমা (CPU/মেমরি)।
  2. ডিপ্লয়মেন্ট + সার্ভিসের জন্য অনুরোধ করুন। সাধারণত উভয় একসাথে প্রয়োজন হয়.
  3. আলাদা কনফিগারেশন এবং সিক্রেট। কনফিগম্যাপের সেটিংস, গোপনে সংবেদনশীল মান।
  4. স্বাস্থ্য পরীক্ষা যোগ করুন। livenessProbe (এটি কি লাইভ) এবং ReadinessProbe (এটি কি ট্রাফিকের জন্য প্রস্তুত) গুরুত্বপূর্ণ।
  5. একটি সম্পদ সীমা সেট করুন। অনুরোধ/সীমা ছাড়াই একটি পড পুরো নোড গ্রাস করতে পারে।
  6. `--ড্রাই-রান` এবং `ডিফ` দিয়ে যাচাই করুন, তারপর আবেদন করুন। পরীক্ষার নামস্থানে প্রথম।

নিরাপত্তা: কুবারনেটস-নির্দিষ্ট ঝুঁকি

  1. সিক্রেট আসলে গোপন নয় - এটা শুধু বেস64। Kubernetes সিক্রেট অবজেক্ট base64 মান এনকোড করে; এটি এনক্রিপশন নয়, এটি সহজেই ডিক্রিপ্ট করা হয়। সত্যিকারের গোপনীয়তার জন্য, etcd এনক্রিপশন এবং বহিরাগত ভল্ট (Vault, ক্লাউড সিক্রেট ম্যানেজার) প্রয়োজন। গিটে সরাসরি গোপনীয় প্রকাশের প্রতিশ্রুতি দেবেন না (এর জন্য সিল করা গোপনীয়তা/বাহ্যিক গোপনীয়তার মতো সমাধান রয়েছে)।
  2. একটি সম্পদ সীমা সেট করুন। সীমা ছাড়া একটি পড একটি মেমরি লিক সঙ্গে সমগ্র নোড ক্র্যাশ করতে পারেন.
  3. ন্যূনতম কর্তৃপক্ষ (RBAC)। ভূমিকা-ভিত্তিক অ্যাক্সেস কন্ট্রোলের সাথে, প্রতিটি পরিষেবা/ব্যবহারকারীর শুধুমাত্র প্রয়োজনীয় অনুমতি রয়েছে। এআই কখনও কখনও বড় ক্লাস্টার-অ্যাডমিন দেয়; এই নিচে সংকীর্ণ.
  4. `সর্বশেষ` ইমেজ ট্যাগ ব্যবহার করবেন না। আপনি জানেন না কোন সংস্করণ চলছে এবং আপনি এটি রোল ব্যাক করতে পারবেন না।
সতর্কতা: kubectl মুছে ফেলা বা একটি ভুল প্রয়োগ একটি লাইভ স্থাপনা ধ্বংস করতে পারে। কমান্ড চালানোর আগে আপনি কোন নামস্থানে (kubectl config current-context) তা যাচাই করতে ভুলবেন না; দুর্ঘটনাজনিত কাজ উত্পাদন প্রসঙ্গে একটি সাধারণ বিপর্যয়।

কাঁচা মেনিফেস্ট বনাম হেলম টেবিল

মানদণ্ড

কাঁচা YAML ম্যানিফেস্ট

হেলম চার্ট

ইনস্টলেশন

kubectl apply -f

হেলম ইনস্টল করুন

মাল্টিমিডিয়া (dev/prod)

কপি-পেস্ট, ত্রুটি প্রবণ

একক চার্ট, বিভিন্ন মান.yaml

সংস্করণ/রোলব্যাক

হাত দ্বারা

হেলম রোলব্যাক সহ সহজ

শেখার বক্ররেখা

কম

মাঝারি

যখন

ছোট, একক পরিবেশ

মাল্টি-মিডিয়া, পুনরাবৃত্তিমূলক পরিষেবা

তিনটি মিনি কেস

কেস 1 - ক্র্যাশড পরিষেবার গোপনীয়তা। একটি পড ক্রমাগত রিবুট হচ্ছিল (CrashLoopBackOff)। দলটি এআই-কে লগ এবং ম্যানিফেস্ট দিয়েছে; এআই দেখিয়েছে যে পডকে কখনই "প্রস্তুত" হিসাবে বিবেচনা করা হয়নি কারণ রেডিনেসপ্রোব ভুল পোর্টের দিকে তাকিয়ে ছিল। তারা বন্দর ঠিক করে, 10 মিনিটে পরিষেবা স্থিতিশীল হয়। ম্যানুয়ালি এই সম্পর্ক স্থাপন করতে কয়েক ঘণ্টা সময় লাগতে পারে।

কেস 2 - সীমা নির্ধারণ না করে গিঁট ভেঙেছে। একটি স্থাপনার কোন সীমা ছিল না; একটি মেমরি লিক পডকে ফুলিয়ে দেয় এবং পুরো নোডটি ক্র্যাশ করে, প্রতিবেশী পরিষেবাগুলিকেও নিচে নিয়ে আসে। ঘটনার পরে, তারা AI-কে বলে "যৌক্তিক CPU/মেমরি অনুরোধ এবং সমস্ত স্থাপনার সীমা যোগ করুন" এবং এটিকে মানক করে তোলে। একটি অনুপস্থিত লাইন ডাউনটাইম ঘন্টা খরচ.

কেস 3 — বড় RBAC ক্যাপচার করা হয়েছে। একটি তদন্তের সময়, AI দ্বারা উত্পন্ন একটি ServiceAccount ম্যানিফেস্ট ক্লাস্টার-অ্যাডমিন ভূমিকার সাথে আবদ্ধ ছিল - যার অর্থ পরিষেবাটি পুরো ক্লাস্টার পরিচালনা করতে পারে। দলটি তাদের নামস্থানে শুধুমাত্র পড পড়ার অনুমতি সংকুচিত করেছে। ন্যূনতম বিশেষাধিকার নীতি একটি নিরাপত্তা দুর্বলতা বন্ধ.

চারটি অনুলিপিযোগ্য টেমপ্লেট

1) স্থাপনা + পরিষেবা উত্পাদন:

Kubernetes-এর জন্য একটি স্থাপনা এবং পরিষেবা ম্যানিফেস্ট লিখুন। অ্যাপ্লিকেশন: [এডি], চিত্র: [চিত্র: স্থির-সংস্করণ], পোর্ট: [এক্স], প্রতিরূপ: [এন]। নিয়ম:- CPU/মেমরি অনুরোধ এবং সীমা যোগ করুন।- livenessProbe এবং readinessProbe সংজ্ঞায়িত করুন।- ConfigMap থেকে কনফিগারেশন পড়ুন, সিক্রেট অবজেক্ট থেকে গোপন; ম্যানিফেস্টে মানগুলি এম্বেড করবেন না, স্থানধারক ব্যবহার করুন। - ইমেজ ট্যাগ ":latest" ব্যবহার করবেন না। বর্ণনা সহ দিন।

2) ম্যানিফেস্ট ত্রুটি সমাধান:

বর্তমান পড [CrashLoopBackOff/Pending/ImagePullBackOff] অবস্থায় আছে। নিম্নলিখিত ম্যানিফেস্ট এবং 'kubectl describe' আউটপুট অনুসারে, সম্ভাব্যতার ক্রমানুসারে সম্ভাব্য মূল কারণগুলি তালিকাভুক্ত করুন এবং প্রতিটির জন্য যাচাই কমান্ড জারি করুন। ম্যানিফেস্ট: [YAML] বর্ণনা করুন: [আউটপুট]

3) নিরাপত্তা/সততা পরীক্ষা:

এই Kubernetes ম্যানিফেস্টটি চেক করুন: সম্পদের সীমা কি অনুপস্থিত, এটি কি অনুপস্থিত সমস্যা, একটি : সর্বশেষ ট্যাগ আছে, একটি অত্যধিক বিস্তৃত RBAC/অনুমতি আছে, গোপনটি কি ম্যানিফেস্টে এমবেড করা আছে? গুরুত্ব অনুসারে এবং সংশোধন সহ ফলাফলগুলি লিখুন। ম্যানিফেস্ট: [YAML]

4) হেলম চার্টে রূপান্তর:

নিম্নলিখিত কাঁচা ম্যানিফেস্টগুলিকে একটি পুনঃব্যবহারযোগ্য হেলম চার্টে রূপান্তর করুন: কোন মানগুলি values.yaml (ছবি, প্রতিরূপ, উত্স, পরিবেশ) এ যেতে হবে? চার্ট গঠন এবং নমুনা মান দেখান.yaml. Manifests: [YAML]

দুর্বল প্রম্পট / শক্তিশালী প্রম্পট

দুর্বল: "আমার আবেদনের জন্য Kubernetes YAML লিখুন।"

ফলাফল: একটি নো-প্রোব, নো-লিমিট ডিপ্লয়মেন্ট সহ : লেটেস্ট ট্যাগ, গোপন প্লেইন এম্বেড করা; পণ্যে অনিরাপদ এবং ভঙ্গুর।

শক্তিশালী: "Kubernetes Deployment + Service লিখুন। চিত্র myapp:1.4.2, 3 replicas, 8080 পোর্ট। CPU 100m-500m, মেমরি 128Mi-512Mi অনুরোধ/সীমা যোগ করুন। /healthz-এর জন্য লাইভনেস প্রোব রাখুন, রেডিনেস প্রোব থেকে অবজেক্টটি পড়ুন। ম্যানিফেস্টে এম্বেড করুন বর্ণনা সহ।"

পার্থক্য: দ্বিতীয় প্রম্পট সংস্করণ স্কেল, সম্পদ সীমা, স্বাস্থ্য পরীক্ষা এবং গোপন নিয়ম দেয়; আউটপুট উত্পাদনের কাছাকাছি এবং নিরাপদ।

সাধারণ ভুল

  • সম্পদ সীমা নির্ধারণ না. একটি একক পড পুরো নোড গ্রাস করতে পারে।
  • স্বাস্থ্য পরীক্ষা (প্রোব) যোগ করা হচ্ছে না। Kubernetes একটি ক্র্যাশ/প্রস্তুত পড সনাক্ত করতে পারে না।
  • `:সর্বশেষ` ট্যাগ। কোন সংস্করণটি চলছে তা অস্পষ্ট হয়ে যায়, এটি ফিরিয়ে আনা যাবে না।
  • গিট সরাসরি গোপন প্রতিশ্রুতি. Base64 এনক্রিপশন নয়; সবাই সমাধান করে।
  • ভুল প্রসঙ্গ/নেমস্পেসে কমান্ড চালানো হচ্ছে। পণ্য ক্র্যাশ সবচেয়ে সাধারণ উপায়.
  • `--ড্রাই-রান`/`ডিফ` এড়িয়ে যাওয়া। বাস্তবায়নের আগে কী হবে তা দেখছি না।

সংক্ষেপে

Kubernetes একটি শক্তিশালী কিন্তু জটিল অর্কেস্ট্রেটর যেটি স্বয়ংক্রিয়ভাবে একটি ক্লাস্টার জুড়ে কন্টেইনার স্থাপন, স্কেল এবং অপ্টিমাইজ করে; সবকিছু ম্যানিফেস্ট YAMLs দ্বারা সংজ্ঞায়িত করা হয়, যা Helm টেমপ্লেটাইজ করে। AI দ্রুত ডিপ্লয়মেন্ট/সার্ভিস ম্যানিফেস্ট এবং হেলম চার্ট তৈরি করে, রহস্যময় বাগগুলি সমাধান করে — তবে আপনাকে স্পষ্টভাবে রিসোর্স সীমা, স্বাস্থ্য পরীক্ষা, অপরিবর্তনীয় ইমেজ ট্যাগ, সংকীর্ণ RBAC এবং গোপন নিরাপত্তা নিয়মের জন্য জিজ্ঞাসা করতে হবে। --ড্রাই-রান, ডিফ এবং সঠিক প্রসঙ্গ চেকিং এমন অভ্যাস যা প্রোড ক্র্যাশ প্রতিরোধ করে।

আবেদন টাস্ক

AI-কে "ডিপ্লয়মেন্ট + সার্ভিস জেনারেশন" টেমপ্লেট সহ একটি নমুনা অ্যাপ্লিকেশনের জন্য একটি ম্যানিফেস্ট তৈরি করতে দিন। তারপর: (1) এটিকে "নিরাপত্তা/স্যানিটি চেক" টেমপ্লেট দিয়ে সম্পদের সীমা, অনুসন্ধান, :সর্বশেষ এবং গোপনের জন্য পরীক্ষা করুন; (2) সম্ভব হলে একটি টেস্ট ক্লাস্টার/মিনিকুবে kubectl apply --dry-run=server চালান এবং আউটপুট পড়ুন; (3) আপনি অনুপস্থিত দুটি সবচেয়ে গুরুত্বপূর্ণ নিরাপত্তা/দৃঢ়তা আইটেম নোট করুন.

চেকলিস্ট

  • [ ] আমি আমার অনুরোধে ছবির সংস্করণ, প্রতিলিপির সংখ্যা, পোর্ট এবং সম্পদের সীমা যোগ করেছি।
  • [ ] আমি ম্যানিফেস্টে সজীবতা এবং প্রস্তুতির তদন্ত যোগ করেছি।
  • ছবি ট্যাগ স্থির; আমি ব্যবহার করিনি :latest.
  • [ ] গোপনীয়তা প্রকাশের মধ্যে এম্বেড করা হয় না; আমি গোপন বস্তু/বাহ্যিক ভল্ট ব্যবহার করেছি।
  • [ ] আমি RBAC/অনুমতিগুলিকে ন্যূনতম অনুমতিগুলিতে সংকুচিত করেছি৷
  • [ ] আবেদন করার আগে, আমি যাচাই করেছিলাম যে আমি সঠিক প্রেক্ষাপটে ছিলাম এবং --dry-run/diff আউটপুট।