প্রকল্প সম্পর্কে
RavenDB Kubernetes Operator হল Kubernetes-এ RavenDB ক্লাস্টার স্থাপন এবং পরিচালনার অফিসিয়াল টুল। এটি একটি একক `RavenDBCluster` কাস্টম রিসোর্স দ্বারা চালিত সম্পূর্ণ স্বয়ংক্রিয়, ঘোষণামূলক পদ্ধতি প্রদান করে, যা নিশ্চিত করে যে প্রতিটি উপাদান পুনরুৎপাদনযোগ্য স্থাপনার জন্য ঘোষিত স্পেসিফিকেশনের সাথে সামঞ্জস্যপূর্ণ থাকে।
**ইনস্টলেশন পদ্ধতি**: অপারেটর তিনটি ইনস্টলেশন পদ্ধতি সমর্থন করে: Helm (প্রস্তাবিত, অপারেটর এবং প্রতিটি ক্লাস্টারের জন্য আলাদা চার্ট সহ), `make deploy` স্থানীয় উন্নয়ন এবং পরীক্ষার জন্য, এবং OLM বান্ডেল যা Operator Lifecycle Manager চালানো ক্লাস্টারগুলির জন্য। Helm ডিস্ট্রিবিউশন দুটি চার্টে বিভক্ত: `ravendb-operator` (ক্লাস্টার-ব্যাপী, একবার ইনস্টল করা) এবং `ravendb-cluster` (প্রতি-নেমস্পেস, প্রতিটি RavenDB ক্লাস্টারের জন্য একবার ইনস্টল করা)।
**কাস্টম রিসোর্স**: `RavenDBCluster` CRD হল একক সত্যের উৎস, যা নোড টপোলজি, TLS মোড (Let's Encrypt বা self-signed), বাহ্যিক অ্যাক্সেস কৌশল, স্টোরেজ লেআউট, ইমেজ এবং বুটস্ট্র্যাপ আচরণ সংজ্ঞায়িত করে। একবার কনসিলিয়েটেড হলে, অপারেটর অন্তর্নিহিত Kubernetes অবজেক্ট যেমন StatefulSets, Services, Ingresses, Jobs এবং PVCs তৈরি ও পরিচালনা করে।
**মূল বৈশিষ্ট্যসমূহ**:
- **সার্টিফিকেট এবং TLS ব্যবস্থাপনা**: RavenDB-এর বিল্ট-ইন সমর্থন ব্যবহার করে Let's Encrypt মোড, self-signed/আপনার নিজস্ব সার্টিফিকেট, RavenDB Setup Package থেকে প্রতি-নোড সার্টিফিকেট এবং সার্টিফিকেট নবায়নের সময় স্বয়ংক্রিয় সিক্রেট ঘূর্ণন সমর্থন করে।
- **ক্লাস্টার বুটস্ট্র্যাপিং**: পডগুলির জন্য অপেক্ষা, HTTPS রিচেবিলিটি যাচাই, ClusterAdmin ক্লায়েন্ট সার্টিফিকেট নিবন্ধন এবং ঘোষিত নোড টপোলজির ভিত্তিতে ক্লাস্টার গঠনের জন্য একটি স্বল্পস্থায়ী Kubernetes Job চালায়।
- **বাহ্যিক অ্যাক্সেস**: AWS Network Load Balancer (স্পষ্ট EIP/সাবনেট/AZ ম্যাপিং সহ প্রতি-নোড), Azure Load Balancer, NGINX Ingress, HAProxy Ingress এবং Traefik Ingress সমর্থন করে।
- **স্টোরেজ কনফিগারেশন**: ডেটা, লগ এবং অডিট ভলিউমের ঘোষণামূলক কনফিগারেশন, local-path, AWS EBS/EBS-CSI, Azure Disk/Azure Disk CSI এবং অতিরিক্ত ভলিউম (ConfigMap, Secret, PVC, emptyDir) সমর্থন সহ।
- **রোলিং আপগ্রেড**: স্পেকে সংজ্ঞায়িত ক্রমে নোড-বাই-নোড আপগ্রেড সংগঠিত করে, নিরাপত্তা গেট সহ যা ব্যর্থতায় থামে এবং সমস্যা ঠিক হওয়ার পরে স্বয়ংক্রিয়ভাবে পুনরায় শুরু হয়। দুর্ঘটনাজনিত সংস্করণ ডাউনগ্রেড প্রতিরোধ করে।
- **স্বাস্থ্য এবং অবস্থা রিপোর্টিং**: একটি লাইফসাইকেল ফেজ (`Deploying`, `Running`, `Error`), প্রস্তুতি, অগ্রগতি এবং স্বাস্থ্য গেটগুলির জন্য বিস্তারিত শর্ত প্রকাশ করে এবং প্রতিটি শর্ত পরিবর্তনে Kubernetes Events নির্গত করে।
- **উন্নয়ন সমর্থন**: `make deploy` এর মাধ্যমে স্থানীয় স্থাপনা, বৈধতা এবং পরিবর্তনকারী অ্যাডমিশন ওয়েবহুক, সার্ভার-সাইড অ্যাপ্লাই এবং বৃদ্ধিমূলক পুনঃসমঝোতা।
**পূর্বশর্ত**: Kubernetes 1.23+, kubectl, Helm, cert-manager, একটি RavenDB লাইসেন্স এবং Let's Encrypt সেটআপ উপকরণ বা self-signed সার্টিফিকেট।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.