Kubernetes সম্পদ সীমা সেট করুন

Kubernetes Sampada Sima Seta Karuna



রিসোর্স সীমা কুবারনেটস কন্টেইনার অর্কেস্ট্রেশনের একটি গুরুত্বপূর্ণ অংশ কারণ তারা নিশ্চিত করে যে কন্টেইনারগুলি খুব বেশি রিসোর্স গ্রাস করে না বা রিসোর্স ক্লান্তির কারণে প্রতিক্রিয়াহীন হয়ে পড়ে। এই নিবন্ধটি কীভাবে Kubernetes কন্টেইনার রিসোর্স সীমাগুলিকে তাদের সুবিধাগুলি সর্বাধিক করতে এবং আপনার অ্যাপ্লিকেশনগুলি থেকে সর্বাধিক লাভ করতে হবে সে সম্পর্কে একটি নির্দেশিকা প্রদান করে৷ মাত্র কয়েকটি সহজ পদক্ষেপের মাধ্যমে কীভাবে আপনার কন্টেইনার সংস্থানগুলি দ্রুত এবং সহজে কনফিগার এবং পরিচালনা করবেন তা শিখুন যাতে আপনি নিশ্চিত হতে পারেন যে আপনার সমস্ত পরিষেবা সুচারুভাবে চলছে৷

Kubernetes-এ কন্টেইনার রিসোর্স লিমিট সেট করুন

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







আপনার পাত্রে প্রয়োজনীয় সংস্থানগুলি নির্ধারণ করে শুরু করুন। আপনার সিস্টেমের ব্যবহার বিশ্লেষণ করুন এবং কোন পাত্রে তাদের মেমরি এবং CPU সীমা সমন্বয় করা উচিত তা নির্ধারণ করুন। সম্পদের সীমা নির্ধারণ করার সময় অন্তর্নিহিত নোডগুলি বিবেচনা করাও গুরুত্বপূর্ণ - যদি আপনি একটি সীমা খুব বেশি বা খুব কম সেট করেন, তাহলে নোডটি ক্র্যাশ না করে অন্য অ্যাপ্লিকেশনগুলি চালাতে সক্ষম হবে না। এরপরে, আপনি কোন ধরনের সীমা ব্যবহার করতে চান তা স্থির করুন – burstable বা non-burstable. এখন, কুবারনেটস কন্টেইনার রিসোর্স লিমিট সেট করতে আপনি যে প্রয়োজনীয় পদক্ষেপগুলি অনুসরণ করতে পারেন তা দেখুন। পদক্ষেপের দিকে এগিয়ে যাওয়ার আগে, কিছু প্রয়োজনীয় পূর্বশর্ত রয়েছে:



পূর্বশর্ত

আমরা ধাপে যাওয়ার আগে, আমাদের সিস্টেমটি পূর্বশর্তগুলির সমস্ত প্রয়োজনীয়তা পূরণ করে তা নিশ্চিত করা যাক। নিশ্চিত করুন যে আপনার কাছে উবুন্টু 20.04 বা অন্য কোনো সর্বশেষ সংস্করণ যাতে কাজ করার জন্য একটি লিনাক্স/ইউনিক্স পরিবেশ রয়েছে, কুবারনেটস ক্লাস্টার, কুবেক্টল কমান্ড ব্যবহার করার জন্য কুবেক্টল সিএলআই, ক্লাস্টার যোগাযোগ, উন্নয়ন পরিবেশ পরিচালনা এবং মিনিকুব বা অন্য কোনো কুবারনেটস খেলার মাঠ তৈরি করতে ক্লাস্টার পরবর্তী বিভাগে যাওয়ার আগে আপনি যদি এখনও সেগুলি ইনস্টল না করে থাকেন তবে এই সরঞ্জামগুলি ইনস্টল করুন৷ এখন, আমরা কুবারনেটস কন্টেইনার রিসোর্স সীমা কিভাবে সেট করতে হয় সে সম্পর্কে ধাপে ধাপে নির্দেশিকাতে এগিয়ে যাই।



কুবারনেটস রিসোর্স লিমিট কিভাবে সেট করবেন

Kubernetes কন্টেইনার রিসোর্স সীমা নির্ধারণ করা আপনার Kubernetes ক্লাস্টারগুলি পরিচালনা এবং বজায় রাখার একটি গুরুত্বপূর্ণ অংশ। একটি সঠিক সংস্থান সীমা থাকা নিশ্চিত করে যে প্রতিটি কন্টেইনার সর্বোত্তমভাবে চলে, অন্য কন্টেইনার বা পুরো ক্লাস্টারের কর্মক্ষমতার সাথে আপস না করে। এটি সিপিইউ, মেমরি, ক্ষণস্থায়ী স্টোরেজ এবং আরও অনেক কিছুর জন্য রিসোর্স অনুরোধ এবং সীমা নির্ধারণ করে করা যেতে পারে। Kubernetes কন্টেইনার রিসোর্স সীমা সঠিকভাবে কিভাবে সেট করবেন তা এখানে।





ধাপ 1: মিনিকুব শুরু করুন

Minikube ক্লাস্টার অবশ্যই সক্রিয় অবস্থায় থাকতে হবে যাতে আপনি এতে আপনার অ্যাপ্লিকেশন বা কমান্ড চালাতে পারেন। এটি চালু এবং সঠিকভাবে চলছে তা নিশ্চিত করতে, নিম্নলিখিত প্রদত্ত কমান্ডটি ব্যবহার করুন:



> মিনিকুব শুরু করুন

ধাপ 2: মেট্রিক্স সার্ভার সক্ষম করুন

এই ধাপে, আমরা কমান্ড শেয়ার করি যা আপনাকে মেট্রিক্স সার্ভার সক্ষম করতে দেয়। কমান্ড নিম্নলিখিত দেওয়া হয়:

> মিনিকুব অ্যাডঅন সক্ষম মেট্রিক্স-সার্ভার

ধাপ 3: মেট্রিক্স সার্ভার সক্রিয় কি না তা পরীক্ষা করুন

মেট্রিক্স-সার্ভার সক্রিয় কি না তা পরীক্ষা করতে নিম্নলিখিত কমান্ডটি টাইপ করুন:

> kubectl apiservice পেতে

আগের ছবিতে দেখা গেছে, রিসোর্স মেট্রিক্স এপিআই অ্যাক্সেসযোগ্য হলে এতে metrics.k8s.io-এর একটি রেফারেন্স রয়েছে।

ধাপ 4: একটি নেমস্পেস তৈরি করুন

সম্পদগুলি রাখতে, আপনি এই অনুশীলনের জন্য একটি নামস্থান তৈরি করুন যা আপনার বাকি ক্লাস্টার থেকে আলাদা। আমরা এখন দেখাই কিভাবে একটি নামস্থান তৈরি করতে হয়। যে কমান্ডটি সম্পাদন করে তা নিম্নরূপ দেওয়া হয়:

> kubectl নামস্থান ABC তৈরি করুন

ধাপ 5: একটি কনফিগারেশন ফাইল তৈরি করুন

YAML কনফিগারেশন ফাইল যা আমরা কন্টেইনারে একটি পড তৈরি করতে ব্যবহার করি এই ধাপে তৈরি করা হয়েছে। এখানে কমান্ড যা এটি সম্পন্ন করতে ব্যবহৃত হয়:

> ন্যানো reqlimit.yaml

এখানে, আপনাকে একটি CPU সীমা সহ একটি CPU অনুরোধ অন্তর্ভুক্ত করতে হবে। সম্পদগুলি অন্তর্ভুক্ত করুন: একটি CPU সীমা সংজ্ঞায়িত করার সীমা। এই ক্ষেত্রে, একটি একক ধারক সহ একটি পড তৈরি করা হয়। ধারকটির একটি 0.5 CPU অনুরোধের সীমা এবং একটি 1 CPU সর্বোচ্চ। পডের কনফিগারেশন ফাইল এখানে উপলব্ধ। আপনি দেখতে পাচ্ছেন, কনফিগারেশন ফাইলের আর্গস বিভাগে আর্গুমেন্ট রয়েছে যা কন্টেইনারটি শুরু হওয়ার সময় ব্যবহার করে। ধারকটিকে -cpus “2” প্যারামিটারের মাধ্যমে 2 CPU ব্যবহার করার চেষ্টা করার জন্য নির্দেশ দেওয়া হয়েছে।

Kubernetes-এ স্থাপনা এবং পডের মতো সংস্থান তৈরি করার সময়, প্রতিটি পড বা স্থাপনার জন্য ন্যূনতম প্রয়োজনীয় সংস্থান (অনুরোধ) এবং অনুমোদিত সর্বাধিক সংখ্যক সংস্থান (সীমা) নির্দিষ্ট করা গুরুত্বপূর্ণ। এটি যেকোন একটি পডকে অনেক বেশি রিসোর্স গ্রাস করতে বাধা দেয় যার ফলে অন্যান্য সক্রিয় পডের কর্মক্ষমতা হ্রাস পেতে পারে বা এমনকি ক্লাস্টারে উপলব্ধ সংস্থানগুলির অভাবের কারণে ক্র্যাশ হতে পারে।

ধাপ 6: একটি পড তৈরি করুন

এখন, আমরা আপনাকে দেখাব কিভাবে নিম্নলিখিত কমান্ড দিয়ে পড তৈরি করতে হয়:

> kubectl তৈরি করুন -চ reqlimit.yaml

পূর্ববর্তী প্রদত্ত আউটপুট থেকে, আপনি লক্ষ্য করতে পারেন যে 'cpu-demo' নামের পড তৈরি হয়েছে।

ধাপ 7: পড যাচাই করুন

এই ধাপে, আমরা নিম্নলিখিত কমান্ডের সাহায্যে তৈরি করা পড সক্রিয় কিনা তা পরীক্ষা করি:

> kubectl পড সিপিইউ-ডেমো পান --নামস্থান =abc

ধাপ 8: পডের বিবরণ দেখুন

এখন, আপনি যদি পড সম্পর্কে বিশদ তথ্য দেখতে চান তবে এখানে কমান্ডটি কার্যকর করা উচিত:

> kubectl পড সিপিইউ-ডেমো পান --আউটপুট =ইয়ামল --নামস্থান =abc

ধাপ 9: পড মুছুন

এখানে, আমরা দেখাব কিভাবে সম্পদ পরিষ্কার করতে পড মুছে ফেলতে হয়। এই উদ্দেশ্যে ব্যবহৃত কমান্ডটি নিম্নরূপ:

> kubectl ডিলিট পড সিপিইউ-ডেমো --নামস্থান =abc

ধাপ 10: একটি কনফিগারেশন ফাইল তৈরি করুন

এই ধাপে, আমরা একটি কনফিগারেশন ফাইল তৈরি করি। এই ফাইলটি একটি CPU অনুরোধ নির্দিষ্ট করে যা আপনার নোডের জন্য বেশ বড়।

> ন্যানো reqlimit2

একটি একক ধারক সহ কনফিগারেশন ফাইল এখানে পাওয়া যেতে পারে। কন্টেইনারটি 100টি CPU-র জন্য জিজ্ঞাসা করে যা আপনার ক্লাস্টার যুক্তিসঙ্গতভাবে সরবরাহ করতে পারে এমন যেকোনো নোডের চেয়ে বেশি।

ধাপ 11: Cre te the Pod

এই ধাপে, আমরা নিম্নলিখিত কমান্ড দিয়ে পড তৈরি করি:

> kubectl তৈরি করুন -চ reqlimit2.yaml

ধাপ 12: পড স্ট্যাটাস দেখুন

এখন, আপনি স্ট দেখতে পারেন এখানে সংযুক্ত কমান্ড সহ পডের tus:

আউটপুট দেখায় যে পড স্ট্যাটাস পেন্ডিং।

ধাপ 13: পড তথ্য দেখুন

এখন, আমরা এখানে প্রদত্ত কমান্ড সহ ইভেন্ট সহ পড সম্পর্কে বিস্তারিত তথ্য দেখি:

ইভেন্ট বিভাগে যান এবং ধারকটি নির্ধারিত আছে কিনা তা দেখুন।

যদি এটি নির্ধারিত করা না যায় এবং কারণটি অপর্যাপ্ত CPU সংস্থান হয়, আপনি নোডটি মুছে ফেলতে পারেন। কিভাবে একটি নোড মুছে ফেলা যায় পরবর্তী ধাপে ব্যাখ্যা করা হয়েছে।

ধাপ 14: নোড মুছুন

আপনি নিম্নলিখিত কমান্ড দিয়ে নোড মুছে ফেলতে পারেন:

> kubectl মুছে ফেলুন পড সিপিইউ-ডেমো- 2 --নামস্থান =abc

কর্মক্ষমতা উপর ধারক সম্পদ সীমার প্রভাব কি?

Kubernetes কন্টেইনার প্রযুক্তির ক্রমবর্ধমান জনপ্রিয়তার সাথে, এটি বোঝা গুরুত্বপূর্ণ যে কীভাবে সম্পদের সীমা কর্মক্ষমতাকে প্রভাবিত করতে পারে। একটি Kubernetes পাত্রে সম্পদের সীমা নির্ধারণ করা আপনাকে নিশ্চিত করতে সাহায্য করতে পারে যে আপনার অ্যাপ্লিকেশনগুলি তাদের সর্বোত্তম স্তরে চলছে এবং তারা হোস্ট সার্ভার থেকে খুব বেশি সংস্থান গ্রহণ করছে না। সম্পদ সীমিত করে, আপনি নষ্ট হওয়া অপ্রয়োজনীয় প্রক্রিয়াগুলি এড়াতে পারেন, ব্যবহারের কারণে সিস্টেম ক্র্যাশ প্রতিরোধে সহায়তা করতে পারেন এবং আপনার কন্টেইনারগুলির কার্যকারিতা অপ্টিমাইজ করতে পারেন।

একটি Kubernetes পাত্রে এই সম্পদ সীমা সেট করতে, আপনাকে cgroups (নিয়ন্ত্রণ গ্রুপ) নামক একটি টুল ব্যবহার করতে হবে। Cgroups অ্যাডমিনিস্ট্রেটরদের বিভিন্ন কন্টেইনারের জন্য CPU চক্র বা মেমরি ব্যবহারের মতো সম্পদ সীমিত করার অনুমতি দেয়। আপনি অন্যান্য প্যারামিটারগুলিও সেট করতে পারেন যেমন সর্বোচ্চ ফাইলের আকার বা প্রতি কন্টেইনারে নেটওয়ার্ক ব্যান্ডউইথ ব্যবহার।

উপসংহার

Kubernetes কন্টেইনার রিসোর্স সীমা নির্ধারণ করা আপনার ক্লাউড কম্পিউটিং পরিবেশ পরিচালনার একটি গুরুত্বপূর্ণ অংশ। সঠিক কনফিগারেশনের মাধ্যমে, আপনি নিশ্চিত করতে পারেন যে প্রতিটি কন্টেইনারের প্রয়োজনীয় সংস্থানগুলিতে অ্যাক্সেস রয়েছে, তবে এত বেশি নয় যে এটি অন্যান্য কন্টেইনার বা সিস্টেমগুলিকে প্রভাবিত করে। এটি কম্পিউটিং সংস্থানগুলির আরও দক্ষ এবং সাশ্রয়ী ব্যবহারের জন্য অনুমতি দেয়। অতিরিক্তভাবে, একটি কন্টেইনার কতটা মেমরি বা CPU ব্যবহার করতে পারে তা সীমিত করে, আপনি পলাতক প্রক্রিয়া বা ব্যবহারের অপ্রত্যাশিত স্পাইকের কারণে বিভ্রাট হওয়া থেকে রক্ষা করতে পারেন।