|
| 1 | +--- |
| 2 | +title: সাইডকার কন্টেইনার (Sidecar Containers) |
| 3 | +content_type: concept |
| 4 | +weight: 50 |
| 5 | +--- |
| 6 | + |
| 7 | +<!-- overview --> |
| 8 | +{{< feature-state for_k8s_version="v1.29" state="beta" >}} |
| 9 | + |
| 10 | +সাইডকার কন্টেইনার হল সেকেন্ডারি কন্টেইনার যা একই {{< glossary_tooltip text="পড" term_id="pod" >}} |
| 11 | +এর মধ্যে প্রধান অ্যাপ্লিকেশন কন্টেইনারের সাথে চলে। |
| 12 | +এই কন্টেইনারগুলি প্রাথমিক অ্যাপ্লিকেশন কোডটি সরাসরি পরিবর্তন না করেই অতিরিক্ত পরিষেবা, বা |
| 13 | +লগিং, মনিটরিং, নিরাপত্তা বা ডেটা সিঙ্ক্রোনাইজেশনের মতো কার্যকারিতা প্রদান করে |
| 14 | +প্রধান অ্যাপ্লিকেশন কন্টেইনারের কার্যকারিতা বাড়াতে বা প্রসারিত করতে ব্যবহৃত হয়। |
| 15 | + |
| 16 | +সাধারণত, আপনার একটি পডে শুধুমাত্র একটি অ্যাপ কন্টেইনার থাকে। উদাহরণস্বরূপ, যদি আপনার কাছে একটি ওয়েব |
| 17 | +অ্যাপ্লিকেশন থাকে যার জন্য একটি লোকাল ওয়েবসার্ভার প্রয়োজন, লোকাল ওয়েব সার্ভারটি একটি সাইডকার এবং |
| 18 | +ওয়েব অ্যাপ্লিকেশনটি নিজেই অ্যাপ কন্টেইনার৷ |
| 19 | + |
| 20 | +<!-- body --> |
| 21 | + |
| 22 | +## কুবারনেটিসের মধ্যে সাইডকার কন্টেইনার {#pod-sidecar-containers} |
| 23 | + |
| 24 | +কুবারনেটিস একটি বিশেষ ক্ষেত্রে |
| 25 | +[init কন্টেইনারে](/bn/docs/concepts/workloads/pods/init-containers/); পড স্টার্টআপের পরে |
| 26 | +সাইডকারের কন্টেইনারগুলি চলমান থাকে। এই নথিটি _regular init containers_ শব্দটি ব্যবহার করে স্পষ্টভাবে |
| 27 | +সেই কন্টেইনারগুলিকে বোঝাতে যা শুধুমাত্র পড স্টার্টআপের সময় চলে। |
| 28 | + |
| 29 | +আপনার ক্লাস্টারে `SidecarContainers` |
| 30 | +[ফিচার গেট](/bn/docs/reference/command-line-tools-reference/feature-gates/) এনেবলড করা |
| 31 | +থাকলে (কুবারনেটস v1.29 থেকে ফিচারটি ডিফল্টরূপে সক্রিয় থাকে), আপনি একটি `restartPolicy` নির্দিষ্ট করতে পারেন |
| 32 | +পডের `initContainers` ক্ষেত্রে তালিকাভুক্ত কন্টেইনারগুলির জন্য। |
| 33 | +এই রিস্টার্টেবল _sidecar_ কন্টেইনারগুলি অন্যান্য init কন্টেইনার থেকে এবং |
| 34 | +একই পডের মধ্যে প্রধান অ্যাপ্লিকেশন কন্টেইনার(গুলি) থেকে স্বাধীন। |
| 35 | +এগুলি মূল অ্যাপ্লিকেশন কন্টেইনার এবং অন্যান্য init কন্টেইনারগুলিকে প্রভাবিত না করেই শুরু, বন্ধ |
| 36 | +এবং পুনরায় চালু করা যেতে পারে। |
| 37 | + |
| 38 | +আপনি একাধিক কন্টেইনারে একটি পড চালাতে পারেন যেগুলি init বা সাইডকার কন্টেইনার হিসাবে |
| 39 | +চিহ্নিত নয়৷ এটি উপযুক্ত যদি পডের মধ্যে থাকা কন্টেইনারগুলি পডের সামগ্রিকভাবে |
| 40 | +কাজ করার জন্য প্রয়োজন হয়, তবে আপনার কোন কন্টেইনারগুলি প্রথমে শুরু হবে বা থামবে তা নিয়ন্ত্রণ করার দরকার নেই৷ |
| 41 | +আপনি যদি কুবারনেটিসের পুরানো ভার্শনসগুলিকে সমর্থন করতে চান যা একটি কন্টেইনার-স্তরের `restartPolicy` |
| 42 | +ষেত্র সমর্থন করে না তবে আপনি এটিও করতে পারেন। |
| 43 | + |
| 44 | +### উদাহরণ অ্যাপ্লিকেশন {#sidecar-example} |
| 45 | + |
| 46 | +এখানে দুটি কন্টেইনার সহ একটি ডেপ্লয়মেন্টের একটি উদাহরণ রয়েছে, যার মধ্যে একটি সাইডকার: |
| 47 | + |
| 48 | +{{% code_sample language="yaml" file="application/deployment-sidecar.yaml" %}} |
| 49 | + |
| 50 | +## সাইডকার কন্টেইনার এবং পড জীবনচক্র (Pod lifecycle) |
| 51 | + |
| 52 | +যদি একটি init কন্টেইনার তৈরি করা হয় তার `restartPolicy` `Always` সেট করে, |
| 53 | +তাহলে এটি শুরু হবে এবং পডের পুরো জীবনকালে চলতে থাকবে। এটি প্রধান অ্যাপ্লিকেশন |
| 54 | +কন্টেইনারগুলি থেকে আলাদা করে সহায়ক সেবা চালানোর জন্য সহায়ক হতে পারে৷ |
| 55 | + |
| 56 | +যদি এই init কন্টেইনারের জন্য একটি `readinessProbe` নির্দিষ্ট করা হয়, তাহলে এর ফলাফল |
| 57 | +পডের `রেডি` অবস্থা নির্ধারণ করতে ব্যবহার করা হবে। |
| 58 | + |
| 59 | +যেহেতু এই কন্টেইনারগুলিকে init কন্টেইনার হিসাবে সংজ্ঞায়িত করা হয়, তাই তারা অন্যান্য |
| 60 | +init কন্টেইনারগুলির মতো একই ক্রম এবং অনুক্রমিক গ্যারান্টি থেকে উপকৃত হয়, |
| 61 | +যাতে সেগুলিকে জটিল পড ইনিশিয়ালাইজেশন প্রবাহে অন্যান্য init কন্টেইনার মিশ্রিত করা যায়। |
| 62 | + |
| 63 | +রেগুলার init কন্টেইনারগুলির তুলনায়, `initContainers`-এর মধ্যে সংজ্ঞায়িত সাইডকারগুলি |
| 64 | +শুরু হওয়ার পরে চলতে থাকে। এটি গুরুত্বপূর্ণ যখন একটি পডের জন্য `.spec.initContainers` |
| 65 | +এর ভিতরে একাধিক এন্ট্রি থাকে। একটি সাইডকার-স্টাইলের init কন্টেইনার চালু হওয়ার পরে (কুবেলেট (kubelet) |
| 66 | +সেই init কন্টেইনারের জন্য `start` স্ট্যাটাসটিকে সত্যে সেট করেছে), কুবেলেট (kubelet) তারপর অর্ডারকৃত |
| 67 | +`.spec.initContainers` তালিকা থেকে পরবর্তী init কন্টেইনার শুরু করে। |
| 68 | +সেই স্ট্যাটাসটি হয় সত্য হয়ে যায় কারণ কন্টেইনারে একটি প্রক্রিয়া চলছে এবং কোনো স্টার্টআপ |
| 69 | +প্রোব (probe) সংজ্ঞায়িত করা হয়নি, অথবা এর `startupProbe` সফল হওয়ার ফলে। |
| 70 | + |
| 71 | +### সাইডকার কন্টেইনারে জবস (Jobs with sidecar containers) |
| 72 | + |
| 73 | +আপনি যদি কুবারনেটস-স্টাইলের init কন্টেইনার ব্যবহার করে সাইডকার ব্যবহার করে এমন একটি জব (job) ডিফাইন করেন, |
| 74 | +তবে প্রতিটি পডের সাইডকার কন্টেইনার মূল কন্টেইনার শেষ হওয়ার পরে কাজটি |
| 75 | +সম্পূর্ণ হতে বাধা দেয় না। |
| 76 | + |
| 77 | +এখানে দুটি কন্টেইনার সহ একটি কাজের উদাহরণ রয়েছে, যার মধ্যে একটি সাইডকার: |
| 78 | + |
| 79 | +{{% code_sample language="yaml" file="application/job/job-sidecar.yaml" %}} |
| 80 | + |
| 81 | +## অ্যাপ্লিকেশন কন্টেইনার থেকে পার্থক্য |
| 82 | + |
| 83 | +সাইডকার কন্টেইনারগুলি একই পডে _app containers_ পাশাপাশি চলে৷ যাইহোক, তারা প্রাইমারি |
| 84 | +প্রয়োগ যুক্তি এক্সিকিউট না করে; পরিবর্তে, তারা প্রধান অ্যাপ্লিকেশনে সহায়ক |
| 85 | +কার্যকারিতা প্রদান করে। |
| 86 | + |
| 87 | +সাইডকার কন্টেইনারদের নিজস্ব স্বাধীন জীবনচক্র আছে। এগুলি রেগুলার কন্টেইনারে স্বাধীনভাবে শুরু, বন্ধ |
| 88 | +এবং পুনরায় চালু করা যেতে পারে। এর মানে আপনি প্রাইমারি অ্যাপ্লিকেশনকে |
| 89 | +প্রভাবিত না করেই আপডেট, স্কেল বা মেইনটেইন করতে পারবেন। |
| 90 | + |
| 91 | +সাইডকার কন্টেইনার প্রাইমারি কন্টেইনারের সাথে একই নেটওয়ার্ক এবং স্টোরেজ নেমস্পেস |
| 92 | +শেয়ার করে। এই সহ-অবস্থান তাদের ঘনিষ্ঠভাবে ইন্টারঅ্যাক্ট করতে এবং সম্পদ শেয়ার করতে দেয়। |
| 93 | + |
| 94 | +## init কন্টেইনার থেকে পার্থক্য |
| 95 | + |
| 96 | +সাইডকার কন্টেইনার প্রধান কন্টেইনারের পাশাপাশি কাজ করে, এর কার্যকারিতা প্রসারিত করে এবং |
| 97 | +অতিরিক্ত পরিষেবা প্রদান করে। |
| 98 | + |
| 99 | +সাইডকার কন্টেইনার প্রধান অ্যাপ্লিকেশন কন্টেইনারের সাথে একযোগে চালান। তারা পডের |
| 100 | +জীবনচক্র জুড়ে সক্রিয় থাকে এবং মূল কন্টেইনার থেকে স্বাধীনভাবে শুরু এবং |
| 101 | +বন্ধ করা যেতে পারে। [init কন্টেইনার](/bn/docs/concepts/workloads/pods/init-containers/) থেকে ভিন্ন, |
| 102 | +সাইডকার কন্টেইনার সমর্থন [probe](/bn/docs/concepts/workloads/pods/pod-lifecycle/#types-of-probe) নিয়ন্ত্রণ করতে তাদের জীবনচক্র। |
| 103 | + |
| 104 | +সাইডকার কন্টেইনারগুলি প্রধান অ্যাপ্লিকেশন কন্টেইনারগুলির সাথে সরাসরি ইন্টারঅ্যাক্ট করতে পারে, কারণ |
| 105 | +init কন্টেইনারগুলির মতো তারা সবসময় একই নেটওয়ার্ক ভাগ করে এবং ঐচ্ছিকভাবে ভলিউম (ফাইলসিস্টেম) |
| 106 | +ভাগ করতে পারে। |
| 107 | + |
| 108 | +Init কন্টেইনারগুলি মূল পাত্রে শুরু হওয়ার আগে বন্ধ হয়ে যায়, তাই init কন্টেইনারগুলি একটি Pod-এ |
| 109 | +অ্যাপ কন্টেইনারের সাথে মেসেজেস বিনিময় করতে পারে না। যে কোনো ডেটা পাসিং একমুখী হয় |
| 110 | +(উদাহরণস্বরূপ, একটি init কন্টেইনার একটি `emptyDir` ভলিউমের মধ্যে তথ্য রাখতে পারে)। |
| 111 | + |
| 112 | +## কন্টেইনারে সম্পদ ভাগাভাগি |
| 113 | + |
| 114 | +{{< comment >}} |
| 115 | +এই বিভাগটি [init কন্টেইনার](/bn/docs/concepts/workloads/pods/init-containers/) পৃষ্ঠাতেও রয়েছে। |
| 116 | +আপনি যদি এই বিভাগটি সম্পাদনা করেন তবে উভয় স্থানে পরিবর্তন করুন৷ |
| 117 | +{{< /comment >}} |
| 118 | + |
| 119 | +init, sidecar এবং অ্যাপ কন্টেইনারগুলির জন্য কার্যকর করার আদেশ দেওয়া হলে, সম্পদ ব্যবহারের জন্য |
| 120 | +নিম্নলিখিত নিয়মগুলি প্রযোজ্য: |
| 121 | + |
| 122 | +* সমস্ত init কন্টেইনার সংজ্ঞায়িত কোনো নির্দিষ্ট রিসোর্স অনুরোধ বা সীমার মধ্যে |
| 123 | + সর্বোচ্চ হল *এফেক্টিভ রিকোয়েস্ট/লিমিট*। যদি কোন সম্পদের কোন সম্পদ সীমা |
| 124 | + নির্দিষ্ট না থাকে তবে এটি সর্বোচ্চ সীমা হিসাবে বিবেচিত হয়। |
| 125 | +* একটি সম্পদের জন্য Pod এর *এফেক্টিভ রিকোয়েস্ট/লিমিট* হল |
| 126 | + [pod overhead](/bn/docs/concepts/scheduling-eviction/pod-overhead/) এর সমষ্টি এবং এর উচ্চতর: |
| 127 | + * সমস্ত non-init কন্টেইনারের সমষ্টি (অ্যাপ এবং সাইডকার কন্টেইনার) রিসোর্সের জন্য |
| 128 | + অনুরোধ/সীমা |
| 129 | + * একটি সম্পদের জন্য এফেক্টিভ রিকোয়েস্ট/লিমিট |
| 130 | +* সময়সূচী কার্যকরী অনুরোধ/সীমার উপর ভিত্তি করে করা হয়, যার অর্থ init কন্টেইনারগুলি |
| 131 | + প্রারম্ভিকতার জন্য সংস্থান সংরক্ষণ করতে পারে যা পডের জীবদ্দশায় |
| 132 | + ব্যবহৃত হয় না। |
| 133 | +* পডের *কার্যকর QoS টিয়ার* এর QoS (পরিষেবার গুণমান) স্তর হল সমস্ত init, |
| 134 | + সাইডকার এবং অ্যাপ কন্টেইনারগুলির জন্য QoS স্তর। |
| 135 | + |
| 136 | +কার্যকর পড অনুরোধ এবং সীমার উপর ভিত্তি করে কোটা এবং সীমা প্রয়োগ |
| 137 | +করা হয়। |
| 138 | + |
| 139 | +### সাইডকার কন্টেইনার এবং লিনাক্স cgroups {#cgroups} |
| 140 | + |
| 141 | +লিনাক্সে, পড লেভেল কন্ট্রোল গ্রুপের (cgroups) জন্য রিসোর্স বরাদ্দ করা হয় কার্যকর পড রিকোয়েস্ট এবং লিমিট উপর ভিত্তি করে, |
| 142 | +যেমন শিডিউলারের মতো। |
| 143 | + |
| 144 | +## {{% heading "whatsnext" %}} |
| 145 | + |
| 146 | +* [নেটিভ সাইডকার কন্টেইনারে](/bn/blog/2023/08/25/native-sidecar-containers/) এ একটি ব্লগ পোস্ট পড়ুন। |
| 147 | +* [একটি পড তৈরি করা যাতে একটি init কন্টেইনার রয়েছে](/bn/docs/tasks/configure-pod-container/configure-pod-initialization/#create-a-pod-that-has-an-init-container) সম্পর্কে পড়ুন। |
| 148 | +* [প্রোবের প্রকার](/bn/docs/concepts/workloads/pods/pod-lifecycle/#types-of-probe) সম্পর্কে জানুন: সজীবতা, প্রস্তুতি, স্টার্টআপ প্রোব। |
| 149 | +* [pod overhead](/bn/docs/concepts/scheduling-eviction/pod-overhead/) সম্পর্কে জানুন। |
0 commit comments