本書は技術書典6で頒布予定の、CNCFプロダクトの「Helm」についての技術書の無料サンプルです。 本サンプルでは第1章までを提供しています。 HelmはKubernetesのパッケージマネージャーです。 Helmを使うことで、Kubernetes上へのソフトウェアのデプロイが容易になります。 本書はDocker・Kubernetes初心者がHelmを使ってソフトウェアをインストールしたり、テンプレートであるChart(チャート)を自作したりするまでの過程をサポートします。
目次
# はじめに - この本の想定読者 - 本書の流れ - 検証バージョン - サンプルコード - 免責事項 # 第1章 Helmの概要・基本構成 - 具体例で考えるパッケージマネージャーの変遷 - オンプレ・VMのパッケージ管理 - コンテナの利用 - 複数のコンテナの連携 - コンテナオーケストレーションの利用 - Helmの登場 - Helmの特徴・構成 - Helmのアーキテクチャとコンポーネント # 第2章 Kubernetesクラスタ構築・Helmインストール - Kubernetesクラスタの構築の選択肢 - Google Kubernetes Engineの構築 - GCPの有効化 - GKEの構築 - Helmのインストール # 第3章 Helmでアプリケーションをデプロイ - Helmコマンド - Helmコマンド一覧 - Helmコマンド詳細(抜粋) - MySQLとPrometheus/GrafanaをHelmでインストールする - MySQLのインストール - MySQLにアクセスする - values.yamlのデフォルト値を変更してデプロイ - Prometheus/Grafanaのインストール # 第4章 Helm Chartを自作しよう - Chart作成チュートリアル - helm create - Templateファイルの作成 - Templateファイルを変数化 - 組込変数 - Values Fileで変数化 - Template FunctionsとPipelines - フロー制御 - Named Template - GoアプリケーションをChart化する - Helm ChartのTechnical Requirements - Chartを作る順番 - サンプルアプリ(Happy Helming!)とマニフェスト - template化 - helm lintによる静的解析 - helm testによるテスト - Chartのパッケージ - Chartリポジトリへの公開 # 付録A コマンドチートシート(フラグ省略) # 付録B Chart用変数チートシート
対象読者
・Docker, Kubernetesは知っているけれど、Helmを知らない方 ・Docker, Kubernetesを利用しているけれど、Helmは使っていない方 ・Helmを利用しているが、Chartの自作はしたことがないのでやり方を知りたい方
本書を通じてできること
・Helm(v2)の概要,アーキテクチャが理解できる ・Kubernetesクラスタ(GKE)が構築できる ・Helmのコマンドが理解できる ・Helmのコマンドを活用できる ・Helmを使って公式Chartをデプロイできる ・Helm初心者でもHelm Chartを自作できる (Chartに必要な要素を学べる) ※注意点 本書の第4章「GoアプリケーションをChart化する」では、簡単なアプリケーションをサンプルにして、チュートリアル形式でChart自作の過程を掲載しています。 本書は、Helm初心者がChart自作の最初の第一歩を踏み出せることを目標とした難易度ですので、あらかじめご了承ください。 第4章「GoアプリケーションをChart化する」のレベル感としては公式ドキュメントの下記リンクの内容を踏まえて発展させたものになります。 https://helm.sh/docs/chart_template_guide/#the-chart-template-developer-s-guide Helm上級者の方にはコマンドリファレンスとしてもお使いいただけることを想定しています。