25 KiB
শিরোনাম, বর্ণনা, content_type, weight, card, sitemap
| শিরোনাম | বর্ণনা | content_type | weight | card | sitemap | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| কুবারনেটিস কি ? | কুবারনেটিস হল একটি পোর্টেবল, বর্ধনশীল, ওপেন সোর্স প্ল্যাটফর্ম যা কনটেইনারাইজড ওয়ার্কলোড এবং পরিষেবাগুলি পরিচালনা করার জন্য, যা ঘোষণামূলক কনফিগারেশন এবং অটোমেশন উভয়কেই সহজতর করে। এটির একটি বড়, দ্রুত বর্ধনশীল ইকোসিস্টেম রয়েছে। কুবারনেটিস পরিষেবা, সমর্থন, এবং সরঞ্জাম ব্যাপকভাবে উপলব্ধ। | concept | 10 |
|
|
এই পৃষ্ঠাটি কুবারনেটিসের একটি পরিপূর্ণ ধারণা প্রদান করে ।
কুবারনেটিস হল একটি পোর্টেবল, বর্ধনশীল, ওপেন সোর্স প্ল্যাটফর্ম যা কনটেইনারাইজড ওয়ার্কলোড এবং পরিষেবাগুলি পরিচালনা করার জন্য, যা ঘোষণামূলক কনফিগারেশন এবং অটোমেশন উভয়কেই সহজতর করে। এটির একটি বড়, দ্রুত বর্ধনশীল ইকোসিস্টেম রয়েছে। কুবারনেটিস এর পরিষেবা, ব্যবহারযোগ্যতা, এবং সরঞ্জাম ব্যাপকভাবে বিস্তৃত।
কুবারনেটিস নামটি গ্রীক থেকে এসেছে, যার অর্থ হেলমসম্যান বা পাইলট। "K" এবং "s" এর মধ্যে আটটি অক্ষর গণনা করার ফলে একটি সংক্ষিপ্ত রূপ K8s। গুগল ২০১৪ সালে কুবারনেটিস প্রজেক্টটি উন্মুক্ত করেছে। ফলস্বরূপ কুবারনেটিস গুগল-এর ১৫ বছরেরও বেশি অভিজ্ঞতার মাধ্যমে উৎপাদন কাজ স্কেল পর্যায়ে সেরা ধারণা এবং অনুশীলনের সাথে পরিচালনা করে।
অতিতে যাই
চলুন অতিতে যেয়ে এক নজরে দেখে নেওয়া যাক কেন কুবারনেটিস এতটা কাজে লাগে।
ঐতিহ্যবাহী স্থাপনার যুগ: প্রথম দিকে, সংস্থাগুলি ফিজিক্যাল সার্ভারগুলিতে অ্যাপ্লিকেশন চালাত। একটি ফিজিক্যাল সার্ভারে অ্যাপ্লিকেশনের জন্য রিসোর্স সীমানা নির্ধারণ করার কোন উপায় ছিল না, এবং এর ফলে রিসোর্স বরাদ্দ সমস্যা হয়েছে। উদাহরণস্বরূপ, যদি একটি ফিজিক্যাল সার্ভারে একাধিক অ্যাপ্লিকেশান চালিত হয়, এমন উদাহরণ হতে পারে যেখানে একটি অ্যাপ্লিকেশন বেশিরভাগ সংস্থান গ্রহণ করবে, এবং ফলস্বরূপ, অন্যান্য অ্যাপ্লিকেশনগুলি কম পারফর্ম করবে। এই জন্য একটি সমাধান একটি ভিন্ন ফিজিক্যাল সার্ভারে প্রতিটি অ্যাপ্লিকেশন চালানো হবে। কিন্তু সম্পদের অব্যবহৃত হওয়ার কারণে এটির মাপকাঠিি ঠিক করা যায়নি এবং অনেকগুলি ফিজিক্যাল সার্ভার বজায় রাখা সংস্থাগুলির জন্য ব্যয়বহুল ছিল।
ভার্চুয়ালাইজড স্থাপনার যুগ: একটি সমাধান হিসাবে, ভার্চুয়ালাইজেশন চালু করা হয়েছিল। এটি আপনাকে একটি একক শারীরিক সার্ভারের CPU-তে একাধিক ভার্চুয়াল মেশিন (VMs) চালানো যায়। ভার্চুয়ালাইজেশন অ্যাপ্লিকেশনগুলিকে VM-এর মধ্যে বিচ্ছিন্ন করার অনুমতি দেয় এবং একটি স্তরের নিরাপত্তা প্রদান করে কারণ একটি অ্যাপ্লিকেশনের তথ্য অন্য অ্যাপ্লিকেশন দ্বারা অবাধে অ্যাক্সেস করা যায় না। ভার্চুয়ালাইজেশন একটি ফিজিক্যাল সার্ভারে রিসোর্সগুলির আরও ভালো ব্যবহারের অনুমতি দেয় এবং আরও ভাল স্কেলেবিলিটির অনুমতি দেয় কারণ একটি অ্যাপ্লিকেশন সহজে যোগ বা আপডেট করা যায়, হার্ডওয়্যার খরচ কমায় এবং আরও অনেক কিছু। ভার্চুয়ালাইজেশনের মাধ্যমে আপনি ডিসপোজেবল ভার্চুয়াল মেশিনের একটি ক্লাস্টার হিসাবে ভৌত সম্পদের একটি সেট উপস্থাপন করতে পারেন।
প্রতিটি VM হল একটি সম্পূর্ণ মেশিন যা ভার্চুয়ালাইজড হার্ডওয়্যারের উপরে নিজস্ব অপারেটিং সিস্টেম সহ সমস্ত উপাদান চালায়।
কন্টেইনার স্থাপনের যুগ: কনটেইনারগুলি VM-এর মতোই, তবে অ্যাপ্লিকেশনগুলির মধ্যে অপারেটিং সিস্টেম (OS) ভাগ করার জন্য তাদের শিথিল বিচ্ছিন্নতা বৈশিষ্ট্য রয়েছে৷ অতএব, পাত্রে হালকা বলে মনে করা হয়। একটি VM-এর মতো, একটি ধারকটির নিজস্ব ফাইল সিস্টেম, CPU ভাগ, মেমরি, প্রক্রিয়া স্থান এবং আরও অনেক কিছু রয়েছে। যেহেতু এগুলি অন্তর্নিহিত অবকাঠামো থেকে আলাদা করা হয়েছে, তারা ক্লাউড এবং OS ডিস্ট্রিবিউশন জুড়ে বহনযোগ্য।
কনটেইনারগুলি জনপ্রিয় হয়ে উঠেছে কারণ তারা অতিরিক্ত সুবিধা প্রদান করে, যেমন:
- এজাইল অ্যাপ্লিকেশন তৈরি এবং স্থাপনা: ভিএম ইমেজ(VM Image) ব্যবহারের তুলনায় কন্টেইনার ইমেজ(Container Image) তৈরির সহজতা এবং দক্ষতা বেশি।
- ক্রমাগত বিকাশ, একীকরণ এবং স্থাপনা: দ্রুত এবং দক্ষ রোলব্যাকগুলির সাথে নির্ভরযোগ্য এবং ঘন ঘন কন্টেইনার image তৈরি এবং স্থাপনার ব্যবস্থা করে (image অপরিবর্তনীয়তার কারণে).
- ডেভ(Dev) এবং অপস(Ops) উদ্বেগের বিচ্ছেদ: বিল্ড/রিলিজের সময়ে অ্যাপ্লিকেশন কন্টেইনার ইমেজ তৈরি করে ডিপ্লয়মেন্টের সময়ের তুলনায়, ফলস্বরূপ অ্যাপ্লিকেশনগুলি অবকাঠামো থেকে বিচ্ছিন্ন হয়।
- পর্যবেক্ষণযোগ্যতা: শুধুমাত্র OS-স্তরের তথ্য এবং মেট্রিক্সই নয়, প্রয়োগের স্বাস্থ্য এবং অন্যান্য সংকেতও।
- ডেভেলপমেন্ট, টেস্টিং এবং প্রোডাকশন জুড়ে পরিবেশগত সামঞ্জস্য: একটি ল্যাপটপে ক্লাউডের মতোই চলে।
- ক্লাউড এবং ওএস ডিস্ট্রিবিউশন পোর্টেবিলিটি: Ubuntu, RHEL, CoreOS, on-premises, on major public clouds, এবং অন্য কোথাও চলে।
- অ্যাপ্লিকেশন-কেন্দ্রিক ব্যবস্থাপনা: ভার্চুয়াল হার্ডওয়্যারে একটি OS চালানো থেকে লজিক্যাল রিসোর্স ব্যবহার করে একটি OS-এ একটি অ্যাপ্লিকেশন চালানো পর্যন্ত বিমূর্ততার স্তর বাড়ায়।
- ঢিলেঢালাভাবে সংযুক্ত, বিতরণ করা, স্থিতিস্থাপক, মুক্ত মাইক্রো-পরিষেবা: অ্যাপ্লিকেশনগুলিকে ছোট, স্বাধীন টুকরোগুলিতে বিভক্ত করা হয় এবং গতিশীলভাবে স্থাপন ও পরিচালনা করা যায় – একটি বড় একক-উদ্দেশ্য মেশিনে চলমান একটি মনোলিথিক স্ট্যাক নয়।.
- সম্পদ বিচ্ছিন্নতা: অনুমানযোগ্য অ্যাপ্লিকেশন কর্মক্ষমতা।
- সম্পদের ব্যবহার: উচ্চ দক্ষতা এবং ঘনত্ব।
আপনার কেন কুবারনেটিস দরকার এবং এটি কী করতে পারে
কন্টেইনারসমূহ অ্যাপ্লিকেশন একত্রকরণ এবং চালানোর একটি ভালো উপায়৷ একটি উৎপাদন পরিবেশে, কন্টেইনারসমূহ এমন ভাবে পরিচালনা করতে হবে যা অ্যাপ্লিকেশনগুলি চালানোর সময় যেন কোনো ডাউনটাইম না থাকে তা নিশ্চিত করবে। উদাহরণস্বরূপ, যদি একটি কন্টেইনার ডাউন হয়, তাহলে অন্য কন্টেইনার কে সেই মুহূর্তে চালু হতে হবে। আর এই অবস্থাটি একটি সিস্টেম দ্বারা পরিচালিত হলে এটি কি সহজ হবে না?
এভাবেই কুবারনেটিস কাজে আসে। কুবারনেটিস আপনাকে সিস্টেমগুলিকে স্থিতিস্থাপকভাবে চালানোর জন্য একটি কাঠামো প্রদান করে। এটি আপনার অ্যাপ্লিকেশনের জন্য স্কেলিং এবং ফেইলওভারের যত্ন নেয়, স্থাপনার নিদর্শন প্রদান করে এবং আরও অনেক কিছু করে। উদাহরণস্বরূপ, কুবারনেটিস সহজেই আপনার সিস্টেমের জন্য একটি ক্যানারি স্থাপনা পরিচালনা করতে পারে।
কুবারনেটিস আপনাকে সরবরাহ করে:
- পরিষেবা আবিষ্কার এবং লোড ব্যালেন্সিং কুবারনেটিস ডিএনএস নাম ব্যবহার করে বা তাদের নিজস্ব আইপি ঠিকানা ব্যবহার করে একটি ধারক প্রকাশ করতে পারে। একটি কন্টেইনারে ট্রাফিক বেশি হলে, কুবারনেটিস লোড ব্যালেন্স এবং নেটওয়ার্ক ট্র্যাফিক বিতরণ করতে সক্ষম হয় যাতে স্থাপনা স্থিতিশীল থাকে।
- স্টোরেজ অর্কেস্ট্রেশন কুবারনেটিস আপনাকে স্বয়ংক্রিয়ভাবে আপনার পছন্দের একটি স্টোরেজ সিস্টেম মাউন্ট করার অনুমতি দেয়, যেমন স্থানীয় স্টোরেজ, পাবলিক ক্লাউড প্রদানকারী এবং আরও অনেক কিছু।
- স্বয়ংক্রিয় রোলআউট এবং রোলব্যাক আপনি কুবারনেটিস ব্যবহার করে আপনার স্থাপন করা কন্টেইনার জন্য পছন্দসই অবস্থা বর্ণনা করতে পারেন এবং এটি একটি নিয়ন্ত্রিত হারে প্রকৃত অবস্থাকে পছন্দসই অবস্থায় পরিবর্তন করতে পারে। উদাহরণস্বরূপ, আপনি আপনার স্থাপনার জন্য নতুন কন্টেইনার তৈরি করতে, বিদ্যমান কন্টেইনারগুলি সরাতে এবং নতুন কন্টেইনারে তাদের সমস্ত রিসোর্স গ্রহণ করতে কুবারনেটিসকে স্বয়ংক্রিয়ভাবে করতে পারেন।
- স্বয়ংক্রিয় বিন প্যাকিং আপনি কুবারনেটিসকে নোডের একটি ক্লাস্টার প্রদান করেন যা এটি কন্টেইনারাইজড কাজ চালাতে ব্যবহার করতে পারে। আপনি কুবারনেটিসকেে বলুন প্রতিটি কন্টেইনারের কত CPU এবং মেমরি (RAM) প্রয়োজন। কুবারনেটিস আপনার সম্পদের সর্বোত্তম ব্যবহার করতে আপনার নোডগুলিতে কন্টেইনারে মানানসই করতে পারে।
- স্ব-নিরাময় কন্টেইনারগুলি পুনরায় বন্ধ করে চালু করে যেগুলো ব্যর্থ হয়, কন্টেইনারগুলিকে প্রতিস্থাপন করে, আপনার ব্যবহারকারী-সংজ্ঞায়িত স্বাস্থ্য পরীক্ষায় সাড়া না দেওয়া কন্টেইনারগুলিকে বাতিল করে এবং ক্লায়েন্টদের কাছে সেগুলিকে উপস্থাপন করে না যতক্ষণ না তারা পরিবেশন করার জন্য প্রস্তুত হয়৷
- গোপন এবং কনফিগারেশন ব্যবস্থাপনা কুবারনেটিস আপনাকে পাসওয়ার্ড, OAuth টোকেন এবং SSH কীগুলির মতো সংবেদনশীল তথ্য সংরক্ষণ এবং পরিচালনা করতে দেয়। আপনি আপনার কন্টেইনারের চিত্রগুলি পুনর্নির্মাণ না করে এবং আপনার স্ট্যাক কনফিগারেশনে গোপনীয়তা প্রকাশ না করেই গোপনীয়তা এবং অ্যাপ্লিকেশন কনফিগারেশন স্থাপন এবং আপডেট করতে পারেন।
কুবারনেটিস কি নয়
কুবারনেটিস একটি ঐতিহ্যগত, সর্ব-অন্তর্ভুক্ত PaaS (পরিষেবা হিসাবে প্ল্যাটফর্ম) সিস্টেম নয়। যেহেতু Kubernetes হার্ডওয়্যার স্তরের পরিবর্তে কন্টেইনার স্তরে কাজ করে, তাই এটি PaaS অফারগুলির জন্য সাধারণভাবে কিছু প্রযোজ্য বৈশিষ্ট্য প্রদান করে, যেমন স্থাপনা, স্কেলিং, লোড ব্যালেন্সিং, এবং ব্যবহারকারীদের তাদের লগিং, পর্যবেক্ষণ এবং সতর্কতা সমাধানগুলিকে একীভূত করতে দেয়৷ যাইহোক, কুবারনেটিস একচেটিয়া নয়, এবং এই ডিফল্ট সমাধান ঐচ্ছিক এবং প্লাগযোগ্য। কুবারনেটিস বিকাশকারী প্ল্যাটফর্ম তৈরির জন্য বিল্ডিং ব্লক সরবরাহ করে, কিন্তু যেখানে এটি গুরুত্বপূর্ণ সেখানে ব্যবহারকারীর পছন্দ এবং নমনীয়তা সংরক্ষণ করে।
কুবারনেটিস:
- সমর্থিত অ্যাপ্লিকেশনের ধরন সীমাবদ্ধ করে না। কুবারনেটিস-এর লক্ষ্য স্টেটলেস, স্টেটফুল, এবং ডেটা-প্রসেসিং ওয়ার্কলোড সহ অত্যন্ত বৈচিত্র্যময় কাজের লোড সহায়তা করা। যদি একটি অ্যাপ্লিকেশন একটি পাত্রে চলতে পারে তবে এটি কুবারনেটে দুর্দান্ত চালানো সম্ভব।
- সোর্স কোড স্থাপন করে না এবং আপনার অ্যাপ্লিকেশন তৈরি করে না। ক্রমাগত ইন্টিগ্রেশন, ডেলিভারি, এবং ডিপ্লয়মেন্ট (CI/CD) ওয়ার্কফ্লোগুলি সংস্থার প্রকৃতির উপর এবং পছন্দগুলির পাশাপাশি প্রযুক্তিগত প্রয়োজনীয়তা দ্বারা নির্ধারিত হয়।
- মিডলওয়্যার (উদাহরণস্বরূপ, বার্তা বাস), ডেটা-প্রসেসিং ফ্রেমওয়ার্ক (উদাহরণস্বরূপ, স্পার্ক(Spark)), ডাটাবেস (উদাহরণস্বরূপ, মাইএসকিউএল(MySql)), ক্যাশে, বা ক্লাস্টার স্টোরেজ সিস্টেম (উদাহরণস্বরূপ, Ceph) এর মতো অ্যাপ্লিকেশন-স্তরের পরিষেবা প্রদান করে না। অন্তর্নির্মিত পরিষেবা হিসাবে। এই ধরনের উপাদানগুলি কুবারনেটিস-এ চলতে পারে, এবং/অথবা পোর্টেবল মেকানিজম, যেমন ওপেন সার্ভিস ব্রোকার এর মাধ্যমে Kubernetes-এ চলমান অ্যাপ্লিকেশনের মাধ্যমে অ্যাক্সেস করা যেতে পারে।
- লগিং, পর্যবেক্ষণ, বা সতর্কতা সমাধান নির্দেশ করে না। এটি ধারণার প্রমাণ হিসাবে কিছু ইন্টিগ্রেশন এবং মেট্রিক্স সংগ্রহ ও রপ্তানি করার প্রক্রিয়া প্রদান করে।
- কনফিগারেশন ভাষা/সিস্টেম প্রদান করে না বা বাধ্যতামূলক করে না (উদাহরণস্বরূপ, জসননেট)। এটি একটি ঘোষণামূলক API প্রদান করে যা ঘোষণামূলক স্পেসিফিকেশনের নির্বিচারে ফর্ম দ্বারা লক্ষ্যধারন করা যেতে পারে।
- কোন ব্যাপক যান্ত্রিক কনফিগারেশন, রক্ষণাবেক্ষণ, ব্যবস্থাপনা, বা স্ব-নিরাময় সিস্টেম প্রদান বা গ্রহণ করে না। *উপরন্তু, কুবারনেটিস একটি নিছক অর্কেস্ট্রেশন সিস্টেম নয়। প্রকৃতপক্ষে, এটি অর্কেস্ট্রেশনের প্রয়োজনীয়তা দূর করে। অর্কেস্ট্রেশনের প্রযুক্তিগত সংজ্ঞা হল একটি সংজ্ঞায়িত কর্মপ্রবাহের সঞ্চালন: প্রথমে A, তারপর B, তারপর C করুন। বিপরীতে, Kubernetes স্বাধীন, সংমিশ্রণযোগ্য নিয়ন্ত্রণ প্রক্রিয়াগুলির একটি সেট নিয়ে গঠিত যা বর্তমান অবস্থাকে প্রদত্ত পছন্দসই অবস্থার দিকে ক্রমাগত চালিত করে। আপনি A থেকে C পর্যন্ত কিভাবে যাবেন তা বিবেচ্য নয়। কেন্দ্রীভূত নিয়ন্ত্রণেরও প্রয়োজন নেই। এর ফলে এমন একটি সিস্টেম তৈরি হয় যা ব্যবহার করা সহজ এবং আরও শক্তিশালী, মজবুত, স্থিতিস্থাপক এবং বর্ধনশীল।
{{% heading "whatsnext" %}}
- [কুবারনেটিস উপাদানটি] দেখুন(/docs/concepts/overview/components/)
- [শুরু করতে] প্রস্তুত আপনি?(/docs/setup/)?