আরও সুরক্ষিত উত্তর
গৃহীত উত্তর হেলমে পুরো অ্যাডমিনকে অ্যাক্সেস দেয় যা সুরক্ষার ভিত্তিতে সেরা সমাধান নয়। আরও কিছুটা কাজ করে আমরা কোনও নির্দিষ্ট নেমস্পেসে হেলমের অ্যাক্সেসকে সীমাবদ্ধ করতে পারি। হেলমের ডকুমেন্টেশনে আরও বিশদ ।
$ kubectl create namespace tiller-world
namespace "tiller-world" created
$ kubectl create serviceaccount tiller --namespace tiller-world
serviceaccount "tiller" created
এমন একটি ভূমিকা সংজ্ঞায়িত করুন যা টিলারকে এর tiller-worldমতো সমস্ত সংস্থান পরিচালনা করতে দেয় role-tiller.yaml:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: tiller-manager
namespace: tiller-world
rules:
- apiGroups: ["", "batch", "extensions", "apps"]
resources: ["*"]
verbs: ["*"]
তারপরে চালান:
$ kubectl create -f role-tiller.yaml
role "tiller-manager" created
ইন rolebinding-tiller.yaml,
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: tiller-binding
namespace: tiller-world
subjects:
- kind: ServiceAccount
name: tiller
namespace: tiller-world
roleRef:
kind: Role
name: tiller-manager
apiGroup: rbac.authorization.k8s.io
তারপরে চালান:
$ kubectl create -f rolebinding-tiller.yaml
rolebinding "tiller-binding" created
এরপরে আপনি নাম helm initস্থানে টিলার ইনস্টল করতে চালাতে পারেন tiller-world।
$ helm init --service-account tiller --tiller-namespace tiller-world
আপনার কন্ডিশনাল ভেরিয়েবলের সাথে সমস্ত কমান্ডের উপস্থাপন করুন --tiller-namespace tiller-worldবা সেট করুন TILLER_NAMESPACE=tiller-world।
আরও ভবিষ্যতের প্রুফ উত্তর
টিলার ব্যবহার বন্ধ করুন। হেলম 3 টিলার প্রয়োজন সম্পূর্ণরূপে সরিয়ে দেয়। যদি আপনি হেলম 2 ব্যবহার করে থাকেন তবে আপনি helm templateআপনার হেলম চার্ট থেকে ইয়ামাল তৈরি করতে ব্যবহার করতে পারেন এবং তারপরে kubectl applyআপনার কুবেরনেটস ক্লাস্টারে অবজেক্টগুলি প্রয়োগ করতে চালাতে পারেন।
helm template --name foo --namespace bar --output-dir ./output ./chart-template
kubectl apply --namespace bar --recursive --filename ./output -o yaml
--clusterrole=cluster-admin, যা অবশ্যই অনুমতিগুলির সমস্যাগুলি ঠিক করবে, তবে আপনি যা ঠিক করতে চান তা নাও হতে পারে। আপনার নিজের যথাযথ অনুমতিগুলির সাথে নিজের পরিষেবা অ্যাকাউন্ট, (ক্লাস্টার) ভূমিকা এবং (ক্লাস্টার) রোলবাইন্ডিংগুলি তৈরি করা আরও ভাল।