Completed localization of k8s working with object file
parent
2395b0f19f
commit
e080feca7c
|
@ -0,0 +1,175 @@
|
|||
---
|
||||
title: কুবারনেটিসে অবজেক্ট
|
||||
content_type: concept
|
||||
weight: 10
|
||||
description: >
|
||||
কুবারনেটিস অবজেক্ট হল কুবারনেটিস সিস্টেমে স্থায়ী সত্তা।
|
||||
কুবারনেটিস আপনার ক্লাস্টারের অবস্থার প্রতিনিধিত্ব করতে এই সত্তাগুলি ব্যবহার করে।
|
||||
কুবারনেটিস অবজেক্ট মডেল এবং এই বস্তুর সাথে কিভাবে কাজ করতে হয় সে সম্পর্কে জানুন।
|
||||
simple_list: true
|
||||
card:
|
||||
name: concepts
|
||||
weight: 40
|
||||
---
|
||||
|
||||
<!-- overview -->
|
||||
|
||||
এই পৃষ্ঠাটি ব্যাখ্যা করে কুবারনেটিস API-তে কুবারনেটিস অবজেক্টগুলি কীভাবে প্রতিনিধিত্ব করা হয় এবং
|
||||
আপনি কিভাবে তা `.yaml` ফরম্যাটে প্রকাশ করতে পারেন।
|
||||
|
||||
<!-- body -->
|
||||
|
||||
## কুবারনেটিস অবজেক্ট বোঝা {#kubernetes-objects}
|
||||
|
||||
*কুবারনেটিস অবজেক্ট* হল কুবারনেটিস সিস্টেমের সত্তা সংরক্ষিত এন্টিটিগুলি। কুবারনেটিস এই
|
||||
এন্টিটিগুলি ব্যবহার করে আপনার ক্লাস্টারের অবস্থা প্রকাশ করতে। বিশেষভাবে, তারা বর্ণনা করতে পারে:
|
||||
|
||||
- কোন কন্টেনার অ্যাপ্লিকেশন কি রান করছে (এবং কোন নোডগুলিতে)
|
||||
- ঐ অ্যাপ্লিকেশনগুলির জন্য উপলব্ধ সম্পদ
|
||||
- ঐ অ্যাপ্লিকেশনগুলির কিভাবে ব্যবহার করতে হবে, উদাহরণস্বরূপ পুনরারম্ভন নীতি, আপগ্রেড, এবং ত্রুটি সহ্যতা
|
||||
|
||||
একটি কুবারনেটিস অবজেক্ট হল একটি "উদ্দেশ্যের রেকর্ড" - একবার আপনি অবজেক্ট তৈরি করে দিলে,
|
||||
কুবারনেটিস সিস্টেম সরাসরি এই অবজেক্টটি থাকার নিশ্চয়তার জন্য কাজ করবে। অবজেক্ট তৈরি করে
|
||||
আপনি সাধারণত কুবারনেটিস সিস্টেমকে বলে দিচ্ছেন যে আপনার ক্লাস্টারের ওয়ার্কলোড কি হবে; এটা
|
||||
হল আপনার ক্লাস্টারের *কাঙ্ক্ষিত অবস্থা*।
|
||||
|
||||
কুবারনেটিস অবজেক্টগুলির সাথে কাজ করতে - তা তৈরি, পরিবর্তন করতে বা মুছতে - আপনার
|
||||
[কুবারনেটিস API](/docs/concepts/overview/kubernetes-api/) ব্যবহার করতে হবে। উদাহরণস্বরূপ,
|
||||
যখন আপনি `kubectl` কমান্ড-লাইন ইন্টারফেস ব্যবহার করেন, তখন CLI আপনার জন্য প্রয়োজনীয়
|
||||
কুবারনেটিস API কল করে। আপনি একটি [Client Libraries](/docs/reference/using-api/
|
||||
client-libraries/) ব্যবহার করে নিজের প্রোগ্রামে কুবারনেটিস API সরাসরি ব্যবহার করতে পারেন।
|
||||
|
||||
### অবজেক্ট স্পেক এবং স্ট্যাটাস
|
||||
|
||||
প্রায় সব কুবারনেটিস অবজেক্টের একটি `spec` এবং একটি `status` নেস্টেড অবজেক্ট ফিল্ড রয়েছে
|
||||
যা অবজেক্টের কনফিগারেশন নিয়ন্ত্রণ করে: অবজেক্টের _`spec`_ এবং _`status`_।
|
||||
যে অবজেক্টগুলির `spec` থাকে, আপনার অবজেক্ট তৈরি করতে এটা নির্ধারণ করতে হবে
|
||||
যখন অবজেক্ট তৈরি করছেন,
|
||||
যে কোন রিসোর্সের বৈশিষ্ট্য বর্ণনা প্রদান করে: এর _কাঙ্ক্ষিত অবস্থা_।
|
||||
|
||||
`status` অবজেক্টের _বর্তমান অবস্থা_ বর্ণনা করে, যা কুবারনেটিস সিস্টেম এবং এর উপাদানগুলি
|
||||
প্রদান এবং আপডেট করে। কুবারনেটিস
|
||||
{{< glossary_tooltip text="control plane" term_id="control-plane" >}}
|
||||
সরাসরি এবং সক্রিয়ভাবে প্রতিটি অবজেক্টের
|
||||
বর্তমান অবস্থা পরিচালনা করে যাতে আপনি প্রদত্ত অবস্থা মিলে।
|
||||
|
||||
উদাহরণস্বরূপ: কুবারনেটিসে, একটি ডিপ্লয়মেন্ট একটি অবজেক্ট যা আপনার ক্লাস্টারে চলমান একটি
|
||||
অ্যাপ্লিকেশন প্রতিনিধিত্ব করতে পারে। ডিপ্লয়মেন্ট তৈরি করতে যখন আপনি
|
||||
ডিপ্লয়মেন্ট তৈরি করেন, আপনি ডিপ্লয়মেন্ট `spec` সেট করতে পারেন যে ়
|
||||
আপনি চাইছেন অ্যাপ্লিকেশনের তিনটি রিপ্লিকা চলমান থাকুক।
|
||||
কুবারনেটিস সিস্টেম ডিপ্লয়মেন্ট স্পেক পড়ে এবং আপনার প্রদত্ত ডিপ্লয়মেন্ট
|
||||
এর তিনটি ইনস্ট্যান্স চালু করে, এই স্ট্যাটাস আপনার স্পেক অনুসারে আপডেট করে।
|
||||
যদি সেই ইনস্ট্যান্সগুলোর মধ্যে কোনওটি ব্যর্থ হয় (একটি স্ট্যাটাস পরিবর্তন),
|
||||
কুবারনেটিস সিস্টেম স্পেক এবং স্ট্যাটাস মধ্যে পার্থক্যের প্রতিক্রিয়া দিয়ে একটি
|
||||
সংশোধন করে এই ক্ষেত্রে, একটি প্রতিস্থাপন ইনস্ট্যান্স চালু করে।
|
||||
|
||||
বিস্তারিত তথ্যের জন্য অবজেক্ট স্পেক, স্ট্যাটাস এবং মেটাডেটা দেখুন,
|
||||
[Kubernetes API Conventions](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md).
|
||||
|
||||
### একটি কুবারনেটিস অবজেক্ট বর্ণনা
|
||||
|
||||
যখন আপনি কুবারনেটিসে একটি অবজেক্ট তৈরি করছেন, আপনাকে অবজেক্ট স্পেক উপায়
|
||||
যা দরকার তার কাঙ্ক্ষিত অবস্থা বর্ণনা করে এবং অবজেক্ট সম্পর্কে
|
||||
কিছু মৌলিক তথ্য (যেমন নাম) প্রদান করতে হবে। যখন আপনি অবজেক্ট তৈরি
|
||||
করতে কুবারনেটিস API ব্যবহার করেন (এটা সরাসরি বা `kubectl` এর মাধ্যমে),
|
||||
তখন ঐ API অনুরোধটি এই তথ্যকে একটি JSON রিকোয়েস্ট বডি হিসেবে অন্তর্ভুক্ত করতে হবে।
|
||||
সাধারণত, আপনি ম্যানিফেস্ট নামে ফাইলে তথ্য সরবরাহ করেন (আপনি যদি চান তবে আপনি JSON ফরম্যাট
|
||||
ব্যবহার করতে পারেন এই ম্যানিফেস্টগুলির জন্য নিয়মিত হতে হবে)। `kubectl` এর মতো টুলগুলি
|
||||
HTTP অনুরোধের সময় ম্যানিফেস্ট থেকে তথ্যকে JSON বা অন্য যে কোনও সমর্থিত সিরিয়ালাইজেশন ফরম্যাটে রূপান্তর করে।
|
||||
|
||||
এখানে একটি উদাহরণ ম্যানিফেস্ট দেওয়া হল একটি কুবারনেটিস ডিপ্লয়মেন্টের জন্য প্রয়োজনীয়
|
||||
ক্ষেত্রগুলি এবং অবজেক্ট স্পেকের জন্যের একটি নমুনা:
|
||||
|
||||
{{% code_sample file="application/deployment.yaml" %}}
|
||||
|
||||
একটি উপরের মতো ম্যানিফেস্ট ফাইল ব্যবহার করে একটি ডিপ্লয়মেন্ট তৈরি করার একটি উপায় হল
|
||||
[`kubectl apply`](/docs/reference/generated/kubectl/kubectl-commands#apply) কমান্ড ব্যবহার
|
||||
করা, `kubectl` এর কমান্ড-লাইন ইন্টারফেসে `yaml` ফাইলটি আর্গুমেন্ট হিসেবে পাঠানো। একটি উদাহরণ:
|
||||
|
||||
```shell
|
||||
kubectl apply -f https://k8s.io/examples/application/deployment.yaml
|
||||
```
|
||||
|
||||
আউটপুট এর অনুরূপ:
|
||||
|
||||
```
|
||||
deployment.apps/nginx-deployment created
|
||||
```
|
||||
|
||||
|
||||
### প্রয়োজনীয় ক্ষেত্র
|
||||
|
||||
আপনার কুবারনেটিস অবজেক্ট এর জন্য ম্যানিফেস্ট (YAML বা JSON ফাইল) এ নিম্নলিখিত ক্ষেত্রগুলির জন্য মান নির্ধারণ করতে হবে:
|
||||
|
||||
* `apiVersion` - আপনি কোন ভার্সনের কুবারনেটিস API ব্যবহার করছেন তা উল্লেখ করতে হবে
|
||||
* `kind` - আপনি কোন ধরনের অবজেক্ট তৈরি করতে চান তা উল্লেখ করতে হবে
|
||||
* `metadata` - অবজেক্ট যে সাহায্য করে অনন্যভাবে সনাক্ত করা যায়, যেমন `name` স্ট্রিং, `UID`, এবং ঐচ্ছিক `namespace`
|
||||
* `spec` - অবজেক্টের জন্য আপনি কি অবস্থা চান
|
||||
|
||||
অবজেক্ট স্পেকের নির্দিষ্ট বিন্যাস প্রতিটি Kubernetes অবজেক্টের জন্য বিভিন্ন এবং এই বিশিষ্ট
|
||||
ফিল্ডগুলি সহজ। [Kubernetes API রেফারেন্স](/docs/reference/kubernetes-api/)
|
||||
এই অবজেক্টের সমস্ত অবজেক্টের জন্য স্পেক ফরম্যাট খুঁজে পাওয়ার সাহায্য করতে পারে।
|
||||
|
||||
উদাহরণস্বরূপ, দেখুন [`spec` ফিল্ড](/docs/reference/kubernetes-api/workload-resources/pod-v1/#PodSpec)
|
||||
Pod API রেফারেন্স এর জন্য।
|
||||
প্রতিটি Pod এর জন্য, `.spec` ফিল্ড পড় এবং এর অবস্থার জন্য নির্দিষ্ট পড়ে বসে (পরিমাণ এবং
|
||||
পড়ের মধ্যে কন্টেনার ইমেজের নাম সহ)।
|
||||
আরও একটি অবজেক্ট স্পেসিফিকেশনের উদাহরণ হল
|
||||
[`spec` ফিল্ড](/docs/reference/kubernetes-api/workload-resources/stateful-set-v1/#StatefulSetSpec)
|
||||
StatefulSet API এর জন্য। StatefulSet এর জন্য, `.spec` ফিল্ড নির্দিষ্ট করে এবং সেট করে
|
||||
এর অবস্থা।
|
||||
StatefulSet এর `.spec` এর মধ্যে একটি [template](/docs/concepts/workloads/pods/#pod-templates)
|
||||
পড় অবজেক্ট স্থাপনাকারী পড় প্রদান করে যা
|
||||
StatefulSet স্পেসিফিকেশন পূরণ করার জন্য অনুমতি দেয়।
|
||||
অন্যান্য প্রকারের অবজেক্ট গুলির জন্য বিভিন্ন `.status` থাকতে পারে; আবার, API রেফারেন্স পৃষ্ঠাগুলি
|
||||
এই `.status` ফিল্ডের গঠন এবং এর প্রত্যেক বিভিন্ন প্রকারের অবজেক্টের জন্য তার বিষয়বস্তু বিবরণ করে।
|
||||
|
||||
{{< note >}}
|
||||
[YAML কনফিগারেশনের সেরা প্রথাগুলি](/docs/concepts/configuration/overview/) এক্ষেত্রে অতিরিক্ত
|
||||
তথ্য দেওয়া আছে।
|
||||
{{< /note >}}
|
||||
|
||||
## সার্ভার সাইড ফিল্ড ভেরিফিকেশন
|
||||
|
||||
Kubernetes v1.25 থেকে শুরু করে, API সার্ভার সার্ভার সাইড
|
||||
[field validation](/docs/reference/using-api/api-concepts/#field-validation)
|
||||
যা অব্যক্ত বা পুনরায় ফিল্ড অনুমান করে একটি অবজেক্টে। এটি সমস্ত কার্যকারিতা প্রদান করে
|
||||
`kubectl --validate` এর সার্ভার সাইড এ কর্মক্ষমতা।
|
||||
|
||||
`kubectl` টুলটি ব্যবহার করে `--validate` ফ্ল্যাগ ব্যবহার করে ফিল্ড ভেরিফিকেশনের স্তর সেট করে। এটি গ্রহণ করে
|
||||
মান `ignore`, `warn`, এবং `strict` এবং এটি `true` (যুক্ত অর্থ `strict`)
|
||||
এবং `false` (যুক্ত অর্থ `ignore`) মান গ্রহণ করে। `kubectl` এর ডিফল্ট ভেরিফিকেশন সেটিং হল `--validate=true`।
|
||||
|
||||
`Strict`
|
||||
: সখ্য ফিল্ড ভেরিফিকেশন, ভেরিফিকেশন ব্যর্থ হওয়ায় ত্রুটি করে
|
||||
|
||||
`Warn`
|
||||
: ফিল্ড ভেরিফিকেশন করা হয়, কিন্তু ত্রুটিগুলি একটি বিরোধ হিসেবে উল্লেখ করা হয় অবশ্য নয় অনুরোধ ব্যর্থ হতে
|
||||
|
||||
`Ignore`
|
||||
: কোনো সার্ভার সাইড ফিল্ড ভেরিফিকেশন করা হয় না
|
||||
|
||||
যখন `kubectl` এর একটি API সার্ভারে সংযোগ করতে পারে না যে কোন ফিল্ড ভেরিফিকেশন সাপোর্ট করে তখন এটি ফেলে যায়
|
||||
ক্লায়েন্ট-সাইড ভেরিফিকেশন ব্যবহার করা হয়। কুবারনেটিস 1.27 এবং তারপরের সংস্করণ সবসময় ফিল্ড ভেরিফিকেশন প্রদান করে;
|
||||
পুরাতন কুবারনেটিস রিলিসেগুলিতে এটি হতে পারে না। যদি আপনার ক্লাস্টার v1.27 এর চেয়ে পুরানো হয় তবে এপনার কুবারনেটিস
|
||||
সংস্করণের জন্য ডকুমেন্টেশন চেক করুন।
|
||||
|
||||
## {{% heading "whatsnext" %}}
|
||||
|
||||
যদি আপনি নতুন কুবারনেটিসে এসেছেন, তাহলে নিম্নলিখিত বিষয়গুলি সম্পর্কে আরো পড়ুন:
|
||||
|
||||
* [Pods](/docs/concepts/workloads/pods/) যা হলে সবচেয়ে গুরুত্বপূর্ণ মৌলিক কুবারনেটিস অবজেক্ট।
|
||||
* [Deployment](/docs/concepts/workloads/controllers/deployment/) অবজেক্টগুলি।
|
||||
* [Controllers](/docs/concepts/architecture/controller/) কুবারনেটিসে।
|
||||
* [kubectl](/docs/reference/kubectl/) এবং [kubectl কমান্ড](/docs/reference/generated/kubectl/kubectl-commands)।
|
||||
|
||||
[Kubernetes Object Management](/docs/concepts/overview/working-with-objects/object-management/)
|
||||
`kubectl` ব্যবহার করে অবজেক্ট পরিচালনা করার উপায়গুলি বিস্তারিত ভাবে বর্ণনা করে।
|
||||
আপনার কাছে এটি নেই তাহলে [kubectl ইনস্টল করুন](/docs/tasks/tools/#kubectl) যদি আগে থেকে না থাকে।
|
||||
|
||||
কুবারনেটিস API সাধারণভাবে সম্পর্কে জানতে, পড়ুন:
|
||||
|
||||
* [Kubernetes API overview](/docs/reference/using-api/)
|
||||
|
||||
কুবারনেটিসে অবজেক্টগুলির বিস্তারিত জানতে, এই বিভাগে অন্যান্য পৃষ্ঠাগুলি পড়ুন:
|
||||
<!-- ডক্সি স্বয়ংক্রিয়ভাবে বিভাগের পৃষ্ঠাগুলির একটি তালিকা অন্তর্ভুক্ত করে -->
|
Loading…
Reference in New Issue