parent
0b2060b194
commit
847ea4971b
|
@ -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/)।
|
Loading…
Reference in New Issue