localize _index.md

draft v1 of localize
pull/45508/head
sajjad rahman 2024-03-09 03:59:50 +06:00 committed by GitHub
parent 0b2060b194
commit 847ea4971b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 400 additions and 0 deletions

View File

@ -0,0 +1,400 @@
---
reviewers:
- erictune
title: Pods
content_type: concept
weight: 10
no_list: true
---
<!-- overview -->
_পড_ হ'ল কম্পিউটিংয়ের ক্ষুদ্রতম স্থাপনযোগ্য একক যা আপনি কুবারনেটিসে তৈরি এবং পরিচালনা করতে পারেন।
একটি _পড_ (তিমি বা মটর শুঁটির একটি পডের মতো) এক বা একাধিকটির একটি গ্রুপ
{{< glossary_tooltip text="কন্টেইনার" term_id="container" >}}, শেয়ার্ড স্টোরেজ এবং নেটওয়ার্ক রিসোর্স গুলির সাথে, এবং কন্টেইনার কীভাবে চালানো যায় তার জন্য একটি নির্দিষ্টকরণ। একটি পডের সামগ্রী সর্বদা সহ-অবস্থিত এবং
সহ-নির্ধারিত, এবং একটি শেয়ার্ড প্রসঙ্গে চালে। একটি পড মডেল একটি
অ্যাপ্লিকেশন-নির্দিষ্ট "লজিক্যাল হোস্ট": এটিতে এক বা একাধিক অ্যাপ্লিকেশন রয়েছে
কন্টেইনার যা তুলনামূলকভাবে শক্তভাবে মিলিত হয়।
নন-ক্লাউড প্রেক্ষাপটে, একই ভৌত (ফিজিক্যাল) বা ভার্চুয়াল মেশিনে সঞ্চালিত অ্যাপ্লিকেশনগুলি একই লজিক্যাল হোস্টে নির্বাহিত ক্লাউড অ্যাপ্লিকেশনগুলির সাথে সাদৃশ্যপূর্ণ।
পাশাপাশি অ্যাপ্লিকেশন কন্টেইনার, একটি পড থাকতে পারে
[init containers](/docs/concepts/workloads/pods/init-containers/) যে চলমান
পড স্টার্টআপের সময়। ডিবাগ করার জন্য আপনি ইনজেকশনও দিতে পারেন
[ephemeral containers](/docs/concepts/workloads/pods/ephemeral-containers/)
যদি আপনার ক্লাস্টার এটি অফার করে।
<!-- body -->
## পড কি?
{{< note >}}
ক্লাস্টারের প্রতিটি নোডে আপনাকে একটি [কন্টেইনার রানটাইম](/docs/setup/production-environment/container-runtimes/) ইনস্টল
করতে হবে যাতে পডগুলি সেখানে চলতে পারে।
{{< /note >}}
একটি পডের শেয়ার্ড প্রসঙ্গ হল লিনাক্স নেমস্পেস, cgroups এবং
বিচ্ছিন্নতার সম্ভাব্য অন্যান্য দিক - একই জিনিস যা একটি {{< glossary_tooltip text="container" term_id="container" >}} বিচ্ছিন্ন করে। একটি পডের প্রেক্ষাপটের মধ্যে, পৃথক অ্যাপ্লিকেশন থাকতে পারে
আরও উপ-বিচ্ছিন্নতা প্রয়োগ করা হয়েছে।
একটি পড শেয়ার্ড নেমস্পেস এবং শেয়ার্ড ফাইল সিস্টেম ভলিউম সহ কন্টেইনারগুলির সেটের অনুরূপ।
কুবারনেটিস ক্লাস্টারের পড দুটি প্রধান উপায়ে ব্যবহৃত হয়:
* **পড যা একটি একক কন্টেইনার চলে**" এক-কন্টেইনার-প্রতি-পড" মডেলটি
কুবারনেটিসের সবচেয়ে সাধারণ ব্যবহার; এই ক্ষেত্রে, আপনি একটি একক কন্টেইনারর চারপাশে একটি মোড়ক হিসাবে
একটি পডকে ভাবতে পারেন; কুবারনেটিস সরাসরি কন্টেইনারগুলি পরিচালনা করার পরিবর্তে
পডগুলি পরিচালনা করে।
* **পডগুলি যা একাধিক কন্টেইনার চলে যা একসাথে কাজ করা দরকার**। একটি পড
[একাধিক সহ-অবস্থিত কন্টেইনার](#how-pods-manage-multiple-containers)
দ্বারা গঠিত একটি অ্যাপ্লিকেশনকে এনক্যাপসুলেট করতে পারে
যেগুলি শক্তভাবে সংযুক্ত এবং সম্পদ ভাগ করতে হবে৷ এই সহ-অবস্থিত কন্টেইনারগুলি
একটি একক সমন্বিত ইউনিট গঠন করে।
একটি একক পডে একাধিক সহ-অবস্থিত এবং সহ-পরিচালিত পাত্রে গোষ্ঠীবদ্ধ করা একটি
অপেক্ষাকৃত উন্নত ব্যবহারের ক্ষেত্রে। আপনার এই প্যাটার্নটি কেবলমাত্র নির্দিষ্ট ক্ষেত্রে ব্যবহার করা উচিত
যেখানে আপনার পাত্রে শক্তভাবে সংযুক্ত করা হয়েছে।
প্রতিলিপি প্রদানের জন্য আপনাকে একাধিক পাত্র চালানোর দরকার নেই (স্থিতিস্থাপকতার জন্য
বা ক্ষমতা); আপনার একাধিক প্রতিলিপি প্রয়োজন হলে, দেখুন
[ওয়ার্কলোড ম্যানেজমেন্ট](/docs/concepts/workloads/controllers/)।
## Using Pods
নিচে একটি পডের উদাহরণ দেওয়া হল যেটিতে একটি কন্টেইনার রয়েছে যা `nginx:1.14.2` ছবিটি চালাচ্ছে।
{{% code_sample file="pods/simple-pod.yaml" %}}
উপরে দেখানো পড তৈরি করতে, নিম্নলিখিত কমান্ডটি চালান:
```shell
kubectl apply -f https://k8s.io/examples/pods/simple-pod.yaml
```
পড সাধারণত সরাসরি তৈরি করা হয় না এবং ওয়ার্কলোড রিসোর্স ব্যবহার করে তৈরি করা হয়।
কিভাবে পডগুলিব্যবহার করা হয় সে সম্পর্কে আরও তথ্যের জন্য [Working with Pods](#working-with-pods) দেখুন
ওয়ার্কলোড রিসোর্স সহ।
### Workload resources for managing pods
সাধারণত আপনাকে সরাসরি পড তৈরি করতে হবে না, এমনকি সিঙ্গেলটন পডও।পরিবর্তে,ওয়ার্কলোড রিসোর্স গুলি ব্যবহার করে সেগুলি তৈরি করুন যেমন {{< glossary_tooltip text="স্থাপনা"
term_id="deployment" >}} বা {{< glossary_tooltip text="চাকরি" term_id="job" >}}।
আপনার পডের অবস্থা ট্র্যাক করার প্রয়োজন হলে, বিবেচনা করুন
{{< glossary_tooltip text="StatefulSet" term_id="statefulset" >}} রিসোর্স।
প্রতিটি পড একটি প্রদত্ত অ্যাপ্লিকেশনের একটি একক দৃষ্টান্ত চালানোর জন্য বোঝানো হয়। যদি তুমি চাও
আপনার অ্যাপ্লিকেশনকে অনুভূমিকভাবে স্কেল করুন (আরো দৃষ্টান্ত চালানোর মাধ্যমে আরো সামগ্রিক রিসোর্স
প্রদান করতে), আপনার একাধিক পড ব্যবহার করা উচিত, প্রতিটি উদাহরণের জন্য একটি।
Kubernetes-এ, এটিকে সাধারণত _প্রতিলিপি_ হিসাবে উল্লেখ করা হয়।
প্রতিলিপিকৃত পডগুলি সাধারণত একটি কাজের চাপ রিসোর্স এবং এর
{{< glossary_tooltip text="controller" term_id="controller" >}} দ্বারা একটি গ্রুপ হিসাবে তৈরি এবং পরিচালিত হয়।
দেখুন [পড এবং কন্ট্রোলার](#pods-and-controllers) আরও তথ্যের জন্য কিভাবে
কুবারনেটিস অ্যাপ্লিকেশন বাস্তবায়নের জন্য ওয়ার্কলোড রিসোর্স এবং তাদের কন্ট্রোলার ব্যবহার করে
স্কেলিং এবং অটো-হিলিং।
পডগুলি স্থানীয়ভাবে তাদের উপাদান পাত্রের জন্য দুটি ধরণের ভাগ করা সংস্থান সরবরাহ করে:
[নেটওয়ার্কিং](#pod-networking) এবং [স্টোরেজ](#pod-storage)।
## পডগুলি নিয়ে কাজ করা
আপনি খুবই কম সময় সরাসরি কুবারনেটিস-এ এমনকি সিঙ্গেলটন পডগুলি-তে পৃথক পড তৈরি করবেন। এই
কারণ পডগুলি তুলনামূলকভাবে অল্পক্ষণস্থায়ী, নিষ্পত্তিযোগ্য হিসাবে ডিজাইন করা হয়েছে। যখন
একটি পড তৈরি করা হয় (প্রত্যক্ষভাবে আপনার দ্বারা বা পরোক্ষভাবে একটি
{{<glossary_tooltip text="controller" term_id="controller" >}}) দ্বারা, নতুন পডটি
আপনার ক্লাস্টারে একটি {{< glossary_tooltip term_id="node" >}} চালানোর জন্য নির্ধারিত হয়।
পডটি সেই নোডে থাকে যতক্ষণ না পড এক্সিকিউশন শেষ করে, পড অবজেক্টটি মুছে ফেলা হয়,
পডটিকে রিসোর্সের অভাবের জন্য *উচ্ছেদ* করা হয়, বা নোড ব্যর্থ হয়।
{{< note >}}
একটি পডের মধ্যে একটি কন্টেইনার পুনরায় চালু করা সাথে একটি পড পুনরায় চালু করার বিভ্রান্ত হওয়া উচিত নয়। একটি পড
একটি প্রক্রিয়া নয়, কিন্তু কন্টেইনার(গুলি) চালানোর জন্য একটি পরিবেশ। এটি মুছে ফেলা না হওয়া পর্যন্ত
একটি পড টিকে থাকে।
{{< /note >}}
একটি পডের নাম অবশ্যই একটি বৈধ
[DNS সাবডোমেন](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)
মান হতে হবে, তবে এটি পড হোস্টনামের জন্য অপ্রত্যাশিত ফলাফল তৈরি করতে পারে। সর্বোত্তম সামঞ্জস্যের জন্য,
নামের আরো সীমাবদ্ধ নিয়ম অনুসরণ করা উচিত এর জন্য
[DNS লেবেল](/docs/concepts/overview/working-with-objects/names#dns-label-names)।
### পড অপারেটিং সিস্টেম(OS)
{{< feature-state state="stable" for_k8s_version="v1.25" >}}
আপনি যে OS-এ পড চালাতে চান তা নির্দেশ করার জন্য আপনাকে `.spec.os.name` যে কোনো একটি ক্ষেত্রে `windows`
বা `linux`-তে সেট করতে হবে। এই দুটিই একমাত্র অপারেটিং সিস্টেম যা এখন
কুবারনেটিস দ্বারা সমর্থিত। ভবিষ্যতে, এই তালিকা প্রসারিত করা হতে পারে।
কুবারনেটিস v{{< skew currentVersion >}} -এ, এই ক্ষেত্রের জন্য আপনি যে
মান সেট করেছেন তা পডগুলির জন্য {{< glossary_tooltip text="scheduling" term_id="kube-scheduler" >}} কোনও প্রভাব ফেলবে না ৷
সেট করা `.spec.os.name` পড অপারেটিং সিস্টেমকে প্রামাণিকভাবে
সনাক্ত করতে সহায়তা করে এবং বৈধতার জন্য ব্যবহৃত হয়। Kubelet একটি পড চালাতে প্রত্যাখ্যান করে যেখানে আপনি একটি পড
এর অপারেটিং সিস্টেম নির্দিষ্ট করেছেন, যদি এটি সেই নোডের অপারেটিং সিস্টেমের মতো না হয়
যেখানে সেই Kubelet চলছে।
[পডের নিরাপত্তা মান](/docs/concepts/security/pod-security-standards/) সেই অপারেটিং সিস্টেমের সাথে প্রাসঙ্গিক নয়
এমন নীতি প্রয়োগ করা এড়াতে এই ক্ষেত্রটিও ব্যবহার করা হয়৷
### পড এবং কন্ট্রোলার
আপনি আপনার জন্য একাধিক পড তৈরি এবং পরিচালনা করতে ওয়ার্কলোড রিসোর্স ব্যবহার করতে পারেন। পড ব্যর্থতার
ক্ষেত্রে রিসোর্স জন্য একটি কন্ট্রোলার প্রতিলিপি এবং রোলআউট এবং স্বয়ংক্রিয়
নিরাময় পরিচালনা করে। উদাহরণস্বরূপ, যদি একটি নোড ব্যর্থ হয়, একটি কন্ট্রোলার লক্ষ্য করে যে
সেই নোডের পডগুলি কাজ করা বন্ধ করে দিয়েছে এবং একটি প্রতিস্থাপন পড তৈরি করে। সময়সূচী একটি সুস্থ নোডে
প্রতিস্থাপন পড স্থাপন করে।
এখানে কাজের চাপ রিসোর্সগুলির কিছু উদাহরণ রয়েছে যা এক বা একাধিক পডগুলি পরিচালনা করে:
* {{< glossary_tooltip text="Deployment(ডিপলয়ম্যান্টস)" term_id="deployment" >}}
* {{< glossary_tooltip text="StatefulSet(স্টেটফুল সেট)" term_id="statefulset" >}}
* {{< glossary_tooltip text="DaemonSet(DaemonSets)" term_id="daemonset" >}}
### পড টেমপ্লেট
রিসোর্সগুলির জন্য {{< glossary_tooltip text="workload" term_id="workload">}} কন্ট্রোলাররা একটি _পড টেমপ্লেট_ থেকে পড তৈরি করে
এবং আপনার পক্ষে সেই পডগুলি পরিচালনা করে৷
পড টেমপ্লেটগুলি হল পড তৈরির জন্য স্পেসিফিকেশন, এবং ওয়ার্কলোড রিসোর্সগুলির অন্তর্ভুক্ত যেমন
[ডিপলয়ম্যান্টস](/docs/concepts/workloads/controllers/deployment/),
[জব](/docs/concepts/workloads/controllers/job/), এবং
[DaemonSets](/docs/concepts/workloads/controllers/daemonset/)।
ওয়ার্কলোড রিসোর্সের প্রতিটি কন্ট্রোলার প্রকৃত পড তৈরি করতে ওয়ার্কলোড অবজেক্টের ভিতরে `পড টেম্পলেট`
ব্যবহার করে। `PodTemplate` হল আপনার অ্যাপ চালানোর জন্য যে কোনো ওয়ার্কলোড রিসোর্স ব্যবহার
করা সেই কাঙ্ক্ষিত অবস্থার অংশ।
নিচের নমুনাটি একটি সাধারণ কাজের জন্য একটি `টেমপ্লেট` সহ একটি ম্যানিফেস্ট যা একটি কন্টেইনার শুরু করে।
সেই পডের কন্টেইনারটি একটি বার্তা প্রিন্ট করে তারপর বিরতি দেয়।
```yaml
apiVersion: batch/v1
kind: Job
metadata:
name: hello
spec:
template:
# This is the pod template
spec:
containers:
- name: hello
image: busybox:1.28
command: ['sh', '-c', 'echo "Hello, Kubernetes!" && sleep 3600']
restartPolicy: OnFailure
# The pod template ends here
```
পড টেমপ্লেট পরিবর্তন করা বা একটি নতুন পড টেমপ্লেটে স্যুইচ করা আগে থেকেই বিদ্যমান পডগুলিতে
সরাসরি প্রভাব ফেলে না। আপনি যদি কোনও ওয়ার্কলোড রিসোর্সের জন্য পড টেমপ্লেট পরিবর্তন করেন তবে সেই রিসোর্সটি এর
প্রতিস্থাপন পড তৈরি করতে হবে যা আপডেট করা টেমপ্লেট ব্যবহার করে।
উদাহরণস্বরূপ, StatefulSet কন্ট্রোলার নিশ্চিত করে যে চলমান পডগুলি প্রতিটি StatefulSet অবজেক্টের
বর্তমান পড টেমপ্লেটের একই ।আপনি যদি স্টেটফুলসেট ইডিট করেন তার পড টেমপ্লেট পরিবর্তন করতে,
স্টেটফুলসেট আপডেট করা টেমপ্লেটের উপর ভিত্তি করে নতুন পড তৈরি করা শুরু করে।
অবশেষে, সমস্ত পুরানো পড নতুন পড দিয়ে প্রতিস্থাপিত হয় এবং আপডেট সম্পূর্ণ হয়।
প্রতিটি ওয়ার্কলোড রিসোর্স পড টেমপ্লেটে পরিবর্তনগুলি পরিচালনা করার জন্য নিজস্ব নিয়মগুলি প্রয়োগ করে৷
আপনি যদি বিশেষভাবে স্টেটফুলসেট সম্পর্কে আরও পড়তে চান, স্টেটফুলসেট বেসিক টিউটোরিয়ালটিতে
[আপডেট কৌশল](/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets) পড়ুন।
নোডগুলিতে, {{< glossary_tooltip term_id="kubelet" text="kubelet">}}
পড টেমপ্লেট এবং আপডেটগুলির আশেপাশে কোনও বিবরণ সরাসরি পর্যবেক্ষণ বা পরিচালনা করে না;
এই বিবরণগুলি দূরে এব্যস্ট্রাক হয় ৷ উদ্বেগের এব্যস্ট্রাকশন এবং বিচ্ছেদ সিস্টেমের
শব্দার্থিকে সরল করে, এবং বিদ্যমান কোড পরিবর্তন না করে ক্লাস্টারের আচরণকে প্রসারিত করা
সম্ভবপর করে তোলে।
## পড আপডেট এবং প্রতিস্থাপন
পূর্ববর্তী সেকশনে উল্লিখিত হিসাবে, যখন একটি কাজের চাপ রিসোর্সের জন্য পড
টেমপ্লেট পরিবর্তন করা হয়, তখন নিয়ামক বিদ্যমান পডগুলিকে আপডেট বা প্যাচ করার পরিবর্তে আপডেট করা টেমপ্লেটের
উপর ভিত্তি করে নতুন পড তৈরি করে।
কুবারনেটিস আপনাকে সরাসরি পড পরিচালনা করতে বাধা দেয় না। এটি একটি
চলমান পডের কিছু ক্ষেত্র আপডেট করা সম্ভব। যাইহোক, পড আপডেটের ক্রিয়াকলাপ
যেমন
[`প্যাচ`](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#patch-pod-v1-core), এবং
[`প্রতিস্থাপন`](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#replace-pod-v1-core)
কিছু সীমাবদ্ধতা রয়েছে :
- একটি পড সম্পর্কে বেশিরভাগ মেটাডেটা অপরিবর্তনীয়। উদাহরণস্বরূপ
আপনি `namespace`, `name`, `uid`, বা `creationTimestamp` ক্ষেত্র
পরিবর্তন করতে পারবেন না; `generation` ক্ষেত্রটি অনন্য। এটি কেবলমাত্র সেই আপডেটগুলি গ্রহণ করে যা ক্ষেত্রের বর্তমান
মান বৃদ্ধি করে।
- যদি `metadata.deletionTimestamp` সেট করা থাকে, তবে `metadata.finalizers` তালিকায় কোনো
নতুন এন্ট্রি যোগ করা যাবে না।
- পড আপডেটগুলি `spec.containers[*].image` ব্যতীত অন্য কোনো ক্ষেত্র পরিবর্তন করতে পারে না,
`spec.initContainers[*].image`, `spec.activeDeadlineSeconds` বা
`spec.tolerations``spec.tolerations` এর জন্য, আপনি শুধুমাত্র নতুন এন্ট্রি যোগ করতে পারেন।
- `spec.activeDeadlineSeconds` ক্ষেত্র আপডেট করার সময়, দুই ধরনের আপডেটের
অনুমতি দেওয়া হয়:
1. একটি ধনাত্মক সংখ্যায় নিযুক্ত করা ক্ষেত্র সেট করা;
2. ক্ষেত্রটিকে একটি ধনাত্মক সংখ্যা থেকে একটি ছোট, অ নেতিবাচক সংখ্যায়
আপডেট করা হচ্ছে।
## রিসোর্স ভাগাভাগি এবং যোগাযোগ
পডগুলি তাদের উপাদান কন্টেইনারর মধ্যে ডেটা ভাগ করে নেওয়া এবং যোগাযোগ করতে
সক্ষম করে।
### পডগুলিতে স্টোরেজ {#pod-storage}
একটি পড শেয়ার্ড স্টোরেজের একটি সেট নির্দিষ্ট করতে পারে
{{< glossary_tooltip text="ভলিউম" term_id="volume" >}} । পডের সমস্ত
কন্টেইনারে ভাগ করা ভলিউমগুলি অ্যাক্সেস করতে পারে, সেই কন্টেইনারগুলিকে ডেটা
ভাগ করতে দেয় ৷ ভলিউমগুলি একটি পডের মধ্যে স্থায়ী ডেটাকে টিকে থাকার
অনুমতি দেয় যদি এর মধ্যে থাকা একটি কন্টেইনারকে পুনরায় চালু করতে হয় । দেখুন
[স্টোরেজ](/docs/concepts/storage/) কুবারনেটিস কীভাবে শেয়ার্ড স্টোরেজ
প্রয়োগ করে এবং এটি পডের কাছে উপলব্ধ করে সে বিষয়ে আরও তথ্যের জন্য।
### পড নেটওয়ার্কিং
প্রতিটি পড প্রতিটি এড্রেস পরিবারের জন্য একটি একক আইপি এড্রেস বরাদ্দ করা হয় । একটি পডের
প্রতিটি কন্টেইনার আইপি এড্রেস এবং নেটওয়ার্ক পোর্ট সহ নেটওয়ার্ক
নেমস্পেস শেয়ার করে । একটি পডের ভিতরে (এবং **শুধুমাত্র** তখন), পডের অন্তর্গত কন্টেইনারগুলি
`লোকালহোস্ট` ব্যবহার করে একে অপরের সাথে যোগাযোগ করতে পারে। যখন একটি পডের কন্টেইনারগুলি *পডের বাইরে* এনটিটির সাথে যোগাযোগ করে,
তখন তাদের অবশ্যই সমন্বয় করতে হবে যে
তারা কীভাবে ভাগ করা নেটওয়ার্ক রিসোর্সগুলি (যেমন পোর্ট) ব্যবহার করে।
একটি পডের মধ্যে, কন্টেইনারগুলি একটি আইপি ঠিকানা এবং পোর্ট স্পেস ভাগ করে এবং
একে অপরকে `লোকালহোস্ট` এর মাধ্যমে খুঁজে পেতে পারে। একটি পডের কন্টেইনারগুলি যেমন SystemV semaphores বা
POSIX শেয়ার্ড মেমরির সাথে স্ট্যান্ডার্ড ইন্টার-প্রসেস ব্যবহার করে
একে অপরের সাথে যোগাযোগ করতে পারে। বিভিন্ন পডের কন্টেইনারগুলির ইউনিক IP এড্রেস থাকে
এবং বিশেষ কনফিগারেশন ছাড়া OS-লেভেলের IPC দ্বারা যোগাযোগ করতে পারে না।
যে কন্টেইনারগুলি একটি ভিন্ন পডে চলমান একটি কন্টেইনারের সাথে ইন্টারঅ্যাক্ট করতে চায় তারা যোগাযোগের জন্য
আইপি নেটওয়ার্কিং ব্যবহার করতে পারে।
পডের মধ্যে থাকা কন্টেইনারগুলি সিস্টেমের হোস্টনামটিকে পডের জন্য কনফিগার করা
`নাম`-এর মতই দেখতে পায়। এই সেকশনে [networking](/docs/concepts/cluster-administration/networking/) এই বিষয়ে
আরো আছে।
## কন্টেইনারগুলির জন্য বিশেষাধিকার মোড
{{< note >}}
আপনার {{< glossary_tooltip text="কন্টেইনার রানটাইম" term_id="container-runtime">}} এই সেটিংটি প্রাসঙ্গিক হওয়ার জন্য একটি বিশেষাধিকারপ্রাপ্ত কন্টেইনারের ধারণাকে সমর্থন করতে হবে৷
{{< /note >}}
অপারেটিং সিস্টেমের প্রশাসনিক ক্ষমতা ব্যবহার করার জন্য একটি পডের যেকোনো কন্টেইনার বিশেষ সুবিধাপ্রাপ্ত মোডে চলতে পারে
যা অন্যথায় অ্যাক্সেসযোগ্য হবে না। এটি উইন্ডোজ এবং লিনাক্স উভয়ের জন্যই সহজলভ্য।
### লিনাক্স বিশেষাধিকার কন্টেইনার
লিনাক্সে, পডের যেকোনো কনটেইনার স্পেকের
[নিরাপত্তা প্রসঙ্গ](/docs/tasks/configure-pod-container/security-context/) তে `privileged` (লিনাক্স) ফ্লাগ ব্যবহার করে সুবিধাপ্রাপ্ত মোড
সক্রিয় করতে পারে। এটি এমন কন্টেইনারগুলির জন্য দরকারী যেগুলি অপারেটিং সিস্টেমের প্রশাসনিক
ক্ষমতাগুলি ব্যবহার করতে চায় যেমন নেটওয়ার্ক স্ট্যাক নিপূণভাবে ব্যবহার করা বা হার্ডওয়্যার ডিভাইসগুলি অ্যাক্সেস করা।
### উইন্ডোজ বিশেষাধিকার কন্টেইনার
{{< feature-state for_k8s_version="v1.26" state="stable" >}}
উইন্ডোজে, আপনি পড স্পেকের নিরাপত্তা প্রসঙ্গে `windowsOptions.hostProcess` ফ্লাগ সেট করে একটি
[উইন্ডোজে HostProcess পড](/docs/tasks/configure-pod-container/create-hostprocess-pod) তৈরি করতে পারেন। এই পডের সমস্ত কন্টেইনার
অবশ্যই Windows HostProcess কন্টেইনার হিসাবে চালাতে হবে। HostProcess পডগুলি সরাসরি হোস্টে চলে এবং লিনাক্স সুবিধাপ্রাপ্ত
কন্টেইনারগুলির মতো প্রশাসনিক কাজ সম্পাদন করতেও ব্যবহার করা যেতে পারে।
## স্ট্যাটিক পডগুলি
_স্ট্যাটিক পডগুলি_ একটি নির্দিষ্ট নোডে kubelet daemon দ্বারা
সরাসরি পরিচালিত হয়, {{< glossary_tooltip text="API সার্ভার"term_id="kube-apiserver" >}}
তাদের পর্যবেক্ষণ করে না।
যেখানে বেশিরভাগ পড নিয়ন্ত্রণ সমতল দ্বারা পরিচালিত হয় (উদাহরণস্বরূপ, একটি
{{< glossary_tooltip text="Deployment" term_id="deployment">}}),
স্ট্যাটিক পডগুলির জন্য, kubelet সরাসরি প্রতিটি স্ট্যাটিক পডের তত্ত্বাবধান করে (এবং এটি ব্যর্থ হলে পুনরায় চালু করে)।
একটি নির্দিষ্ট নোডে স্ট্যাটিক পডগুলি সবসময় একটি {{< glossary_tooltip term_id="kubelet">}} এর সাথে আবদ্ধ থাকে।
স্ট্যাটিক পডের প্রধান ব্যবহার হল একটি স্ব-হোস্টেড কন্ট্রোল প্লেনে চালানো: অন্য কথায়,
ব্যক্তিগত [কন্ট্রোল প্লেন উপাদান](/docs/concepts/overview/components/#control-plane-components) তত্ত্বাবধানে kubelet ব্যবহার করা।
kubelet স্বয়ংক্রিয়ভাবে প্রতিটি স্ট্যাটিক পডের জন্য কুবারনেটিস API সার্ভারে একটি
{{< glossary_tooltip text="মিরর পড" term_id="mirror-pod" >}} তৈরির চেষ্টা করে।
এর মানে হল যে একটি নোডে চলমান পডগুলি API সার্ভারে দৃশ্যমান,
তবে সেখান থেকে নিয়ন্ত্রণ করা যায় না। আরও তথ্যের জন্য [স্থির পড তৈরি করুন](/docs/tasks/configure-pod-container/static-pod) গাইডটি দেখুন।
{{< note >}}
একটি স্ট্যাটিক পডের `spec` অন্যান্য API অবজেক্টের উল্লেখ করতে পারে না
(উদাহরণস্বরূপ, {{< glossary_tooltip text="ServiceAccount" term_id="service-account" >}},
{{< glossary_tooltip text="ConfigMap" term_id="configmap" >}},
{{< glossary_tooltip text="Secret" term_id="secret" >}}, ইত্যাদি).
{{< /note >}}
## একাধিক পাত্র সহ শুঁটি {#how-pods-manage-multiple-containers}
পডগুলি একাধিক সহযোগিতা প্রক্রিয়া (পাত্র হিসাবে) সমর্থন করার জন্য ডিজাইন করা হয়েছে যা পরিষেবার একটি
সমন্বিত একক গঠন করে। একটি পডের পাত্রগুলি ক্লাস্টারের একই শারীরিক বা ভার্চুয়াল মেশিনে
স্বয়ংক্রিয়ভাবে সহ-অবস্থিত এবং সহ-নির্ধারিত। কন্টেইনারগুলি
সম্পদ এবং নির্ভরতা ভাগ করে নিতে পারে, একে অপরের সাথে যোগাযোগ করতে পারে এবং কখন এবং কীভাবে সেগুলি
বন্ধ করা হয় তা সমন্বয় করতে পারে।
<!--ইচ্ছাকৃতভাবে আগের পৃষ্ঠার কিছু পাঠের পুনরাবৃত্তি করে, আরো বিস্তারিত -->
কুবারনেটস ক্লাস্টারের শুঁটি দুটি প্রধান উপায়ে ব্যবহৃত হয়:
* **পড যা একটি একক পাত্র চালায়**। "এক-কন্টেইনার-পার-পড" মডেলটি কুবারনেটের
সবচেয়ে সাধারণ ব্যবহারের ক্ষেত্রে; এই ক্ষেত্রে, আপনি একটি একক পাত্রের
চারপাশে একটি মোড়ক হিসাবে একটি পডকে ভাবতে পারেন; কুবারনেটস সরাসরি কন্টেইনারগুলি পরিচালনা
করার পরিবর্তে পডগুলি পরিচালনা করে।
* **পড যা একাধিক পাত্র চালায় যেগুলি একসাথে কাজ করতে হবে**। একটি পড
একাধিক সহ-অবস্থিত পাত্রে গঠিত একটি অ্যাপ্লিকেশনকে
এনক্যাপসুলেট করতে পারে যা শক্তভাবে সংযুক্ত থাকে এবং
সম্পদ ভাগ করে নেওয়ার প্রয়োজন হয়। এই সহ-অবস্থিত কন্টেইনারগুলি
পরিষেবার একটি একক সমন্বিত ইউনিট গঠন করে—উদাহরণস্বরূপ,
একটি কন্টেইনার জনসাধারণের কাছে ভাগ করা ভলিউমে ডেটা সংরক্ষণ করে, যখন একটি পৃথক
{{< glossary_tooltip text="sidecar container" term_id="sidecar-container" >}}
সেই ফাইলগুলিকে রিফ্রেশ বা আপডেট করে৷
পড এই কন্টেইনার, স্টোরেজ রিসোর্স এবং একটি ক্ষণস্থায়ী নেটওয়ার্ক পরিচয়কে একক
ইউনিট হিসাবে একত্রে মোড়ক করে।
উদাহরণস্বরূপ, আপনার কাছে একটি ধারক থাকতে পারে যেটি
একটি শেয়ার্ড ভলিউমের ফাইলগুলির জন্য একটি ওয়েব সার্ভার হিসাবে কাজ করে এবং একটি পৃথক
[সাইডকার কন্টেইনার](/docs/concepts/workloads/pods/sidecar-containers/)
যা একটি দূরবর্তী উৎস থেকে সেই ফাইলগুলিকে আপডেট করে, যেমনটি নিম্নলিখিত চিত্রে রয়েছে:
{{< চিত্র src="/images/docs/pod.svg" alt="পড তৈরির চিত্র" class="diagram-medium" >}}
কিছু পডের আছে {{< glossary_tooltip text="init containers" term_id="init-container" >}}
পাশাপাশি {{< glossary_tooltip text="app containers" term_id="app-container" >}}।
ডিফল্টরূপে, init কন্টেইনারগুলি অ্যাপ কন্টেইনারগুলি শুরু হওয়ার আগে চলে এবং সম্পূর্ণ হয়।
আপনার কাছে [সাইডকার কন্টেইনার](/docs/concepts/workloads/pods/sidecar-containers/) থাকতে পারে।
যেগুলি প্রধান অ্যাপ্লিকেশন পডকে সহায়ক পরিষেবা প্রদান করে (উদাহরণস্বরূপ: একটি পরিষেবা জাল)।
{{< feature-state for_k8s_version="v1.29" state="beta" >}}
ডিফল্টরূপে সক্রিয় করা হয়েছে, `SidecarContainers` [ফিচার গেট](/docs/reference/command-line-tools-reference/feature-gates/)
init কন্টেইনারগুলির জন্য আপনাকে `restartPolicy: সর্বদা` নির্দিষ্ট করতে দেয়।
'সর্বদা' পুনঃসূচনা নীতি সেট করা নিশ্চিত করে যে কন্টেইনারগুলি যেখানে আপনি এটি সেট করেছেন
সেগুলিকে _sidecars_ হিসাবে গণ্য করা হয় যেগুলি পডের পুরো জীবনকাল চলা অবস্থায় থাকে।
যে কন্টেইনারগুলিকে আপনি স্পষ্টভাবে সাইডকার কন্টেনার
হিসাবে সংজ্ঞায়িত করেছেন সেগুলি মূল অ্যাপ্লিকেশন পডের আগে শুরু হয় এবং পড বন্ধ না
হওয়া পর্যন্ত চলমান থাকে।
## কন্টেইনার probes
একটি _probe_ একটি ডায়াগনস্টিক যা একটি কন্টেইনার কুবেলেট দ্বারা পর্যায়ক্রমে সম্পাদিত হয়। একটি ডায়গনিস্টিক সঞ্চালনের জন্য, kubelet বিভিন্ন ক্রিয়াকলাপ করতে পারে:
- `ExecAction` (কন্টেইনারের রানটাইমের সাহায্যে সম্পাদিত হয়েছে)
- `TCPSocketAction` (kubelet দ্বারা সরাসরি চেক করা হয়েছে)
- `HTTPGetAction` (kubelet দ্বারা সরাসরি চেক করা হয়েছে)
আপনি পডের জীবনচক্র ডকুমেন্টেশনে [probes](/docs/concepts/workloads/pods/pod-lifecycle/#container-probes)
সম্পর্কে আরও পড়তে পারেন।
## {{% heading "whatsnext" %}}
* [একটি পডের জীবনচক্র](/docs/concepts/workloads/pods/pod-lifecycle/) সম্পর্কে জানুন।
* [RuntimeClass](/docs/concepts/containers/runtime-class/) সম্পর্কে জানুন এবং আপনি কীভাবে এটি ব্যবহার করতে পারেন
বিভিন্ন কন্টেইনারের রানটাইম কনফিগারেশন সহ বিভিন্ন পড কনফিগার করুন।
* [PodDisruptionBudget](/docs/concepts/workloads/pods/disruptions/) সম্পর্কে পড়ুন এবং প্রতিবন্ধকতার সময় অ্যাপ্লিকেশনের প্রাপ্যতা পরিচালনা করার জন্য আপনি কীভাবে এটি ব্যবহার করতে পারেন।
* Pod হল Kubernetes REST API-এর একটি শীর্ষ-স্তরের রিসোর্স।
{{< api-reference page="workload-resources/pod-v1" >}}
অবজেক্টের সংজ্ঞা বস্তুর বিস্তারিত বর্ণনা করে।
* [ডিস্ট্রিবিউটেড সিস্টেম টুলকিট: কম্পোজিট কন্টেইনারগুলির জন্য প্যাটার্ন](/blog/2015/06/the-distributed-system-toolkit-patterns/) একাধিক কন্টেইনার সহ পডগুলির জন্য সাধারণ লেআউটগুলি ব্যাখ্যা করে।
* [পড টপোলজি স্প্রেড সীমাবদ্ধতা] (/docs/concepts/scheduling-eviction/topology-spread-constraints/) সম্পর্কে পড়ুন।
কুবারনেটিস কেন অন্যান্য রিসোর্সগুলিতে মোড়ানোর প্রসঙ্গটি বোঝার জন্য একটি সাধারণ পড API (যেমন {{< glossary_tooltip text="স্টেটফুল সেট" term_id="statefulset" >}}) বা {{< glossary_tooltip text="ডিপলয়মেন্ট" term_id="deployment">}}) তে , আপনি পূর্ববর্তী আর্ট সম্পর্কে পড়তে পারেন, যার মধ্যে রয়েছে:
* [Aurora](https://aurora.apache.org/documentation/latest/reference/configuration/#job-schema)
* [Borg](https://research.google.com/pubs/pub43438.html)
* [ম্যারাথন](https://mesosphere.github.io/marathon/docs/rest-api.html)
* [ওমেগা](https://research.google/pubs/pub41684/)
* [টুপারওয়্যার](https://engineering.fb.com/data-center-engineering/tupperware/)।