Шлем: Несовместимые версии между клиентом и сервером

После того, как я запустил helm list я получил следующую ошибку:

Ошибка: несовместимые версии клиент [v2.9.0] сервер [v2.8.2]

Я сделал инициализацию helm init для установки совместимой версии румпеля "Предупреждение: Tiller уже установлен в кластере (используйте --client-only для подавления этого сообщения или --upgrade для обновления Tiller до текущей версии.)".

Любые указатели?

Ответ 1

Чтобы обновить версию румпеля до той же версии клиента, просто запустите helm init --upgrade

Ответ 2

Как и ОП, у меня была эта ошибка:

$ helm list
Error: incompatible versions client[v2.10.0] server[v2.9.1]

Обновление сервера не было для меня вариантом, поэтому мне нужно было установить предыдущую версию клиента. Я ранее не устанавливал клиент [v2.9.1] (или любую предыдущую версию клиента) и, таким образом, не мог просто brew switch kubernetes-helm 2.9.1. В итоге мне пришлось выполнить шаги, описанные в этом SO-ответе: fooobar.com/questions/764/...

Который в основном говорит

Теперь, когда у меня был 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

Надеюсь, это кому-нибудь поможет.

Ответ 3

Еще один подход к использованию разных версий через 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

Ответ 4

Другой вариант, если изменение версии сервера невозможно, - использовать сценарий установки руля

Скрипт позволяет вам выбрать конкретную версию, например, так ./get_helm.sh -v v2.13.1

Ответ 5

Этот ответ предназначен для тех, кто хочет выбрать (понизить) версию клиента helm, и установка brew не работает. Вы можете просто вручную установить двоичный файл отсюда.

пример:

  1. вы можете отсоединить текущий шлем

    brew unlink kubernetes-helm
    
  2. выберите и загрузите нужную версию helm в github helm ------ v2.8.2

  3. распакуйте файл и поместите исполняемый двоичный файл 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
    
  4. Теперь вы увидите правильную версию шлема, который вы хотите

    helm version
    

Ответ 6

У меня возникла та же проблема, но в моем случае я хочу обновить 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

Ссылка на документацию:

https://helm.sh/docs/install/#upgrading-tiller