Шлем: не удалось найти румпель

Я получаю сообщение об ошибке:

➜  ~ helm version
Error: could not find tiller

Я создал проект tiller:

➜  ~ oc new-project tiller
Now using project "tiller" on server "https://192.168.99.100:8443".

Затем, я создал tiller в пространство имен tiller:

➜  ~ helm init --tiller-namespace tiller
$HELM_HOME has been configured at /home/jcabre/.helm.

Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.

Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.
To prevent this, run 'helm init' with the --tiller-tls-verify flag.
For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installation
Happy Helming!

Итак, после этого, я ждал, когда tiller готов.

➜  ~ oc get pod -w
NAME                             READY     STATUS    RESTARTS   AGE
tiller-deploy-66cccbf9cd-84swm   0/1       Running   0          18s
NAME                             READY     STATUS    RESTARTS   AGE
tiller-deploy-66cccbf9cd-84swm   1/1       Running   0          24s
^C%               

Есть идеи?

Ответ 1

Попробуйте удалить свой кластерный фермер

kubectl get all --all-namespaces | grep tiller
kubectl delete deployment tiller-deploy -n kube-system
kubectl delete service tiller-deploy -n kube-system
kubectl get all --all-namespaces | grep tiller

Инициализируйте его снова:

helm init

Теперь добавьте учетную запись службы:

kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

Это решило мою проблему!

Ответ 2

У вас еще нет настроенного шлема, используйте следующую команду:

helm init

Это создаст .helm с repository, plugins и т.д. в вашем домашнем каталоге.

Фон: helm поставляется с клиентом и сервером, если у вас другая среда развертывания, возможно, ваш сервер управления (известный как tiller) отличается, в этом случае есть два способа указать на tiller

  • установить переменную среды TILLER_NAMESPACE
  • --tiller-namespace строковое пространство имен Tiller (по умолчанию "kube-system")

Для получения дополнительной информации просмотрите файл helm READ.md.

Ответ 3

Вы установили румпель в пространство имен, отличное от по умолчанию, поэтому вам нужно указать, где искать.

helm --tiller-namespace tiller  version

Ответ 4

Прежде всего вам необходимо создать служебную учетную запись для использования кассиром в шлеме:

kubectl -n kube-system create serviceaccount tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
helm init --service-account tiller

Чтобы убедиться, что Tiller работает:

kubectl get pods --namespace kube-system

Ссылка на DigitalOcean

Ответ 5

Я столкнулся с той же проблемой, попробуйте переустановить helm, используя команды ниже:

Для Linux: (через Snap)

sudo snap install helm --classic

Для Linux (из двоичного источника):

  1. Загрузите желаемую версию
  2. Распакуйте его (tar -zxvf helm-v2.0.0-linux-amd64.tgz)
  3. Найдите двоичный файл helm в распакованном каталоге и переместите его в нужное место назначения (mv linux-amd64/helm/usr/local/bin/helm)

Для MacOS (Via Brew):

brew install kubernetes-helm

Для окон (Via Chocolatey):

choco install kubernetes-helm

И наконец, возродить helm:

helm init