Daha Güvenli Cevap
Kabul edilen yanıt, güvenlik açısından en iyi çözüm olmayan Helm'e tam yönetici erişimi sağlar. Biraz daha çalışarak, Miğfer'in belirli bir ad alanına erişimini kısıtlayabiliriz. Dümen belgelerinde daha fazla ayrıntı .
$ kubectl create namespace tiller-world
namespace "tiller-world" created
$ kubectl create serviceaccount tiller --namespace tiller-world
serviceaccount "tiller" created
Tiller'ın tüm kaynakları aşağıdaki tiller-world
gibi yönetmesine izin veren bir Rol tanımlayın 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: ["*"]
O zaman koş:
$ kubectl create -f role-tiller.yaml
role "tiller-manager" created
İçinde 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
O zaman koş:
$ kubectl create -f rolebinding-tiller.yaml
rolebinding "tiller-binding" created
Daha sonra helm init
Tiller'ı tiller-world
ad alanına kurmak için çalıştırabilirsiniz .
$ helm init --service-account tiller --tiller-namespace tiller-world
Şimdi tüm komutların önüne , ortam değişkenlerinizde yer alan --tiller-namespace tiller-world
veya bunları TILLER_NAMESPACE=tiller-world
ekleyin.
Daha Gelecekte Kanıtlanmış Cevap
Tiller'ı kullanmayı bırakın. Miğfer 3, Tiller ihtiyacını tamamen ortadan kaldırır. Helm 2 kullanıyorsanız helm template
, Helm grafiğinizden yaml oluşturmak için kullanabilir ve ardından kubectl apply
nesneleri Kubernetes kümenize uygulamak için çalıştırabilirsiniz .
helm template --name foo --namespace bar --output-dir ./output ./chart-template
kubectl apply --namespace bar --recursive --filename ./output -o yaml
--clusterrole=cluster-admin
izin sorunlarını kesinlikle çözeceğini, ancak istediğiniz düzeltme olmayabileceğini unutmayın. İhtiyacınız olan tam izinlerle kendi hizmet hesaplarınızı, (küme) rollerinizi ve (küme) rol bağlantılarınızı oluşturmanız daha iyidir.