Merge pull request #45617 from asem-hamid/Extending-Kubernetes
[bn] Localize concepts/extend-kubernetes/_index.mdpull/45931/head
commit
d471de4f14
|
@ -0,0 +1,332 @@
|
|||
---
|
||||
title: কুবারনেটিস প্রসারিত করা
|
||||
weight: 999 # this section should come last
|
||||
description: আপনার কুবারনেটিস ক্লাস্টারের আচরণ পরিবর্তন করার বিভিন্ন উপায়।
|
||||
feature:
|
||||
title: সম্প্রসারণযোগ্যতার জন্য ডিজাইন করা হয়েছে
|
||||
description: >
|
||||
আপস্ট্রিম সোর্স কোড পরিবর্তন না করে আপনার কুবারনেটিস ক্লাস্টারে ফিচার যোগ করুন।
|
||||
content_type: concept
|
||||
no_list: true
|
||||
---
|
||||
|
||||
<!-- overview -->
|
||||
|
||||
কুবারনেটিস খুবই কনফিগারযোগ্য এবং সম্প্রসারণযোগ্য। ফলস্বরূপ, কুবারনেটিস প্রজেক্ট কোডে ফর্ক(fork)
|
||||
বা প্যাচ জমা দেওয়ার খুব কমই প্রয়োজন হয়।
|
||||
|
||||
এই নির্দেশিকাটি একটি কুবারনেটিস ক্লাস্টার কাস্টমাইজ করার উপায়গুলো বর্ণনা করে ৷ এই নির্দেশিকাটি
|
||||
{{< glossary_tooltip text="ক্লাস্টার অপারেটরদের" term_id="cluster-operator" >}} লক্ষ্য করে বানানো যারা তাদের কুবারনেটিস ক্লাস্টারকে
|
||||
তাদের কাজের পরিবেশের প্রয়োজনের সাথে কীভাবে মানিয়ে নিতে হয় তা বুঝতে চায়।
|
||||
ডেভেলপাররা যারা সম্ভাব্য {{< glossary_tooltip text="প্ল্যাটফর্ম ডেভেলপকারী" term_id="platform-developer" >}}
|
||||
বা কুবারনেটিস প্রজেক্ট {{< glossary_tooltip text="কন্ট্রিবিউটরা" term_id="contributor" >}} ,
|
||||
এক্সটেনশন পয়েন্ট (extension points) কি এবং প্যাটার্ন বিদ্যমান এর পরিচিতি হিসাবে এবং
|
||||
তাদের ট্রেড-অফ আর সীমাবদ্ধতা জানার জন্য এই নির্দেশিকাটিকে দরকারী হিসেবে পাবে।
|
||||
|
||||
কাস্টমাইজেশন পন্থাগুলিকে বিস্তৃতভাবে [কনফিগারেশনে](#কনফিগারেশন) বিভক্ত করা যেতে পারে,
|
||||
যার মধ্যে শুধুমাত্র কমান্ড লাইন আর্গুমেন্ট, লোকাল কনফিগারেশন ফাইল বা API রিসোর্স পরিবর্তন করা জড়িত;
|
||||
এবং [এক্সটেনশন](#এক্সটেনশন), যার মধ্যে অতিরিক্ত প্রোগ্রাম চালানো, অতিরিক্ত নেটওয়ার্ক সার্ভিস বা উভয়ই জড়িত।
|
||||
এই ডকুমেন্টটি মূলত _এক্সটেনশন_ সম্পর্কে।
|
||||
|
||||
<!-- body -->
|
||||
|
||||
## কনফিগারেশন
|
||||
|
||||
*কনফিগারেশন ফাইল* এবং *কমান্ড আর্গুমেন্ট* অনলাইন ডকুমেন্টেশনের [রেফারেন্স](/bn/docs/reference/) বিভাগে ডকুমেন্টেড করা হয়েছে,
|
||||
প্রতিটি বাইনারির জন্য একটি পৃষ্ঠা রয়েছে :
|
||||
|
||||
* [`kube-apiserver`](/bn/docs/reference/command-line-tools-reference/kube-apiserver/)
|
||||
* [`kube-controller-manager`](/bn/docs/reference/command-line-tools-reference/kube-controller-manager/)
|
||||
* [`kube-scheduler`](/bn/docs/reference/command-line-tools-reference/kube-scheduler/)
|
||||
* [`kubelet`](/bn/docs/reference/command-line-tools-reference/kubelet/)
|
||||
* [`kube-proxy`](/bn/docs/reference/command-line-tools-reference/kube-proxy/)
|
||||
|
||||
কমান্ড আর্গুমেন্ট এবং কনফিগারেশন ফাইল সবসময় একটি হোস্ট করা কুবারনেটিস সার্ভিস বা পরিচালিত ইনস্টলেশনের
|
||||
সাথে একটি ডিস্ট্রিবিউশন এ পরিবর্তনযোগ্য নাও হতে পারে। যখন তারা পরিবর্তনযোগ্য হয়, তারা সাধারণত ক্লাস্টার
|
||||
অপারেটর দ্বারা পরিবর্তনযোগ্য হয়। এছাড়াও, এগুলো ভবিষ্যতের কুবারনেটিস সংস্করণে পরিবর্তন হতে পারে, এবং সেগুলো
|
||||
সেট করার জন্য রিস্টারটিং প্রক্রিয়া প্রয়োজন হতে পারে। এই কারণে, সেগুলি শুধুমাত্র তখনই ব্যবহার করা উচিত
|
||||
যখন অন্য কোন বিকল্প থাকে না।
|
||||
|
||||
বিল্ট-ইন *পলিসি API* গুলো, যেমন [ResourceQuota](/bn/docs/concepts/policy/resource-quotas/),
|
||||
[NetworkPolicy](/bn/docs/concepts/services-networking/network-policies/) এবং Role-based Access Control
|
||||
([RBAC](/bn/docs/reference/access-authn-authz/rbac/)), হলো বিল্ট-ইন কুবারনেটিস API যা ঘোষণামূলকভাবে কনফিগার করা পলিসি সেটিংস প্রদান করে।
|
||||
API গুলো সাধারণত হোস্ট করা কুবারনেটিস সার্ভিস এবং পরিচালিত কুবারনেটিস ইনস্টলেশনগুলোর সাথে ব্যবহারযোগ্য।
|
||||
বিল্ট-ইন পলিসি API গুলো অন্যান্য কুবারনেটিস রিসোর্স যেমন পডের মতো একই নিয়ম অনুসরণ করে।
|
||||
আপনি যখন [স্থিতিশীল](/bn/docs/reference/using-api/#api-versioning) একটি পলিসি API ব্যবহার করেন,
|
||||
তখন আপনি অন্যান্য কুবারনেটিস API-এর মতো একটি [সংজ্ঞায়িত সাপোর্ট পলিসি](/bn/docs/reference/using-api/deprecation-policy/) থেকে উপকৃত হন।
|
||||
এই কারণে, পলিসি API গুলো *কনফিগারেশন ফাইল* এবং *কমান্ড আর্গুমেন্ট* এর বদলে যেখানে উপযুক্ত সেখানে সুপারিশ করা হয় ।
|
||||
|
||||
## এক্সটেনশন
|
||||
|
||||
এক্সটেনশন হলো সফ্টওয়্যার উপাদান যা কুবারনেটিসের সাথে প্রসারিত এবং গভীরভাবে একত্রিত হয়।
|
||||
তারা এটিকে নতুন টাইপের এবং নতুন ধরণের হার্ডওয়্যার সাপোর্ট করার জন্য মানিয়ে নেয়।
|
||||
|
||||
অনেক ক্লাস্টার অ্যাডমিনিস্ট্রেটর কুবারনেটিসের হোস্টেড বা ডিস্ট্রিবিউশন উদাহরণ ব্যবহার করে।
|
||||
এই ক্লাস্টারগুলো পূর্বে ইনস্টল করা এক্সটেনশনগুলোর সাথে আসে। ফলস্বরূপ, বেশিরভাগ কুবারনেটিস
|
||||
ব্যবহারকারীদের এক্সটেনশন ইনস্টল করার প্রয়োজন হবে না এবং এমনকি কম ব্যবহারকারীদের নতুন বানাতে হবে।
|
||||
|
||||
### এক্সটেনশন প্যাটার্ন
|
||||
|
||||
কুবারনেটিস ডিজাইন করা হয়েছে ক্লায়েন্ট প্রোগ্রাম লিখার মাধ্যমে স্বয়ংক্রিয় হতে ।
|
||||
কুবারনেটিস API-তে পড়া এবং/অথবা লেখা যে কোনো প্রোগ্রাম দরকারী অটোমেশন প্রদান করতে পারে।
|
||||
*অটোমেশন* ক্লাস্টারে চলতে পারে বা এটি বন্ধ করতে পারে।
|
||||
এই ডকুমেন্টের নির্দেশিকা অনুসরণ করে আপনি অত্যন্ত উপলব্ধ এবং শক্তিশালী অটোমেশন লিখতে পারেন।
|
||||
অটোমেশন সাধারণত হোস্ট করা ক্লাস্টার এবং পরিচালিত ইনস্টলেশন সহ যেকোন কুবারনেটিস
|
||||
ক্লাস্টারের সাথে কাজ করে।
|
||||
|
||||
ক্লায়েন্ট প্রোগ্রাম লেখার জন্য একটি নির্দিষ্ট প্যাটার্ন রয়েছে যা কুবারনেটিসের
|
||||
সাথে ভালভাবে কাজ করে যাকে {{< glossary_tooltip term_id="controller" text="কন্ট্রোলার" >}}
|
||||
প্যাটার্ন বলা হয়। কন্ট্রোলাররা সাধারণত একটি অবজেক্টের `.spec` পড়ে, সম্ভবত জিনিসগুলি করে এবং
|
||||
তারপর অবজেক্টের `.status` আপডেট করে ৷
|
||||
|
||||
একটি কন্ট্রোলার হল কুবারনেটিস API-এর ক্লায়েন্ট। যখন কুবারনেটিস ক্লায়েন্ট হয় এবং
|
||||
একটি রিমোট সার্ভিসে কল করে, কুবারনেটিস এটিকে একটি *webhook* বলে। রিমোট সার্ভিসকে
|
||||
*webhook backend* বলা হয়। কাস্টম কন্ট্রোলারের মতো, webhook গুলো ব্যর্থতার একটি পয়েন্ট যোগ করে।
|
||||
|
||||
{{< note >}}
|
||||
কুবারনেটিসের বাইরে, “webhook” শব্দটি সাধারণত অ্যাসিঙ্ক্রোনাস(asynchronous) বিজ্ঞপ্তিগুলির জন্য একটি প্রক্রিয়াকে বোঝায়,
|
||||
যেখানে webhook কল অন্য সিস্টেম বা উপাদানের জন্য একমুখী বিজ্ঞপ্তি হিসাবে কাজ করে।
|
||||
কুবারনেটিস ইকোসিস্টেমে, এমনকি সিঙ্ক্রোনাস(synchronous) HTTP কলআউটগুলোকে প্রায়ই
|
||||
“webhooks” হিসাবে বর্ণনা করা হয়।
|
||||
{{< /note >}}
|
||||
|
||||
webhook মডেলে, কুবারনেটিস একটি রিমোট সার্ভিসে একটি নেটওয়ার্ক অনুরোধ করে।
|
||||
বিকল্প *binary Plugin* মডেলের সাথে, কুবারনেটস একটি বাইনারি (প্রোগ্রাম) চালায়।
|
||||
বাইনারি প্লাগইনগুলো kubelet দ্বারা ব্যবহৃত হয় (উদাহরণস্বরূপ, [CSI storage plugins](https://kubernetes-csi.github.io/docs/) এবং
|
||||
[CNI network plugins](/bn/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/)), এবং
|
||||
kubectl দ্বারা ([প্লাগইনগুলোর সাথে প্রসারিত kubectl](/bn/docs/tasks/extend-kubectl/kubectl-plugins/) দেখুন)।
|
||||
|
||||
### এক্সটেনশন পয়েন্ট
|
||||
|
||||
এই ডায়াগ্রামটি একটি কুবারনেটিস ক্লাস্টারের এক্সটেনশন পয়েন্ট এবং এটি
|
||||
অ্যাক্সেসকারী ক্লায়েন্টদের দেখায়।
|
||||
|
||||
<!-- image source: https://docs.google.com/drawings/d/1nZtQmJpqsOnhNagfWOMWX9DEsJyOHyvDIgTNQ9dOyC0/view -->
|
||||
|
||||
{{< figure src="/bn/docs/concepts/extend-kubernetes/extension-points.png"
|
||||
alt="কুবারনেটিসের জন্য সাতটি সংখ্যাযুক্ত এক্সটেনশন পয়েন্টের প্রতীকী উপস্থাপনা"
|
||||
class="diagram-large" caption="কুবারনেটিস এক্সটেনশন পয়েন্ট" >}}
|
||||
|
||||
#### চিত্রের চাবিকাঠি
|
||||
|
||||
1. ব্যবহারকারীরা প্রায়ই `kubectl` ব্যবহার করে কুবারনেটিস API এর সাথে যোগাযোগ করে। [প্লাগইন](#ক্লায়েন্ট-এক্সটেনশন)
|
||||
ক্লায়েন্টদের আচরণ কাস্টমাইজ করে। জেনেরিক এক্সটেনশন রয়েছে যা বিভিন্ন ক্লায়েন্টের জন্য প্রযোজ্য হতে পারে, সেইসাথে`kubectl`
|
||||
প্রসারিত করার নির্দিষ্ট উপায়ও ।
|
||||
|
||||
1. API সার্ভার সমস্ত অনুরোধ পরিচালনা করে। API সার্ভারে বিভিন্ন ধরণের এক্সটেনশন পয়েন্টগুলো তাদের কনটেন্টের উপর
|
||||
ভিত্তি করে অনুরোধগুলো অথেন্টিকেটিং(authenticating), বা তাদের ব্লক করার অনুমতি দেয়, বিষয়বস্তু পরিবর্তন করে এবং
|
||||
মুছে ফেলার ব্যবস্থা করে। এগুলো [API অ্যাক্সেস এক্সটেনশন](#API-অ্যাক্সেস-এক্সটেনশন) বিভাগে বর্ণিত হয়েছে।
|
||||
|
||||
1. এপিআই সার্ভার বিভিন্ন ধরণের *রিসোর্স* সরবরাহ করে। *বিল্ট-ইন রিসোর্স ধরনের*, যেমন
|
||||
`pods`, কুবারনেটিস প্রজেক্ট দ্বারা সংজ্ঞায়িত করা হয় এবং পরিবর্তন করা যায় না।
|
||||
কুবারনেটিস API প্রসারিত করার বিষয়ে জানতে [API এক্সটেনশন](#API-এক্সটেনশন) পড়ুন।
|
||||
|
||||
1. কুবারনেটিস শিডিউলার কোন নোডগুলোতে পড স্থাপন করবে তা
|
||||
[নির্ধারণ](/bn/docs/concepts/scheduling-eviction/assign-pod-node/) করে। শিডিউলিং প্রসারিত করার
|
||||
বিভিন্ন উপায় রয়েছে, যা [শিডিউলিং এক্সটেনশন](#শিডিউলিং-এক্সটেনশন) বিভাগে বর্ণিত করা হয়েছে।
|
||||
|
||||
1. কুবারনেটিসের বেশিরভাগ আচরণ {{< glossary_tooltip term_id="controller" text="কন্ট্রোলার" >}}
|
||||
নামক প্রোগ্রাম দ্বারা বাস্তবায়িত হয়, যেগুলো API সার্ভারের ক্লায়েন্ট।
|
||||
কন্ট্রোলারগুলো প্রায়ই কাস্টম রিসোর্সগুলোর সাথে একত্রে ব্যবহৃত হয়।
|
||||
আরও জানতে [অটোমেশনের সাথে নতুন API-এর সমন্বয়](#অটোমেশনের-সাথে-নতুন-API-এর-সমন্বয়) এবং
|
||||
[বিল্ট-ইন রিসোর্স পরিবর্তন](#বিল্ট-ইন-রিসোর্স-পরিবর্তন) পড়ুন।
|
||||
|
||||
1. kubelet সার্ভারে (নোড) চলে এবং ক্লাস্টার নেটওয়ার্কে তাদের নিজস্ব আইপি সহ ভার্চুয়াল সার্ভারের মতো পডগুলোকে
|
||||
দেখাতে সহায়তা করে। [নেটওয়ার্ক প্লাগইনগুলো](#নেটওয়ার্ক-প্লাগইন) পড নেটওয়ার্কিং এর বিভিন্ন বাস্তবায়নের
|
||||
অনুমতি দেয়।
|
||||
|
||||
1. আপনি কাস্টম হার্ডওয়্যার বা অন্যান্য বিশেষ নোড-লোকাল সুবিধাগুলো একীভূত করতে [ডিভাইস প্লাগইনগুলো](#ডিভাইস-প্লাগইন)
|
||||
ব্যবহার করতে পারেন এবং আপনার ক্লাস্টারে চলমান পডগুলোতে এগুলো উপলব্ধ করতে পারেন৷
|
||||
kubelet ডিভাইস প্লাগইনগুলোর সাথে কাজ করার জন্য সাপোর্ট অন্তর্ভুক্ত করে।
|
||||
|
||||
kubelet পড এবং তাদের কন্টেইনারের জন্য
|
||||
{{< glossary_tooltip text="ভলিউম" term_id="volume" >}} মাউন্ট এবং আনমাউন্ট করে।
|
||||
আপনি নতুন ধরনের স্টোরেজ এবং অন্যান্য ভলিউম টাইপের জন্য সাপোর্ট যোগ করতে
|
||||
[স্টোরেজ প্লাগইন](#স্টোরেজ-প্লাগইন) ব্যবহার করতে পারেন।
|
||||
|
||||
|
||||
#### এক্সটেনশন পয়েন্ট চয়েস ফ্লোচার্ট {#এক্সটেনশন-ফ্লোচার্ট}
|
||||
|
||||
আপনি কোথা থেকে শুরু করবেন তা নিশ্চিত না হলে, এই ফ্লোচার্টটি সাহায্য করতে পারবে৷
|
||||
মনে রাখবেন কিছু সমাধানে বিভিন্ন ধরনের এক্সটেনশন জড়িত থাকতে পারে।
|
||||
|
||||
<!-- image source for flowchart: https://docs.google.com/drawings/d/1sdviU6lDz4BpnzJNHfNpQrqI9F19QZ07KnhnxVrp2yg/edit -->
|
||||
|
||||
{{< figure src="/bn/docs/concepts/extend-kubernetes/flowchart.svg"
|
||||
alt="প্রয়োগকারীদের জন্য ব্যবহারের ক্ষেত্র এবং নির্দেশিকা সম্পর্কে প্রশ্ন সহ ফ্লোচার্ট। সবুজ বৃত্ত হ্যাঁ নির্দেশ করে; লাল বৃত্ত না নির্দেশ করে।"
|
||||
class="diagram-large" caption="একটি এক্সটেনশন পদ্ধতি নির্বাচন করতে ফ্লোচার্ট গাইড" >}}
|
||||
|
||||
---
|
||||
|
||||
## ক্লায়েন্ট এক্সটেনশন
|
||||
|
||||
kubectl-এর জন্য প্লাগইন হলো পৃথক বাইনারি যা নির্দিষ্ট সাবকমান্ডের আচরণ যোগ বা প্রতিস্থাপন করে।
|
||||
`kubectl` টুলটি [ক্রেডেনশিয়াল(credential) প্লাগইনগুলোর](/bn/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins) সাথেও একীভূত করতে পারে।
|
||||
এই এক্সটেনশনগুলো শুধুমাত্র একটি একক ব্যবহারকারীর লোকাল পরিবেশকে প্রভাবিত করে, এবং তাই সাইট-ব্যাপী পলিসিগুলো প্রয়োগ করতে পারে না।
|
||||
|
||||
আপনি যদি `kubectl` টুল প্রসারিত করতে চান, তাহলে [প্লাগইন সহ kubectl প্রসারিত করা](/bn/docs/tasks/extend-kubectl/kubectl-plugins/) পড়ুন।
|
||||
|
||||
## API এক্সটেনশন
|
||||
|
||||
### কাস্টম রিসোর্স সংজ্ঞা
|
||||
|
||||
আপনি যদি নতুন কন্ট্রোলার, অ্যাপ্লিকেশন কনফিগারেশন অবজেক্ট বা অন্যান্য ডিক্লারেটিভ
|
||||
API সংজ্ঞায়িত করতে চান এবং কুবারনেটিস টুলস যেমন `kubectl` ব্যবহার করে সেগুলো
|
||||
পরিচালনা করতে চান তাহলে কুবারনেটিসে একটি কাস্টম রিসোর্স যোগ করার কথা বিবেচনা করুন।
|
||||
|
||||
কাস্টম রিসোর্স সম্পর্কে আরও জানতে,
|
||||
[কাস্টম রিসোর্স](/bn/docs/concepts/extend-kubernetes/api-extension/custom-resources/) কনসেপ্ট গাইড দেখুন।
|
||||
|
||||
### API এগ্রিগেশন লেয়ার(aggregation layer)
|
||||
|
||||
আপনি কুবারনেটিস [API এগ্রিগেশন লেয়ার](/bn/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/) ব্যবহার করতে পারেন
|
||||
কুবারনেটিস API-কে [মেট্রিক্সের](/bn/docs/tasks/debug/debug-cluster/resource-metrics-pipeline/) মতো অতিরিক্ত সার্ভিসের সাথে একীভূত করতে।
|
||||
|
||||
### অটোমেশনের সাথে নতুন API-এর সমন্বয়
|
||||
|
||||
একটি কাস্টম রিসোর্স API এবং একটি কন্ট্রোল লুপের সংমিশ্রণকে
|
||||
{{< glossary_tooltip term_id="controller" text="কন্ট্রোলার" >}} প্যাটার্ন বলা হয়। যদি আপনার
|
||||
কন্ট্রোলার একটি কাঙ্ক্ষিত অবস্থার উপর ভিত্তি করে অবকাঠামো স্থাপনকারী মানব অপারেটরের স্থান নেয়,
|
||||
তাহলে কন্ট্রোলারও {{< glossary_tooltip text="অপারেটর প্যাটার্ন" term_id="operator-pattern" >}} অনুসরণ করতে পারে।
|
||||
অপারেটর প্যাটার্ন নির্দিষ্ট অ্যাপ্লিকেশন পরিচালনা করতে ব্যবহৃত হয়; সাধারণত, এগুলো হলো এমন অ্যাপ্লিকেশন
|
||||
যা অবস্থা বজায় রাখে এবং সেগুলোকে কীভাবে পরিচালনা করা হয় তার যত্নের প্রয়োজন হয়৷
|
||||
|
||||
আপনি আপনার নিজস্ব কাস্টম API এবং কন্ট্রোল লুপগুলোও তৈরি করতে পারেন যা অন্যান্য রিসোর্সগুলো পরিচালনা করতে পারে,
|
||||
যেমন স্টোরেজ, বা পলিসিগুলো সংজ্ঞায়িত করতে (যেমন একটি অ্যাক্সেস কন্ট্রোল রেস্ট্রিকশন)।
|
||||
|
||||
### বিল্ট-ইন রিসোর্স পরিবর্তন
|
||||
|
||||
আপনি যখন কাস্টম রিসোর্স যোগ করে কুবারনেটিস API প্রসারিত করেন, তখন যোগ করা রিসোর্স সবসময়
|
||||
একটি নতুন API গ্রুপে পড়ে। আপনি বিদ্যমান API গ্রুপগুলোকে প্রতিস্থাপন বা পরিবর্তন করতে পারবেন না ৷
|
||||
একটি API যোগ করলে আপনাকে বিদ্যমান API-এর আচরণকে সরাসরি প্রভাবিত করতে দেওয়া না (যেমন পড),
|
||||
যেখানে _API অ্যাক্সেস এক্সটেনশানগুলো_ করে।
|
||||
|
||||
## API অ্যাক্সেস এক্সটেনশন
|
||||
|
||||
যখন একটি অনুরোধ কুবারনেটিস API সার্ভারে পৌঁছায়, এটি প্রথমে _অথেন্টিকেটেড(authenticated)_ করা হয়,
|
||||
তারপর _অনুমোদিত(authorized)_ হয় এবং তারপরে আসে বিভিন্ন ধরণের _অ্যাডমিশন কন্ট্রোলের(admission control)_
|
||||
বিষয় (কিছু অনুরোধ প্রকৃতপক্ষে অথেন্টিকেটেড(authenticated) নয়, এবং স্পেশাল ট্রিটমেন্ট পান)।
|
||||
এই প্রবাহ সম্পর্কে আরও জানতে
|
||||
[কুবারনেটিস API-এ অ্যাক্সেস কন্ট্রোল করা](/bn/docs/concepts/security/controlling-access/) দেখুন।
|
||||
|
||||
কুবারনেটিস অথেন্টিকেশন/অথোরাইজেশন প্রবাহের প্রতিটি ধাপ এক্সটেনশন পয়েন্ট অফার করে।
|
||||
|
||||
### অথেন্টিকেশন(Authentication)
|
||||
|
||||
ক্লায়েন্ট অনুরোধ করার জন্য একটি ব্যবহারকারীর নামের সমস্ত অনুরোধে
|
||||
[অথেন্টিকেশন](/bn/docs/reference/access-authn-authz/authentication/) শিরোনাম বা সার্টিফিকেট যুক্ত করে।
|
||||
|
||||
কুবারনেটিস এর বেশ কয়েকটি বিল্ট-ইন অথেন্টিকেশন পদ্ধতি রয়েছে যা এটি সাপোর্ট করে।
|
||||
এটি একটি অথেন্টিকেটিং প্রক্সির পিছনেও বসতে পারে এবং এটি একটি `অথোরাইজেশন(Authorization)` টোকেন পাঠাতে পারে যাচাইয়ের জন্য:
|
||||
শিরোনাম থেকে একটি রিমোট সার্ভিসে (একটি [অথেন্টিকেশন webhook](/bn/docs/reference/access-authn-authz/authentication/#webhook-token-authentication))
|
||||
যদি সেগুলো আপনার প্রয়োজনগুলো পূরণ না করে৷
|
||||
|
||||
### অথোরাইজেশন(Authorization)
|
||||
|
||||
[অথোরাইজেশন](/bn/docs/reference/access-authn-authz/authorization/) নির্ধারণ করে যে নির্দিষ্ট ব্যবহারকারীরা API রিসোর্সগুলোতে
|
||||
পড়তে, লিখতে এবং অন্যান্য ক্রিয়াকলাপ করতে পারে কিনা। এটি সম্পূর্ণ রিসোর্সের লেভেলে কাজ করে -- এটি ইচ্ছামত
|
||||
অবজেক্টের ফিল্ডের উপর ভিত্তি করে বৈষম্য করে না।
|
||||
|
||||
যদি বিল্ট-ইন অথোরাইজেশনের উপায়গুলো আপনার চাহিদা পূরণ না করে,
|
||||
তাহলে একটি [অথোরাইজেশন webhook](/bn/docs/reference/access-authn-authz/webhook/)
|
||||
কাস্টম কোডে কল করার অনুমতি দেয় যা একটি অথোরাইজেশনের সিদ্ধান্ত নেয়।
|
||||
|
||||
### ডাইনামিক অ্যাডমিশন কন্ট্রোল
|
||||
|
||||
একটি অনুরোধ অনুমোদিত হওয়ার পরে, যদি এটি একটি লিখিত অপারেশন হয়, তবে এটি
|
||||
[অ্যাডমিশন কন্ট্রোলের](/bn/docs/reference/access-authn-authz/admission-controllers/) পদক্ষেপগুলোর
|
||||
মধ্য দিয়ে যায়। বিল্ট-ইন পদক্ষেপগুলো ছাড়াও, বেশ কয়েকটি এক্সটেনশন রয়েছে:
|
||||
|
||||
* [ইমেজ পলিসি webhook](/bn/docs/reference/access-authn-authz/admission-controllers/#imagepolicywebhook)
|
||||
কন্টেইনারে কোন ইমেজ চালানো যাবে তা সীমাবদ্ধ করে।
|
||||
* ইচ্ছামত অ্যাডমিশন কন্ট্রোলের সিদ্ধান্ত নিতে, একটি সাধারণ
|
||||
[অ্যাডমিশন webhook](/bn/docs/reference/access-authn-authz/extensible-admission-controllers/#admission-webhooks)
|
||||
ব্যবহার করা যেতে পারে। অ্যাডমিশন webhook সৃষ্টি বা আপডেট প্রত্যাখ্যান করতে পারে।
|
||||
কিছু অ্যাডমিশন webhook ইনকামিং রিকোয়েস্ট ডেটা পরিবর্তন করে কুবারনেটিস দ্বারা আরও পরিচালনা করার আগে।
|
||||
|
||||
## অবকাঠামো এক্সটেনশন
|
||||
|
||||
### ডিভাইস প্লাগইন
|
||||
|
||||
_ডিভাইস প্লাগইনগুলো_ একটি [ডিভাইস প্লাগইনের](/bn/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/)
|
||||
মাধ্যমে একটি নোডকে নতুন নোড রিসোর্সগুলো (CPU এবং মেমরির মতো বিল্টইনগুলো ছাড়াও)
|
||||
আবিষ্কার করতে দেয় ।
|
||||
|
||||
### স্টোরেজ প্লাগইন
|
||||
|
||||
{{< glossary_tooltip text="কন্টেইনার স্টোরেজ ইন্টারফেস(Container Storage Interface)" term_id="csi" >}} (CSI)
|
||||
প্লাগইনগুলো নতুন ধরনের ভলিউমের জন্য সাপোর্ট সহ কুবারনেটিস প্রসারিত করার একটি উপায় প্রদান করে।
|
||||
ভলিউমগুলো টেকসই এক্সটার্নাল স্টোরেজ দ্বারা সাহায্যপ্রাপ্ত করা যেতে পারে, বা ক্ষণস্থায়ী স্টোরেজ(ephemeral storage) প্রদান করতে পারে,
|
||||
অথবা তারা একটি ফাইল সিস্টেম প্যারাডাইম ব্যবহার করে তথ্যের জন্য একটি রিড-অনলি ইন্টারফেস দিতে পারে ।
|
||||
|
||||
কুবারনেটিস এছাড়াও [FlexVolume](/bn/docs/concepts/storage/volumes/#flexvolume) প্লাগইনগুলোর জন্য সাপোর্ট অন্তর্ভুক্ত করে,
|
||||
যা কুবারনেটিস v1.23 (CSI-এর পক্ষে) থেকে অবমূল্যায়িত(deprecated) করা হয়েছে ।
|
||||
|
||||
FlexVolume প্লাগইনগুলো ব্যবহারকারীদের ভলিউম প্রকারগুলো মাউন্ট করার অনুমতি দেয় যা সাধারণত কুবারনেটিস দ্বারা সাপোর্টেড নয়।
|
||||
আপনি যখন FlexVolume স্টোরেজের উপর নির্ভর করে এমন একটি পড চালান, তখন kubelet ভলিউম মাউন্ট করার জন্য একটি বাইনারি প্লাগইন কল করে।
|
||||
আর্কাইভ করা [FlexVolume](https://git.k8s.io/design-proposals-archive/storage/flexvolume-deployment.md)
|
||||
ডিজাইন প্রস্তাবে এই পদ্ধতির আরও বিশদ বিবরণ রয়েছে।
|
||||
|
||||
[The Kubernetes Volume Plugin FAQ for Storage Vendors](https://github.com/kubernetes/community/blob/master/sig-storage/volume-plugin-faq.md#kubernetes-volume-plugin-faq-for-storage-vendors) তে
|
||||
স্টোরেজ প্লাগইনগুলোর সাধারণ তথ্য অন্তর্ভুক্ত রয়েছে ।
|
||||
|
||||
### নেটওয়ার্ক প্লাগইন
|
||||
|
||||
আপনার কুবারনেটিস ক্লাস্টারের একটি _নেটওয়ার্ক প্লাগইন_ প্রয়োজন যাতে একটি কার্যকরী পড নেটওয়ার্ক থাকে
|
||||
এবং কুবারনেটিস নেটওয়ার্ক মডেলের অন্যান্য দিকগুলোকে সাপোর্ট করতে পারে৷
|
||||
|
||||
[নেটওয়ার্ক প্লাগইনগুলো](/bn/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/)
|
||||
কুবারনেটিসকে বিভিন্ন নেটওয়ার্কিং টপোলজি এবং প্রযুক্তির সাথে কাজ করার অনুমতি দেয়।
|
||||
|
||||
### Kubelet ইমেজ ক্রেডেনশিয়াল প্রোভাইডার প্লাগইন (Kubelet image credential provider plugins)
|
||||
|
||||
{{< feature-state for_k8s_version="v1.26" state="stable" >}}
|
||||
Kubelet ইমেজ ক্রেডেনশিয়াল প্রোভাইডাররা হলো Kubelet এর জন্য প্লাগইন যা ডাইনামিকভাবে ইমেজ
|
||||
রেজিস্ট্রি ক্রেডেনশিয়ালগুলো পুনরুদ্ধার করতে পারে। কন্টেইনার ইমেজ রেজিস্ট্রি থেকে ইমেজ তোলার সময়
|
||||
ক্রেডেনশিয়ালগুলো ব্যবহার করা হয় যা কনফিগারেশনের সাথে মেলে।
|
||||
|
||||
প্লাগইনগুলো বহিরাগত সার্ভিসগুলোর সাথে যোগাযোগ করতে পারে বা ক্রেডেনশিয়ালগুলো পেতে লোকাল ফাইলগুলো ব্যবহার করতে পারে ৷
|
||||
এইভাবে, kubelet এর প্রতিটি রেজিস্ট্রির জন্য স্ট্যাটিক ক্রেডেনশিয়ালের প্রয়োজন নেই এবং বিভিন্ন অথেন্টিকেশন পদ্ধতি এবং
|
||||
প্রোটোকল সাপোর্ট করতে পারে ।
|
||||
|
||||
প্লাগইন কনফিগারেশনের বিশদ বিবরণের জন্য,
|
||||
[একটি Kubelet ইমেজ ক্রেডেনশিয়াল প্রোভাইডার কনফিগার ](/bn/docs/tasks/administer-cluster/kubelet-credential-provider/) দেখুন।
|
||||
|
||||
## শিডিউলিং এক্সটেনশন
|
||||
|
||||
শিডিউলার হলো একটি বিশেষ ধরনের কন্ট্রোলার যা পডগুলো দেখে এবং
|
||||
নোডগুলোতে পড বরাদ্দ করে।
|
||||
অন্যান্য কুবারনেটিস উপাদানগুলো ব্যবহার করা চালিয়ে যাওয়ার সময় ডিফল্ট শিডিউলার
|
||||
সম্পূর্ণরূপে প্রতিস্থাপন করা যেতে পারে, অথবা
|
||||
[একাধিক শিডিউলার](/bn/docs/tasks/extend-kubernetes/configure-multiple-schedulers/) একই সময়ে চলতে পারে।
|
||||
|
||||
এটি একটি উল্লেখযোগ্য উদ্যোগ, এবং প্রায় সমস্ত কুবারনেটিস ব্যবহারকারীরা দেখতে পান
|
||||
যে তাদের শিডিউলার পরিবর্তন করার প্রয়োজন নেই।
|
||||
|
||||
আপনি কোন [শিডিউলার প্লাগইনগুলো](/bn/docs/reference/scheduling/config/#scheduling-plugins) সক্রিয় তা নিয়ন্ত্রণ করতে পারেন বা
|
||||
বিভিন্ন নামযুক্ত [শিডিউলার প্রোফাইলের](/bn/docs/reference/scheduling/config/#multiple-profiles) সাথে প্লাগইনগুলোর সেটগুলোকে সংযুক্ত করতে পারেন ৷
|
||||
আপনি আপনার নিজস্ব প্লাগইনও লিখতে পারেন যা এক বা একাধিক kube-scheduler এর
|
||||
[এক্সটেনশন পয়েন্টের](/bn/docs/concepts/scheduling-eviction/scheduling-framework/#extension-points) সাথে একত্রিত হয় ।
|
||||
|
||||
অবশেষে, বিল্ট-ইন `kube-scheduler` উপাদানটি একটি
|
||||
[webhook](https://git.k8s.io/design-proposals-archive/scheduling/scheduler_extender.md)কে
|
||||
সাপোর্ট করে যা একটি রিমোট HTTP ব্যাকএন্ড (শিডিউলার এক্সটেনশন) ফিল্টার এবং/অথবা
|
||||
নোডগুলোকে অগ্রাধিকার দেওয়ার অনুমতি দেয় যা kube-scheduler একটি পডের জন্য বেছে নেয়।
|
||||
|
||||
{{< note >}}
|
||||
আপনি শুধুমাত্র একটি শিডিউলার এক্সটেন্ডার webhook এর মাধ্যমে নোড ফিল্টারিং
|
||||
এবং নোড অগ্রাধিকারকে প্রভাবিত করতে পারেন;
|
||||
webhook ইন্টিগ্রেশনের মাধ্যমে অন্যান্য এক্সটেনশন পয়েন্ট পাওয়া যায় না।
|
||||
{{< /note >}}
|
||||
|
||||
## {{% heading "whatsnext" %}}
|
||||
|
||||
* অবকাঠামো এক্সটেনশন সম্পর্কে আরও জানুন
|
||||
* [ডিভাইস প্লাগইন](/bn/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/)
|
||||
* [নেটওয়ার্ক প্লাগইন](/bn/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/)
|
||||
* CSI [স্টোরেজ প্লাগইন](https://kubernetes-csi.github.io/docs/)
|
||||
* [kubectl প্লাগইন](/bn/docs/tasks/extend-kubectl/kubectl-plugins/) সম্পর্কে জানুন
|
||||
* [কাস্টম রিসোর্স](/bn/docs/concepts/extend-kubernetes/api-extension/custom-resources/) সম্পর্কে আরও জানুন
|
||||
* [এক্সটেনশন API সার্ভার](/bn/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/) সম্পর্কে আরও জানুন
|
||||
* [ডাইনামিক অ্যাডমিশন কন্ট্রোল](/bn/docs/reference/access-authn-authz/extensible-admission-controllers/) সম্পর্কে জানুন
|
||||
* [অপারেটর প্যাটার্ন](/bn/docs/concepts/extend-kubernetes/operator/) সম্পর্কে জানুন
|
Binary file not shown.
After Width: | Height: | Size: 39 KiB |
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 24 KiB |
Loading…
Reference in New Issue