web-dev-qa-db-ja.com

requirements.yamlを含むヘルムチャート、ローカルチャートが見つかりませんでした

私のグラフにはelasticsearchとmongdbの依存関係があり、私のグラフでは次のような構造になっています。

├── [-rw-rw-r--]  Chart.yaml
├── [drwxrwxr-x]  dependency_charts
│   ├── [drwxrwxr-x]  elasticsearch
│   └── [drwxrwxr-x]  mongodb
├── [-rw-rw-r--]  deploy.sh
├── [-rw-rw-r--]  requirements.yaml
├── [-rw-rw-r--]  values.yaml
├── [drwxrwxr-x]  templates
│   ├── [-rw-rw-r--]  proj-deploy.yaml
│   └── [-rw-rw-r--]  proj-svc.yaml

しかし、チャートをインストールしようとすると、次のように表示されます。

Error: found in requirements.yaml, but missing in charts/ directory: elasticsearch, mongodb

helm dep lsを実行すると、ステータスが表示されない

$ helm dep list
NAME            VERSION REPOSITORY                              STATUS
elasticsearch   6.5.1   file://dependency_charts/elasticsearch  missing
mongodb         4.0.3   file://dependency_charts/mongodb        missing

バージョンはappVersionですが、バージョンをチャートバージョンに変更しても動作しません。

これは公式ドキュメントです https://github.com/helm/helm/blob/master/docs/helm/helm_dependency.mdhttps://docs.helm.sh/ chart_best_practices /#repository-urls

これはヘルムバージョンです

$ helm version
Client: &version.Version{SemVer:"v2.10.0", GitCommit:"9ad53aac42165a5fadc6c87be0dea6b115f93090", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.10.0", GitCommit:"9ad53aac42165a5fadc6c87be0dea6b115f93090", GitTreeState:"clean"}

そして、これらのチャートをchartsフォルダーに配置できますが、そうすると、helmはmongodbとelasticsearchを同じチャートにインストールします。これは予期されていません。同じ名前空間の下にあると予想されるのは、3つのチャートです。 :myproj、elasticsearch、mongodb。

誰かが私が間違っていることについての手がかりを得ましたか?ありがとう。

5
jolla

helm dep updateを実行する必要があります。これにより、サブチャートが./chartsフォルダーに配置され、。/ requirements.lockファイルが作成されます。その後、インストールできます。

4
abinet
helm dep update

リポジトリリストが空の場合にのみ機能します。 helm repo listを確認します。これが何かを返す場合、ローカルの依存関係は解決されません。コマンドhelm repo remove REPO_NAMEを使用してリポジトリを削除してみてください

1
Shivang Gupta

...私が期待しているのは、同じ名前空間の下にある3つのチャート:myproj、elasticsearch、mongodbです。

その効果を得るには、helm installを3回別々に実行する必要があります。


requirements.yamlメカニズムにより、Helmは単一のHelmリリースに複数のサブチャートをインストールします。 helm listmyprojを表示するだけですが、内部的には他のコンポーネント用のKubernetesリソースも持っています。 kubectl get serviceの場合、同じHelmリリースで管理されているunusual-animal-myprojunusual-animal-mongodbなどのサービスオブジェクトが表示されます。 helm del unusual-animalの場合、3つのコンポーネントすべてが一緒に削除されます。

それがあなたが望む振る舞いであるならば、あなたが得たエラーメッセージはそれが言うことを意味します:ローカルチャートは正確にchartsという名前のサブディレクトリになければなりません。 helm dep upまたはhelm dep buildを実行すると、そこにコピーされます。

1
David Maze