第6章 高度なチャート機能 高度なチャート機能
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
チャートには、チャートに関するメタデータやテンプレートのコレクション以上のものがある。チャートには依存関係があり、値にはスキーマがあり、Helmにはライフサイクルフックがあり、チャートに署名することができる。この章では、テンプレート以外のチャートの要素について学ぶ。
これらの機能は、パッケージのビルド時に発生する一般的な問題に対する強力な解決策を提供する。この章では、まず依存関係について説明する。依存関係は、事実上すべてのパッケージ管理ソリューションの重要な部分である。なぜなら、依存関係は、あなたのソリューションで既存のパッケージを活用し、他の人の仕事を基に構築することを可能にするからである。続いてスキーマとバリデーションについて説明し、ユーザが問題を回避するのを手助けしたいときに便利な、Helm が実行するプロセスにフックしてカスタムアクションを実行する方法について説明する。テストはソフトウェアが期待通りに実行されていることを確認するため、開発には欠かせないものだ。Helmは一般的な脅威のパスを緩和するためのセキュリティ機能を提供している。この章では、Kubernetes APIを拡張するためにチャートをどのように使用できるかを見て締めくくる。
この章を通して、https://github.com/masterminds/learning-helm/blob/main/chapter6 で参照できる例として図表を見ることができる。この章では、Helmリポジトリとともにさまざまな機能を紹介する。
チャートの依存関係
依存関係は、パッケージ・マネージャーとそのパッケージに共通する要素である。チャートは他のチャートに依存することができる。これによって、チャートにサービスをカプセル化し、チャートを再利用し、複数のチャートを一緒に使うことができる。
依存関係を説明するために、人気のある ブログソフトウェアであるWordPressをインストールする図を考えてみよう。WordPressは、ブログのコンテンツ、ユーザ、その他の設定を保存するために、MySQL準拠のデータベースに依存している。MySQL準拠のデータベースは、他のアプリケーションで使用したり、サービスとして消費したりすることができる。WordPressでMySQLを使用する1つの方法は、WordPressチャートにMySQL用のマニフェストを置くことである。もうひとつの方法は、WordPressのチャートがMySQLに依存しているのに対して、MySQLのチャートが独立していることだ。MySQLに準拠したデータベースを独立したチャートとして持つことで、複数のアプリケーションで使用することができ、データベースを独立して構築し、テストすることができる。
依存関係はChart.yamlファイルで指定される。以下は、rocketという名前のチャートのChart.yamlファイルの dependencies セクションである:
dependencies:-name:boosterversion:^1.0.0