প্রকল্প সম্পর্কে
Agent Sandbox হলো একটি Kubernetes অপারেটর-ধাঁচের প্রকল্প যা `Sandbox` কাস্টম রিসোর্স ডেফিনিশন ও কন্ট্রোলার সংজ্ঞায়িত করে, এমন ওয়ার্কলোডের জন্য যেগুলোর স্থিতিশীল পরিচয় ও স্থায়ী স্টোরেজসহ বিচ্ছিন্ন, দীর্ঘকালীন, একক-কন্টেইনার পরিবেশ প্রয়োজন। এটি Kubernetes Deployments—যা স্টেটলেস রেপ্লিকেটেড পড লক্ষ্য করে—এবং StatefulSets—যা নম্বরযুক্ত রেপ্লিকা দেয় কিন্তু নিবেদিত সিঙ্গেলটন স্যান্ডবক্স অ্যাবস্ট্রাকশন নয়—এর মাঝখানে অবস্থান করার উদ্দেশ্যে তৈরি।
মূল `Sandbox` রিসোর্স একটি স্টেটফুল পড পরিচালনা করে। নথিভুক্ত সক্ষমতার মধ্যে রয়েছে স্থিতিশীল হোস্টনেম ও নেটওয়ার্ক পরিচয়, রিস্টার্ট সহ্য করতে পারে এমন স্থায়ী স্টোরেজ, এবং কন্ট্রোলার-পরিচালিত লাইফসাইকল অপারেশন যেমন তৈরি, নির্ধারিত মুছে ফেলা, পজ করা ও রিজিউম করা। ব্যবহারকারীরা একটি পড টেমপ্লেটের মাধ্যমে পড সংজ্ঞায়িত করেন এবং এর স্থিতিশীল হোস্টনেমের মাধ্যমে ফলাফল স্যান্ডবক্স অ্যাক্সেস করতে পারেন।
প্রকল্পটি স্পষ্টভাবে একটি স্যান্ডবক্স অর্কেস্ট্রেটর, কন্টেইনার আইসোলেশন রানটাইম নয়। এটি `RuntimeClass`-এর মাধ্যমে নিরাপদ স্যান্ডবক্স রানটাইম ব্যবহার করতে Kubernetes Pods কনফিগার করে, নিম্ন-স্তরের কার্নেল ও নেটওয়ার্ক আইসোলেশন gVisor বা Kata Containers-এর মতো প্রকল্পের কাছে অর্পণ করে। এটি উপযুক্ত রানটাইমের সাথে যুক্ত হলে মাল্টি-টেন্যান্ট বা অবিশ্বস্ত-কোড পরিস্থিতির জন্য উপযোগী করে তোলে, তবে নিরাপত্তা সীমানা নির্বাচিত রানটাইম ও Kubernetes কনফিগারেশনের উপর ছেড়ে দেয়।
একটি ঐচ্ছিক এক্সটেনশন মডিউল উচ্চ-স্তরের API যোগ করে:
- `SandboxTemplate` অনুরূপ স্যান্ডবক্সের জন্য পুনঃব্যবহারযোগ্য কনফিগারেশন সংজ্ঞায়িত করে।
- `SandboxClaim` সমস্ত অন্তর্নিহিত কনফিগারেশন বিশদ প্রকাশ না করে, সম্ভবত একটি ওয়ার্ম পুল থেকে, একটি স্যান্ডবক্স অনুরোধ করে।
- `SandboxWarmPool` দ্রুত বরাদ্দের জন্য আগে থেকে উষ্ণ করা স্যান্ডবক্স বজায় রাখে।
আর্কিটেকচার Kubernetes কন্ট্রোলার প্যাটার্ন অনুসরণ করে: ব্যবহারকারীরা Sandbox, Claim, Template বা WarmPool কাস্টম রিসোর্স তৈরি করেন, এবং কন্ট্রোলাররা সেই অবজেক্টগুলোকে Pods ও অন্যান্য Kubernetes রিসোর্সে সমন্বয় করে। README-তে একটি আর্কিটেকচার ডায়াগ্রাম দেখায় কীভাবে ক্লেইমগুলো ওয়ার্ম পুল থেকে স্যান্ডবক্স গ্রহণ করে এবং ওয়ার্ম পুলগুলো টেমপ্লেট রেফারেন্স করে।
ইনস্টলেশন রিলিজ ম্যানিফেস্ট হিসেবে প্রদান করা হয় যা `kubectl` দিয়ে প্রয়োগ করা হয়। একটি স্ট্যান্ডার্ড ম্যানিফেস্ট কোর ও এক্সটেনশন উভয় উপাদান ইনস্টল করে, অন্যদিকে পৃথক ম্যানিফেস্ট কোর-শুধু ইনস্টলেশন ও ঐচ্ছিক এক্সটেনশন অনুমতি দেয়। README-তে Kustomize দিয়ে সোর্স থেকে ম্যানিফেস্ট রেন্ডারিং, একটি Helm চার্ট, CRD ও কন্ট্রোলার ডিপ্লয়মেন্টের যাচাইকরণ কমান্ড এবং আনইনস্টলেশন ধাপও নথিভুক্ত করা হয়েছে। এটি সতর্ক করে যে CRD মুছে ফেললে তাদের কাস্টম রিসোর্সগুলো ক্যাসকেড ডিলিট হয়।
প্রোগ্রাম্যাটিক অ্যাক্সেস Go ও Python SDK-এর মাধ্যমে সমর্থিত। Go SDK ইনস্টল করা হয় `go get sigs.k8s.io/agent-sandbox/clients/go/sandbox` দিয়ে, এবং Python SDK `k8s-agent-sandbox` হিসেবে প্রকাশিত। একটি ঐচ্ছিক Sandbox Router হলো একটি HTTP রিভার্স প্রক্সি যা SDK বা বাহ্যিক ক্লায়েন্ট থেকে স্যান্ডবক্স পডে ট্রাফিক রাউট করতে পারে, যার মধ্যে এমন পরিবেশও রয়েছে যেখানে সরাসরি পড পোর্ট-ফরওয়ার্ডিং উপলব্ধ নয়।
নথিভুক্ত ব্যবহারের ক্ষেত্রে রয়েছে LLM-উৎপন্ন কোড নির্বাহকারী বিচ্ছিন্ন AI এজেন্ট রানটাইম, SWE-bench বা R2E-Gym ওয়ার্কলোডের মতো রিইনফোর্সমেন্ট-লার্নিং ও মূল্যায়ন লুপ, স্থায়ী ডেভেলপার পরিবেশ, Jupyter-ধাঁচের নোটবুক সেশন, গবেষণা সরঞ্জাম এবং ছোট স্টেটফুল একক-পড সার্ভিস। কাঙ্ক্ষিত দীর্ঘমেয়াদী বৈশিষ্ট্যের মধ্যে রয়েছে গভীর হাইবারনেশন, নেটওয়ার্ক সংযোগে স্বয়ংক্রিয় রিজিউম, দক্ষ ইলাস্টিক স্টোরেজ, সমর্থিত ক্ষেত্রে রানটাইম-সহায়ক মেমরি শেয়ারিং, সমৃদ্ধ পরিচয় ও সংযোগ এবং অ্যাপ্লিকেশন ও এজেন্ট দ্বারা প্রোগ্রাম্যাটিক ব্যবহার।
প্রকল্পটি Kubernetes SIG Apps-এর অধীনে উন্নত এবং Apache-2.0 লাইসেন্সপ্রাপ্ত। উন্নত কনফিগারেশন ডকুমেন্টেশন স্কেল ও কনকারেন্সি টিউনিং যেমন API QPS ও ওয়ার্কার সংখ্যা কভার করে, এবং একটি পৃথক থ্রেট মডেল নিরাপত্তা সীমানা ও প্রশমন বর্ণনা করে।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.