web-dev-qa-db-ja.com

HelmはYAMLファイルをローカルにエクスポートします(テンプレートエンジンのみを使用し、Kubernetesに送信しないでください)

既にテンプレート化されている Helm ChartsをYAMLファイルとしてエクスポートしたい。現在、Kubernetes ClusterでTillerを使用することはできませんが、それでもヘルムチャートを使用したいです。基本的に、Kelbernetes APIに送信されるYAMLをHelmでエクスポートし、Helmによってテンプレート化された値をエクスポートします。その後、YAMLファイルをKubernetesクラスターにアップロードします。

.\helm.exe install --debug --dry-run incubator\kafkaを実行しようとしましたが、エラーError: Unauthorizedが表示されます。

Windows(バージョンhelm-v2.9.1-windows-AMD64)でHelmを実行していることに注意してください。

10
j9dy

Unauthorizedの問題を確認するにはログが必要です。

ただし、テンプレートをローカルで簡単に生成できます。

helm template mychart

チャートテンプレートをローカルでレンダリングし、出力を表示します。

これにはTillerは必要ありません。ただし、通常はクラスタ内で検索または取得される値はローカルで偽装されます。さらに、チャートの有効性のサーバー側のテスト(APIがサポートされているかどうかなど)は行われません。

詳細: https://docs.helm.sh/helm/#helm-template

19
Amrit Bera

Amrit Beraのソリューションは、ローカルヘルムチャートでのみ機能します。リモートヘルムチャートで機能する質問の詳細に応じて、これはHelm v3(現在進行中の作業)に追加される機能です。

RehanSaeedは次の回避策を投稿しました( https://github.com/helm/helm/issues/4527

基本的に:

mkdir yamls
helm fetch --untar --untardir . 'stable/redis' #makes a directory called redis 
helm template --output-dir './yamls' './redis' #redis dir (local helm chart), export to yamls dir

これの良い点は、この手法とgit opsのweaveworksフラックスを混合できることです。これにより、Tillerプラグイン(Tillerをローカルで実行できますが、スムーズに動作しません)に加えて、TillerなしでHelm v2を使用する別のオプションが提供されます)。

4
neokyle

helm install --helpから直接

To check the generated manifests of a release without installing the chart,
the '--debug' and '--dry-run' flags can be combined. This will still require a
round-trip to the Tiller server.
2
George Miller