অটোস্কেলিং ওয়ার্কলোড
কুবারনেটিসে, আপনি বর্তমান রিসোর্স চাহিদার উপর নির্ভর করে একটি ওয়ার্কলোড স্কেল করতে পারেন। এটি আপনার ক্লাস্টারকে রিসোর্স চাহিদার পরিবর্তনে আরও নমনীয় এবং দক্ষতার সাথে প্রতিক্রিয়া জানাতে সাহায্য করে।
যখন আপনি একটি ওয়ার্কলোড স্কেল করেন, তখন আপনি ওয়ার্কলোড দ্বারা পরিচালিত রেপ্লিকাগুলির সংখ্যা বাড়াতে বা কমাতে পারেন, অথবা রেপ্লিকাগুলিতে উপলব্ধ রিসোর্সগুলি সরাসরি সামঞ্জস্য করতে পারেন।
প্রথম পদ্ধতিটিকে হরিজন্টাল স্কেলিং বলা হয়, যেখানে দ্বিতীয়টিকে ভার্টিকাল স্কেলিং বলা হয়।
আপনার ব্যবহার কেসের উপর নির্ভর করে, আপনার ওয়ার্কলোডগুলি স্কেল করার ম্যানুয়াল এবং স্বয়ংক্রিয় উপায় রয়েছে।
ম্যানুয়ালি ওয়ার্কলোড স্কেলিং
কুবারনেটিস ম্যানুয়াল স্কেলিং সমর্থন করে। হরিজন্টাল স্কেলিং kubectl CLI ব্যবহার করে করা যায়। ভার্টিকাল স্কেলিং এর জন্য, আপনাকে আপনার ওয়ার্কলোডের রিসোর্স সংজ্ঞা patch করতে হবে।
উভয় কৌশলের উদাহরণ নীচে দেওয়া হল।
- হরিজন্টাল স্কেলিং (Horizontal scaling): আপনার অ্যাপের একাধিক ইনস্ট্যান্স চালানো
- ভার্টিকাল স্কেলিং (Vertical scaling): কন্টেইনারগুলিতে বরাদ্দকৃত CPU এবং মেমরি রিসোর্স পুনরায় আকার দেওয়া
স্বয়ংক্রিয়ভাবে ওয়ার্কলোড স্কেলিং
কুবারনেটিস ওয়ার্কলোডের _স্বয়ংক্রিয় স্কেলিং_ও সমর্থন করে, যা এই পেজ এর মূল ফোকাস।
কুবারনেটিসে অটোস্কেলিং ধারণাটি নির্দেশ করে স্বয়ংক্রিয়ভাবে একটি এমন অবজেক্ট আপডেট করার ক্ষমতা যা পডের একটি সেট পরিচালনা করে (উদাহরণস্বরূপ একটি ডিপ্লয়মেন্ট)।
হরিজন্টালি ওয়ার্কলোড স্কেলিং
কুবারনেটিসে, আপনি হরিজন্টালপডঅটোস্কেলার (HPA) ব্যবহার করে স্বয়ংক্রিয়ভাবে একটি ওয়ার্কলোড হরিজন্টালি স্কেল করতে পারেন।
এটি কুবারনেটিস API রিসোর্স এবং একটি কন্ট্রোলার হিসাবে বাস্তবায়িত এবং নিয়মিতভাবে ওয়ার্কলোডে রেপ্লিকা সংখ্যা সামঞ্জস্য করে যাতে পর্যবেক্ষিত রিসোর্স ব্যবহার যেমন CPU বা মেমরি ব্যবহারের সাথে মিল থাকে।
একটি ডিপ্লয়মেন্টের জন্য HorizontalPodAutoscaler কনফিগার করার একটি ওয়াকথ্রু টিউটোরিয়াল রয়েছে।
ভার্টিকালি ওয়ার্কলোড স্কেলিং
কুবারনেটিস v1.25 [stable]
আপনি ভার্টিকালপডঅটোস্কেলার (VPA) ব্যবহার করে স্বয়ংক্রিয়ভাবে একটি ওয়ার্কলোড ভার্টিকালি স্কেল করতে পারেন। HPA-এর বিপরীতে, VPA ডিফল্টভাবে কুবারনেটিসের সাথে আসে না, কিন্তু একটি পৃথক প্রকল্প যা GitHub-এ পাওয়া যাবে।
ইনস্টল করার পরে, এটি আপনাকে আপনার ওয়ার্কলোডগুলির জন্য কাস্টমরিসোর্সডেফিনিশন (CRDs) তৈরি করতে দেয় যা পরিচালিত রেপ্লিকার রিসোর্সগুলি কীভাবে এবং কখন স্কেল করা হবে তা সংজ্ঞায়িত করে।
বিঃদ্রঃ:
VPA কাজ করার জন্য আপনার ক্লাস্টারে মেট্রিকস সার্ভার ইনস্টল করা প্রয়োজন হবে।বর্তমানে, VPA চারটি ভিন্ন মোডে কাজ করতে পারে:
মোড | বিবরণ |
---|---|
অটো | বর্তমানে, ভবিষ্যতে রিক্রিয়েট ইন-প্লেস আপডেটে পরিবর্তিত হতে পারে |
রিক্রিয়েট | VPA পড তৈরির সময় রিসোর্স অনুরোধগুলি বরাদ্দ করে এবং বিদ্যমান পডগুলিতে তাদের আপডেট করে যখন অনুরোধকৃত রিসোর্সগুলি নতুন সুপারিশ থেকে উল্লেখযোগ্যভাবে পৃথক হয় |
ইনিশিয়াল | VPA শুধুমাত্র পড তৈরির সময় রিসোর্স অনুরোধগুলি বরাদ্দ করে এবং পরে তাদের কখনও পরিবর্তন করে না। |
অফ | VPA স্বয়ংক্রিয়ভাবে পডগুলির রিসোর্স প্রয়োজনীয়তা পরিবর্তন করে না। সুপারিশগুলি গণনা করা হয় এবং VPA অবজেক্টে পরীক্ষা করা যেতে পারে। |
ইন-প্লেস রিসাইজিং এর প্রয়োজনীয়তা
কুবারনেটিস v1.27 [alpha]
ইন-প্লেস একটি ওয়ার্কলোড রিসাইজিং ছাড়া পড বা এর কন্টেইনার রিস্টার্ট করার জন্য কুবারনেটিস সংস্করণ 1.27 বা পরবর্তী প্রয়োজন। এছাড়াও, InPlaceVerticalScaling ফিচার গেট সক্ষম করা প্রয়োজন।
InPlacePodVerticalScaling
: ইন-প্লেস পড ভার্টিক্যাল স্কেলিং সক্ষম করে।
অটোস্কেলিং ক্লাস্টার আকারের উপর ভিত্তি করে
যেসব ওয়ার্কলোড ক্লাস্টারের আকারের উপর ভিত্তি করে স্কেল করতে হয় (উদাহরণস্বরূপ cluster-dns
বা অন্যান্য সিস্টেম কম্পোনেন্ট),
আপনি ক্লাস্টার প্রপোরশনাল অটোস্কেলার
ব্যবহার করতে পারেন। VPA-এর মতোই,
এটি কুবারনেটিস কোরের অংশ নয়,
বরং GitHub-এ নিজস্ব প্রকল্প হিসাবে হোস্ট করা হয়েছে।
ক্লাস্টার প্রপোরশনাল অটোস্কেলার শিডিউলযোগ্য nodes এবং কোরের সংখ্যা পর্যবেক্ষণ করে এবং সেই অনুযায়ী টার্গেট ওয়ার্কলোডের রেপ্লিকার সংখ্যা স্কেল করে।
যদি রেপ্লিকার সংখ্যা একই থাকা উচিত হয়, আপনি ক্লাস্টার প্রপোরশনাল ভার্টিকাল অটোস্কেলার ব্যবহার করে ক্লাস্টারের আকার অনুযায়ী আপনার ওয়ার্কলোডগুলিকে ভার্টিকালি স্কেল করতে পারেন। প্রকল্পটি বর্তমানে বিটা অবস্থায় আছে এবং GitHub-এ পাওয়া যাবে।
যেখানে ক্লাস্টার প্রপোরশনাল অটোস্কেলার একটি ওয়ার্কলোডের রেপ্লিকার সংখ্যা স্কেল করে, সেখানে ক্লাস্টার প্রপোরশনাল ভার্টিকাল অটোস্কেলার ক্লাস্টারের নোড এবং/অথবা কোরের সংখ্যার উপর ভিত্তি করে একটি ওয়ার্কলোডের (যেমন একটি ডিপ্লয়মেন্ট বা ডেমনসেট) রিসোর্স অনুরোধ সমন্বয় করে।
ইভেন্ট চালিত অটোস্কেলিং
ইভেন্টের উপর ভিত্তি করে ওয়ার্কলোড স্কেল করাও সম্ভব, উদাহরণস্বরূপ কুবারনেটিস ইভেন্ট ড্রিভেন অটোস্কেলার (KEDA) ব্যবহার করে।
KEDA হল একটি CNCF গ্র্যাজুয়েটেড প্রকল্প যা আপনাকে প্রক্রিয়াকরণের জন্য ইভেন্টের সংখ্যার উপর ভিত্তি করে আপনার ওয়ার্কলোড স্কেল করতে সক্ষম করে, উদাহরণস্বরূপ একটি কিউতে বার্তার পরিমাণ। বিভিন্ন ইভেন্ট সোর্সের জন্য বিস্তৃত পরিসরের অ্যাডাপ্টার বিদ্যমান।
সময়সূচী ভিত্তিক অটোস্কেলিং
আপনার ওয়ার্কলোড স্কেল করার আরেকটি কৌশল হল স্কেলিং অপারেশনগুলি সময়সূচীবদ্ধ করা, উদাহরণস্বরূপ অফ-পিক সময়ে রিসোর্স ব্যবহার কমানোর জন্য।
ইভেন্ট চালিত অটোস্কেলিংয়ের অনুরূপ, এই ধরনের আচরণ KEDA এবং
এর Cron
স্কেলার একসাথে ব্যবহার করে অর্জন করা যেতে পারে।
Cron
স্কেলার আপনাকে আপনার ওয়ার্কলোডগুলিকে স্কেল ইন বা আউট করার জন্য সময়সূচী (এবং টাইম জোন) নির্ধারণ করতে দেয়।
ক্লাস্টার ইনফ্রাস্ট্রাকচার স্কেলিং
যদি ওয়ার্কলোড স্কেলিং আপনার চাহিদা পূরণের জন্য যথেষ্ট না হয়, আপনি আপনার ক্লাস্টার ইনফ্রাস্ট্রাকচারকেও স্কেল করতে পারেন।
ক্লাস্টার ইনফ্রাস্ট্রাকচার স্কেলিং সাধারণত nodes। যোগ বা অপসারণ করা বোঝায়। আরও তথ্যের জন্য ক্লাস্টার অটোস্কেলিং পড়ুন।
এর পরের কি
- হরিজন্টাল স্কেলিং সম্পর্কে আরও জানুন
- কন্টেইনার রিসোর্স ইন-প্লেস রিসাইজ করুন
- ক্লাস্টারে DNS সার্ভিস অটোস্কেল করুন
- ক্লাস্টার অটোস্কেলিং সম্পর্কে জানুন