Nativeチートシート(4)Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、Helmチャートを作成して、リポジトリに公開する方法などについて。岡本隆史,株式会社NTTデータ]この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。Nativeチートシート」。前回は概要や使い方といった、ユーザー目線でKubernetes向けのパッケージマネジャー「Helm」(ヘルム)を紹介しましたが、今回はHelmチャートを作成して、リポジトリに公開する方法など提供者目線で紹介します。前回紹介したように、Helmでは「チャート」という設定ファイル群でKubernetesの全てのマニフェストを管理します。公開されているリポジトリからチャートをカスタマイズしながらインストール(デプロイ)できます。それに加えて、自身のアプリケーションをチャートとして公開することもできます。公開することで、自身のアプリケーションを稼働させるために必要なリソース群を、第三者のユーザーにも容易に一括でデプロイし管理してもらうことができます。環境によってカスタマイズしてほしい箇所のみを「values.yaml」として切り出すことができます。これらによって、より広くアプリケーションの活用を促すことができます。前回記事最後の補足で、チャートについて簡単に説明しました。チャートの実体は「.tgz」形式で圧縮された複数ファイル群です。詳しくは次回、チャート作成を説明する際に解説しますが、tgzを解凍すると、チャートには環境共通のKubernetesリソースYAMLのテンプレートを配置する「templates」ディレクトリ、テンプレート内で変数化されているパラメーターのデフォルト値を定義するYAMLファイル(values.yaml)などが含まれます。チャートの構成概略(前回の再掲)もう少し詳しくファイルの構成を見ていきましょう。create」コマンドでサンプルのチャートを作成できるので確認します。chartsディレクトリやファイルが幾つか作成されたのを確認できました。それぞれの要素を説明します。「values.yaml」にはマニフェストテンプレート内で使う変数(後述)の定義が記載されています。前回説明した通り、Helmでは「パラメーター」として定義されている値を指定することで、それぞれの利用者の環境向けにカスタマイズできます。「Deployment」のレプリカ数を変更したり、デプロイされるコンポーネントをコンポーネントごとに有効/無効にしたりするなどのカスタマイズが挙げられます。「templates」ディレクトリ下には主にKubernetesリソースのマニフェストテンプレートを配置します。テンプレートとは、言葉の通り、最終的にKubernetesに送られるマニフェストの元となるファイルです。テンプレートのベースはマニフェストYAMLですが、要所を変数化しておくことで後からカスタマイズ可能にしておきます。helmコマンド実行時にテンプレートエンジンに送られ、values.yaml内の変数定義を展開して、最終的なマニフェストが生成され、最終的にKubernetesに送信されます。※「NOTES.txt」とファイル名が「_」から始まるファイル(ヘルパーファイル)はテンプレートエンジンには送られません。templatesディレクトリには、下記のようにマニフェストテンプレートなど数種類のファイルが含まれています。test-connection.yamlここからそれぞれのファイルについて説明します。設定を有効にする必要があります。2020」における発表内容や日本市場での取り組みについて説明した。4.4の新機能についても取り上げる。Kubernetesを手元で試せる「Minikube」「MicroK8s」とは「コンテナ技術」やコンテナ実行環境の「Docker」、大量のコンテナ管理や負荷分散を実現する「Kubernetes」について概要から本番活用の仕方まで解説する「これから始める企業のためのコンテナ実践講座」。第4回は、Kubernetesのパッケージマネジャー「Helm」と手元で試せる「Minikube」「MicroK8s」を紹介します。2018でも多くの参加者が口にしている。KubernetesコミュニティーとCNCFはどう対応しようとしているか。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。