Сбой установки Helm с ошибкой: не удалось найти румпель из Azure Cloud Shell - PullRequest
0 голосов
/ 20 февраля 2020

Установка Helm, вызванная из облачной оболочки, работала на прошлой неделе, но теперь независимо от использования bash или powershell возвращает

Ошибка: не удалось найти культиватор

Последний неделю я смог создать входной контроллер, следуя статье Microsoft Создание входного HTTPS-контроллера на Azure Kubernetes Service (AKS)

, теперь, когда я добираюсь до установки шлема, шаг I получите ошибку указанную в заголовке. Чтобы воссоздать эту проблему:

  • Do clouddrive unmount из облачной оболочки powershell.
  • С помощью портала Azure удалите общий файловый ресурс cloudhell ​​в Azure Хранение.
  • Создание службы Kubernetes с двумя узлами 'B2s' с использованием расширенных сетей с использованием предоставленных значений по умолчанию.
  • Откройте Cloud Shell, используя bash или Powershell.
  • Выполните az aks get-credentials и укажите имя своего кластера AKS.
  • Do kubectl create namespace ingress-basi c
  • Do helm repo add stable https://kubernetes-charts.storage.googleapis.com/
  • приведенная выше команда предупредит, что вам нужно выполнить инициацию helm.
  • Do a az aks list для получения servicePrincipalProfile: clientId вашего кластера AKS
  • Do helm init --service-account , используя clientId указанной выше команды для параметра service-account
  • Выполните установку helm, используя параметры из Microsoft Docs Создание входного HTTPS-контроллера на Azure Kubernetes Service (AKS)

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

Ответы [ 3 ]

0 голосов
/ 21 февраля 2020

ОК, два пункта.

  1. Руль не был установлен. 14.02.2020 я смог установить входной контроллер с помощью руля. Но 2/18 я не смог выполнить установку helm - dry -runr на диаграмме из-за вышеупомянутой ошибки. В любом случае, следуя этой документации Установите приложения с Helm в Azure Служба Kubernetes (AKS) Я правильно установил Tiller.
  2. После правильной установки Tiller команда установки helm для входного контроллера Создайте входной HTTPS-контроллер на Azure Служба Kubernetes (AKS) завершилась ошибкой, ошибка диаграммы не найдена

Я изменил команду с

helm install nginx stable/nginx-ingress \

на

helm install stable/nginx-ingress \

, и диаграмма теперь правильно развертывается. Теперь я вернулся туда, где был 14 февраля. Спасибо всем за помощь.

0 голосов
/ 24 февраля 2020

OK получил следующее письмо от службы технической поддержки Microsoft, в котором сообщалось, что возникла проблема с Azure Cloud Shell. Сегодня утром я сделал версию Helm и теперь вижу

version.BuildInfo {Version: "v3.1.1", GitCommit: "afe70585407b420d0097d07b21c47dc511525ac8", GitTreeState: "clean", GoVersion: "go1.8" }

Которого я не видел 2/14. Так что я выгляжу так, будто я НЕ сошел с ума, и что Microsoft исправила эту проблему. На основании ее письма проблема с именем диаграммы также должна быть решена.

Привет, Брайан, Спасибо за твое обновление. Приносим извинения за неудобства. Произошла ошибка в скрипте, который создает образ оболочки облака. Helm выпустил 2.16.3 совсем недавно, чем 3.1, и сценарий сборки выбрал его как «последний» выпуск, вызвав непреднамеренный переход на более раннюю версию. Поскольку для руля v3 не требуется стручок румпеля, его нельзя найти при использовании руля стеллажа v2. Версия руля будет обновлена ​​в следующем выпуске. Как вы подтвердили, вопросы, связанные с этой проблемой, были решены, и поэтому я буду go вперед и заархивирую ваше дело в это время. Пожалуйста, помните, что поддержка для этого случая не заканчивается здесь. Если вам понадобится дополнительная помощь в решении вашей проблемы, вы можете обратиться ко мне, и я продолжу работать с вами. Вот краткое изложение ключевых моментов дела для ваших записей. Определение проблемы: Ошибка установки Helm: не удалось найти румпель. Сводка по решению / предложению: Вы можете обратиться к следующему документу для настройки helm V2: https://docs.microsoft.com/en-us/azure/aks/kubernetes-helm#install -an-application-with-helm-v2 . В качестве альтернативы вы можете также использовать приведенную ниже команду для обновления штурвала до версии 3 в качестве обходного пути: curl https://aka.ms/cloud-shell-helm3 | bash. Команда 'helm version' может использоваться для проверки версии Helm, которую вы установили.

Кроме того, синтаксис для helm 3 отличается от helm 2. Синтаксис для helm v3 - это 'helm install [NAME] [CHART] [flags] 'в то время как для hem v2 используется' helm install [CHART] [flags] '. Поэтому вам нужно удалить слово nginx после слова install, если вы используете helm v2. Для получения дополнительной информации вы можете обратиться к следующему документу: https://docs.microsoft.com/en-us/azure/aks/kubernetes-helm#install -an-application-with-helm-v2

Мне было приятно работать с вами по этому запросу на обслуживание. Пожалуйста, не стесняйтесь обращаться ко мне, если я могу оказать дальнейшую помощь. Большое спасибо за вашу поддержку Microsoft Azure. Хорошего дня?!

0 голосов
/ 20 февраля 2020

верно, я думаю, вам нужно создать учетную запись службы в kubernetes, чтобы это работало, пример кода:

kubectl -n kube-system create serviceaccount tiller

kubectl create clusterrolebinding tiller \
  --clusterrole=cluster-admin \
  --serviceaccount=kube-system:tiller

helm init --service-account tiller

# Users in China: You will need to specify a specific tiller-image in order to initialize tiller. 
# The list of tiller image tags are available here: https://dev.aliyun.com/detail.html?spm=5176.1972343.2.18.ErFNgC&repoId=62085. 
# When initializing tiller, you'll need to pass in --tiller-image

helm init --service-account tiller \
--tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:<tag>

https://rancher.com/docs/rancher/v2.x/en/installation/options/helm2/helm-init/

тогда как вы пытаетесь использовать Azure Принципал службы вместо учетной записи службы Kubernetes. Это не одно и то же.

...