私のグラフには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。
誰かが私が間違っていることについての手がかりを得ましたか?ありがとう。
helm dep update
を実行する必要があります。これにより、サブチャートが./chartsフォルダーに配置され、。/ requirements.lockファイルが作成されます。その後、インストールできます。
helm dep update
リポジトリリストが空の場合にのみ機能します。 helm repo list
を確認します。これが何かを返す場合、ローカルの依存関係は解決されません。コマンドhelm repo remove REPO_NAME
を使用してリポジトリを削除してみてください
...私が期待しているのは、同じ名前空間の下にある3つのチャート:myproj、elasticsearch、mongodbです。
その効果を得るには、helm install
を3回別々に実行する必要があります。
requirements.yaml
メカニズムにより、Helmは単一のHelmリリースに複数のサブチャートをインストールします。 helm list
はmyproj
を表示するだけですが、内部的には他のコンポーネント用のKubernetesリソースも持っています。 kubectl get service
の場合、同じHelmリリースで管理されているunusual-animal-myproj
やunusual-animal-mongodb
などのサービスオブジェクトが表示されます。 helm del unusual-animal
の場合、3つのコンポーネントすべてが一緒に削除されます。
それがあなたが望む振る舞いであるならば、あなたが得たエラーメッセージはそれが言うことを意味します:ローカルチャートは正確にcharts
という名前のサブディレクトリになければなりません。 helm dep up
またはhelm dep build
を実行すると、そこにコピーされます。