web-dev-qa-db-ja.com

エラー:インストールのエラー:サーバーは要求されたリソースHELM Kubernetesを見つけることができませんでした

私がしたこと:
Helmをインストールしました

curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash
helm init --history-max 200


エラーが発生します:

$HELM_HOME has been configured at /root/.helm.
Error: error installing: the server could not find the requested resource
  1. そのエラーはどういう意味ですか?
  2. Helmとtillerをインストールするにはどうすればよいですか?

Ubuntuバージョン:18.04
Kubernetesバージョン:1.16
ヘルムバージョン:

helm version
Client: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
Error: could not find tiller

更新:
@ shawndodoの回答を試しましたが、まだ分げつ機がインストールされていません

helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm'
--output yaml | sed 's@apiVersion: extensions/v1beta1@apiVersion: apps/v1@' | kubectl apply -f -

更新2:
helm init --history-max 200 Kubernetesバージョン1.15での作業

10

私は同じ問題に遭遇し、この返信を here で見つけました。

helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's@apiVersion: extensions/v1beta1@apiVersion: apps/v1@' | kubectl apply -f -

わたしにはできる。この号で詳細をご覧いただけます。

19
shawndodo

残念ながら、Helmは現在のバージョンのKubernetes(1.16.0)では動作しません #6374 の問題で確認できます。

現時点では、古いバージョンのKubernetesを選択することで、非互換性を回避できます。

以前のkubernetesバージョンでminikubeを開始する

この問題を解決するには、--kubernetes-version param( Ref。 )を使用してバージョンを設定するminikubeを開始するだけです。

minikube delete

minikube start --kubernetes-version=1.15.4

次のコマンドでHelmも再起動してみてください。

helm init

その後、問題なくHelmを使用できます。

6
valdeci

私はこの問題を修正するために手動でAPIバージョンを変更することに関するすべての提案を試みました、これはエラーを取り除きましたが、事はその後適切に機能しませんでした。私の場合、最新のミニキューブインストールを削除し、以下のコマンドを使用して古いものをMacにインストールしました。必要に応じてminikube-darwin-AMD64をminikube-linux-AMD64に変更します。

curl -LO https://storage.googleapis.com/minikube/releases/v1.3.0/minikube-darwin-AMD64 \
  && Sudo install minikube-darwin-AMD64 /usr/local/bin/minikube

これにより、私のkubernetesが現在ヘルムでサポートされているv1.15.2にダウングレードされました。

1
Gth lala

したがって、tillerは、helmクライアントが通信するサーバー側のコンポーネントです(tillerは、Helm 3ではさまざまなセキュリティ上の問題により削除される予定です)。 helm initを実行すると、helmクライアントはkubectlが現在接続するように設定されているクラスターにティラーをインストールします(ティラーをインストールするには、クラスター全体の管理者アクセスが必要なため、クラスターに管理者アクセスが必要であることに注意してください)。耕うん機を操作するには、さまざまな方法があります。

  • 名前空間ごとのtiller:これは、単一の名前空間にtillerをインストールして、その名前空間へのアクセスのみを許可する場合(クラスター全体の管理者に与えるよりもはるかに安全)です。 here
  • tillerless:これはtillerをローカルで実行する場合、HELM_Hostをエクスポートしてこのティラーにポイントする必要があり、tylerはKUBECONFIGで設定されたkube設定を使用します詳細情報が見つかりました here =
1
Spazzy757

私は同じ問題に遭遇しました-最初の質問とまったく同じ設定:Ubuntuバージョン:18.04 Kubernetesバージョン:1.16

@shawndodoの答えは私にはうまくいきませんでした。 Tillerの配置に問題があり、Tillerポッドがまったく作成されませんでした!

Helmのドキュメントに記載されているカナリアビルドからのインストールを試みました- https://helm.sh/docs/using_helm/#from-canary-builds

helm init --canary-image --upgrade

これは数日前は機能しませんでしたが、(新しいカナリアビルドで)再試行し、今日(20191005)で機能しました。

カナリアビルドを使用して他の問題が発生するかどうかはまだ不明ですが、初期化の問題を乗り越えました...

1
Ryan.Bartsch

Helmの使用を開始する前に、クラスターにtillerをインストールする必要があります。 helm initコマンドを実行すると、クラスターにティラーがインストールされます。また、ティラーのクラスターにもRBACを構成する必要があります。 ここ k8sクラスターのニーズに応じて必要なRBACルールを確認できます。

0
Tyto
  • kubectlバージョン:v1.16.0
  • ヘルムバージョン:v2.14.3

    minikube start --memory=16384 --cpus=4
    
    helm init --service-account tiller --output yaml | sed 's@apiVersion: extensions/v1beta1@apiVersion: apps/v1@' | sed 's@  replicas: 1@  replicas: 1\n  selector: {"matchLabels": {"app": "helm", "name": "tiller"}}@' | kubectl apply -f -
    
    helm template istio-1.3.3/install/kubernetes/helm/istio-init --name istio-init --namespace istio-system | kubectl apply -f - 
    
    helm template istio-1.3.3/install/kubernetes/helm/istio --name istio --namespace istio-system | kubectl apply -f -
    
0

試す

apt-get upgrade helm私の場合、うまくいきました。

0
Karthik Reddy