После запуска helm list я получил следующую ошибку:
Error: incompatible versions client[v2.9.0] server[v2.8.2]
Я сделал helm init, чтобы установить совместимую версию румпеля "Предупреждение: Tiller уже установлен в кластере. (Используйте --client-only, чтобы подавить это сообщение, или --upgrade, чтобы обновить Tiller до текущей версии.) ".
Есть указатели?

Чтобы обновить версию румпеля до той же версии клиента, просто запустите helm init --upgrade.
Как перейти на более раннюю версию клиентского Helm?
люди просто автоматически обновляют свои серверные версии, когда используют клиент? кажется в высшей степени безответственным
Это действительно не следует считать правильным ответом. Ниже приведены два хороших решения.
Неразумно обновлять производственное программное обеспечение просто для удовлетворения требований клиента.
Все, что вам нужно, это просто понизить версию клиента helm, как указано во втором ответе, чтобы ничего не испортить.
Хотя, как говорится, «волей-неволей» обновлять серверную версию может быть опасно, мне удалось легко и без проблем обновить версию с 2.16.0 до 2.17.0.
Как и OP, у меня была эта ошибка:
$ helm list
Error: incompatible versions client[v2.10.0] server[v2.9.1]
Обновление сервера для меня не было вариантом, поэтому мне нужно было установить предыдущую версию клиента. Я ранее не устанавливал клиент [v2.9.1] (или любую предыдущую версию клиента) и поэтому не мог просто brew switch kubernetes-helm 2.9.1. В итоге мне пришлось выполнить шаги в этом SO-ответе: https://stackoverflow.com/a/17757092/2356383
Что в основном говорит
Теперь, когда у меня был URL-адрес правильного файла kubernetes-helm.rb, я выполнил следующее:
$ brew unlink kubernetes-helm
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/78d64252f30a12b6f4b3ce29686ab5e262eea812/Formula/kubernetes-helm.rb
$ brew switch kubernetes-helm 2.9.1
Надеюсь, это кому-то поможет.
Это лучший ответ, так как он не меняет версию сервера, но соответственно меняет вашу локальную версию.
В настоящее время у меня была проблема, что завершение вкладки было прервано после того, как я изменил версию клиента Helm. Вы должны перезагрузить его с помощью helm completion <SHELL>. github.com/helm/helm/blob/master/docs/helm/helm_completion.m d
Это решение больше не работает: «Недопустимое использование: установка kubernetes-helm из URL-адреса фиксации GitHub не поддерживается! Вместо этого используйте вместо этого« brew extract kubernetes-helm »для стабильного нажатия на GitHub. (UsageError))». Однако приведенный ниже сценарий установки helm все еще работает.
Другой подход к использованию разных версий через Docker.
https://hub.docker.com/r/alpine/helm
Пример: список установленных пакетов Helm
docker run -it --rm \
-v ~/.kube/config:/root/.kube/config \
-v ~/.helm:/root/.helm alpine/helm:2.9.1 \
list
Это длинная команда; но его можно сократить с помощью псевдонима
alias helm_2_9_1 = "docker run -ti --rm \
-v $(pwd):/apps -v ~/.kube/config:/root/.kube/config \
-v ~/.helm:/root/.helm alpine/helm:2.9.1"
И тогда команда
helm_2_9_1 list
Псевдоним следует заключать в одинарные кавычки, поэтому $ (pwd) оценивается при выполнении команды, а не при создании псевдонима.
Лучший ответ, если вам нужно использовать и старую версию Helm, и вы не хотите много устанавливать на свою рабочую станцию!
Вы знаете, как это сделать, если вы подключаетесь к модулям на AWS?
Другой альтернативой, если изменение версии сервера невозможно, является использование скрипт установщика helm
Скрипт позволяет вам выбрать конкретную версию вот так
./get_helm.sh -v v2.13.1
Хорошее простое решение, которое работает и не требует изменения версии сервера. Это должен быть принятый ответ.
Этот ответ предназначен для тех, кто хочет выбрать (перейти на более раннюю) версию клиента helm, а установка brew не работает. Вы можете просто вручную установить двоичный файл из здесь.
пример:
вы можете отменить связь с текущим рулем
brew unlink kubernetes-helm
выберите и загрузите нужную вам версию руля в github helm ------ v2.8.2
разархивируйте файл и поместите исполняемый двоичный файл helm unix в каталог / usr / local / bin
перейдите в каталог, который вы только что скачали
cd /Users/your_name/Downloads
разархивируйте файл
gunzip -c helm-v2.8.2-darwin-amd64.tar.gz | tar xopf -
скопировать в каталог bin
cp darwin-amd64/helm /usr/local/bin
теперь вы увидите нужную версию шлема
helm version
У меня возникла такая же проблема, но в моем случае я хочу только обновить Tiller до определенной версии (поскольку клиент helm работает удаленно).
Итак, ошибка была:
Error: UPGRADE FAILED: incompatible versions client[v2.11.0] server[v2.9.1]
Согласно документации я запустил:
$ kubectl --namespace=kube-system set image deployments/tiller-deploy tiller=gcr.io/kubernetes-helm/tiller:v2.11.0
deployment.extensions/tiller-deploy image updated
Ссылка на документацию:
Для тех, кто установил свой клиент helm с помощью оснастки, чтобы понизить / обновить его до определенной версии, вы можете просто:
snap remove helmsnap info helmsnap install helm --channel=X.X/stable --classicВероятно, это не самый продвинутый ответ ... но моя команда запускает кластеры Kubernetes, на которых уже установлен tiller. При настройке нового ноутбука я хотел, чтобы мой штурвал соответствовал версии румпеля, поэтому я обнаружил, что это так:
TILLER_POD=`kubectl get pods -n kube-system | grep tiller | awk '{print $1}'`
kubectl exec -n kube-system $TILLER_POD -- /tiller -version
Затем я просто использовал обычные инструкции по установке Helm из этого номера выпуска (в Linux, в основном, просто скрутите и разархивируйте в / usr / local / bin).
Если вы являетесь пользователем Windows и установили helm через choco, сначала перейдите в его папку (моя - C: \ ProgramData \ chocolatey) и удалите helm.exe из папки bin.
Затем необходимо загрузить соответствующий файл heml.exe. Используя приведенные выше комментарии, выберите место, откуда вы будете загружать exe. Например, я использовал этот путь: https://get.helm.sh/helm-v2.14.3-windows-amd64.tar.gz
Наконец, извлеките helm.exe из tar и перейдите в папку choco bin. Конечно, вы можете напрямую добавить этот exe в путь.
Ошибка: клиент представляет версию CLI для руля, а сервер - версию румпеля, и вы используете две разные версии. Я предлагаю вам использовать helm3, из которого удален tiller, и обрабатывать его через CLI helm.