কুবার্নেটস ডিপ্লয়মেন্ট বনাম স্টেটফুলসেটস


110

আমি কুবারনেটসে প্রচুর খনন করছিলাম এবং আমি যা দেখতে পাচ্ছি তা পছন্দ করছি! একটি বিষয় যা সম্পর্কে আমি স্পষ্ট ধারণা পেতে অক্ষম হয়েছি তা হ'ল ডিপ্লোয়মেন্ট এবং স্টেটফুলসেট সংস্থানগুলির মধ্যে সঠিক পার্থক্যগুলি কী এবং আপনি কোন পরিস্থিতিতে কোন একটিকে ব্যবহার করবেন (বা একটিকে অন্যের তুলনায় সাধারণত পছন্দসই)।

লোকেরা যে কোনও অভিজ্ঞতা ভাগ করে নিতে পারে তা দুর্দান্ত হত !!

উত্তর:


113

মোতায়েন এবং প্রতিলিপি নিয়ন্ত্রণকারীরা রাষ্ট্রবিহীন ব্যবহারের জন্য বোঝানো হয় এবং এটি হালকা ওজনের হয় light স্টেটলসেটগুলি ব্যবহার করা হয় যখন রাষ্ট্রকে বজায় রাখতে হয়। সুতরাং পরবর্তী volumeClaimTemplatesউপাদানগুলি পুনরায় আরম্ভের ওপরে রাজ্যকে রাখতে পারে তা নিশ্চিত করার জন্য অবিচ্ছিন্ন আয়তনের উপর / দাবিগুলি ব্যবহার করে।

সুতরাং যদি আপনার অ্যাপ্লিকেশনটি স্থিতিশীল হয় বা আপনি যদি কুবারনেটসের শীর্ষে স্টেটফুল স্টোরেজ মোতায়েন করতে চান তবে স্টেটফুলসেট ব্যবহার করুন।

যদি আপনার অ্যাপ্লিকেশনটি রাজ্যহীন হয় বা প্রারম্ভের সময় যদি ব্যাকএন্ড-সিস্টেমগুলি থেকে রাষ্ট্র তৈরি করা যায় তবে ডিপ্লয়মেন্টগুলি ব্যবহার করুন।

রাষ্ট্রীয় অ্যাপ্লিকেশন চলমান সম্পর্কিত আরও বিশদ 2016 সালের অ্যাপ্লিকেশন সম্পর্কিত কুবারনেটের ব্লগ এন্ট্রিতে পাওয়া যাবে


16
অবিচ্ছিন্ন ভলিউম দাবির সাথে আমি মোতায়েনের শুঁটিগুলিও সংযুক্ত করতে পারি এবং নিরাপদ থাকতে পারি।
টর্স্টেন ব্রোঞ্জার

9
@ টর্স্টনব্রোঞ্জার আমি সম্মত - আমরা কোন পর্যায়ে স্টেটফুলসেটসের মূল বক্তব্যটি মূল প্রশ্নে ফিরে এসেছি?
এইচডিভ

6
@ এইচডিভে গতিশীল ধ্রুবক ভলিউম এবং দ্রুত বিকাশকারী স্টোরেজ সরবরাহকারী (পোর্টওয়ারেক্স, ওপেনবিএস) এর সাহায্যে ডেটা অধ্যবসায় সমস্যা সমাধান করা যেতে পারে তবে নামকরণ এবং স্টার্টআপ / আপগ্রেড ক্রমটি স্টেটফুলসেটের সাথে এখনও পৃথক, অ্যাপ্লিকেশানগুলির জন্য যা মাস্টার / স্লেভ বা অন্যান্য সেটআপের প্রয়োজন হয় তার জন্য মঞ্জুরি দেয় সঠিকভাবে একটি গুচ্ছ গঠন। যদিও আমি সম্মত হই যে সম্ভবত এই deploymentসমস্তটি 1-প্রতি-নোড (ডিমনসেট), প্রতিলিপি বা স্টেটফুল অর্ডারে সেট করার জন্য একটি সাধারণ বৈশিষ্টের সাথে একক কনফিগারেশনে ফোল্ড করা যেতে পারে ।
মণি গান্ধাম

4
"স্টার্টআপ / আপগ্রেড অর্ডার" উপলব্ধি করা জরুরী যে পড প্রতিলিপিগুলি (যেমন 1, 2, 3 ...) - বিভিন্ন পোড নয় (যেমন ওয়েব, এসআরভি, ডিবি, ইত্যাদি)। অন্য উপায় রাখুন, এটি ডকার-রচনা নির্ভরতার জন্য বিকল্প নয়।
এইচডিএভ

72
  • স্থাপনা - আপনি একটি প্যাসিস্টভলিউমক্লেম নির্দিষ্ট করুন যা সমস্ত পোড প্রতিলিপি দ্বারা ভাগ করা হয়। অন্য কথায়, ভাগ ভলিউম।

    ব্যাকিং স্টোরেজ স্পষ্টত থাকতে হবে ReadWriteMany বা ReadOnlyMany যদি আপনি একাধিক প্রতিরূপ শুঁটি আছে accessMode।

  • StatefulSet - আপনি একটি নির্দিষ্ট volumeClaimTemplates যাতে প্রতিটি প্রতিরূপ শুঁটি একটি অনন্য পায় PersistentVolumeClaim এর সাথে জড়িত। অন্য কথায়, কোনও ভাগ করা ভলিউম নেই।

    এখানে, ব্যাকিং স্টোরেজ থাকতে পারে ReadWriteOnce accessMode।

    স্টেটফুলসেট ক্লাস্টারে জিনিসগুলি চালনার জন্য দরকারী যেমন হ্যাডোপ ক্লাস্টার, মাইএসকিউএল ক্লাস্টার, যেখানে প্রতিটি নোডের নিজস্ব স্টোরেজ রয়েছে।


23

টি এল; ডিআর

রাষ্ট্রবিহীন অ্যাপ্লিকেশন মোতায়েনের জন্য স্থাপনা একটি সংস্থান, যদি কোনও পিভিসি ব্যবহার করে, সমস্ত প্রতিলিপি একই ভলিউম ব্যবহার করবে এবং এর কোনওটিরই নিজস্ব রাজ্য থাকবে না।

স্টেটফুলসেটগুলি স্টেটফুল অ্যাপ্লিকেশনগুলির জন্য ব্যবহৃত হয়, পোডের প্রতিটি প্রতিরূপের নিজস্ব রাষ্ট্র থাকবে এবং এটি নিজস্ব ভলিউম ব্যবহার করবে।

ডেমনসেট এমন একটি নিয়ামক যা এটি নিশ্চিত করে যে শুঁটি ক্লাস্টারের সমস্ত নোডে চলে on যদি কোনও ক্লাস্টার থেকে নোড যুক্ত করা / সরানো হয় তবে ডেমোনসেট পডটি স্বয়ংক্রিয়ভাবে যোগ / মুছে দেয়।

আমি ডিপ্লয়মেন্টস, স্টেটফুলসেটস এবং ডেমোনেসেটের মধ্যে এবং এই সংস্থানসমূহ K8 গুলি ব্যবহার করে কীভাবে একটি নমুনা অ্যাপ্লিকেশন স্থাপন করতে পারি সে সম্পর্কে বিস্তারিত পার্থক্য সম্পর্কে লিখেছি: ডিফলিমেটস বনাম স্টেটফুলসেট বনাম ডিমনসেটস


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

14

StatefulSet

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

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

স্টেটফুলসেটে প্রতিটি পড (প্রতিলিপি / নোড) এর একটি অনন্য এবং স্থিতিশীল নেটওয়ার্ক পরিচয় রয়েছে। উদাহরণস্বরূপ, ক্যাসান্দ্রা স্টেটফুলসেটে 'ক্যাসান্দ্রা' নাম এবং এন হিসাবে রেপ্লিকা নোডের সংখ্যা সহ প্রতিটি ক্যাসান্দ্রা পোড (নোড) রয়েছে:

  • প্রতিটি পোডের জন্য সাধারণ সূচক: 0,1, .., এন -1
  • স্থিতিশীল নেটওয়ার্ক আইডি: ক্যাসান্দ্রা -0, ক্যাসান্দ্রা -1, .., ক্যাসান্দ্রা-এন-1
  • ভলিউম দাবি টেমপ্লেটের বিপরীতে প্রতিটি পডের জন্য পৃথক অবিচ্ছিন্ন ভলিউম অর্থাৎ প্রতিটি পডের জন্য পৃথক স্টোরেজ (নোড)
  • পডগুলি 0 থেকে N-1 ক্রমে তৈরি হয় এবং বিপরীত ক্রম N-1 থেকে 0 এ শেষ হয়

উল্লেখ করুন: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/

বিস্তৃতি

অন্যদিকে 'স্থাপনা' রাষ্ট্রবিহীন অ্যাপ্লিকেশন / পরিষেবাগুলির জন্য উপযুক্ত যেখানে নোডগুলির কোনও বিশেষ পরিচয়ের প্রয়োজন নেই। একটি লোড ব্যালান্সার তার চয়ন করা কোনও নোডে পৌঁছতে পারে। সমস্ত নোড সমান। একটি স্থাপনা একটি কনফিগারেশনের মাধ্যমে (নকল = এন) যেকোন সংখ্যক স্বেচ্ছাসেবী নোড তৈরি করতে কার্যকর।


7

স্টেটফুলসেট এবং মোতায়েনের মধ্যে পার্থক্য

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.