Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Use Helm with local Kubernates created in Docker desktop

2025年09月28日に「Dev.to」が公開したITニュース「Use Helm with local Kubernates created in Docker desktop」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Docker Desktopで構築したKubernetes環境で、アプリケーション管理ツール「Helm」を使うためのUbuntuへのインストール手順を解説する。基本的なコマンド操作で簡単に導入できる。

ITニュース解説

現代のソフトウェア開発において、アプリケーションを効率的に開発し、運用するためには、コンテナ技術とオーケストレーションツールが不可欠である。特にKubernetes(クーバネティス)は、コンテナ化されたアプリケーションを大規模に管理するためのデファクトスタンダードとして広く採用されている。しかし、本番環境でKubernetesをいきなり使うのは敷居が高いと感じる初心者も多いだろう。そこで、自分の開発用PC上で手軽にKubernetes環境を構築し、試行錯誤できるツールがDocker Desktopだ。

Docker Desktopは、WindowsやmacOSといったOS上でDockerコンテナを簡単に実行できる統合環境である。これ一つでDocker環境をセットアップできるだけでなく、開発者向けの軽量なKubernetes環境も内蔵している点が大きな特徴だ。この機能により、システムエンジニアを目指す初心者は、複雑な環境構築なしに、自分のローカルPC上で本番に近いKubernetes環境をすぐに利用できるようになる。アプリケーションの開発中に、実際のデプロイ環境をシミュレートしながらテストを行うことは、開発プロセスを効率化し、本番での予期せぬ問題を未然に防ぐ上で極めて重要である。

Kubernetesは、コンテナ化されたアプリケーションのデプロイ、スケーリング、および管理を自動化するオープンソースのプラットフォームである。多数のコンテナから構成される複雑なアプリケーションを、安定して稼働させるための仕組みを提供する。例えば、アプリケーションの負荷が高まった際に自動的にコンテナの数を増やしたり、何らかの障害でコンテナが停止した際に自動的に再起動させたりする機能を備えている。これにより、手動での運用管理の負担を大幅に削減し、システムの可用性と信頼性を高めることが可能となる。

Kubernetesは強力なツールだが、アプリケーションをデプロイする際には、多数の設定ファイル(YAML形式で記述されることが多い)を作成し、それらを適切に管理する必要がある。これは、アプリケーションの規模が大きくなればなるほど、手間と複雑さが増大する。この課題を解決するために登場するのがHelm(ヘルム)である。HelmはKubernetesのためのパッケージマネージャーであり、アプリケーションとその関連するすべての設定ファイルを「Helmチャート」という一つのまとまり(パッケージ)として管理できる。これにより、複雑なKubernetesアプリケーションのデプロイ、更新、ロールバックといったライフサイクル管理を非常に簡素化することが可能となる。ちょうどOSのパッケージマネージャー(aptやyumなど)がソフトウェアのインストールを容易にするように、HelmはKubernetes上のアプリケーションの管理を容易にするのだ。

開発者は、Docker Desktopで稼働するローカルKubernetes環境とHelmを組み合わせることで、本番環境と類似した状態でアプリケーションを開発・テストできる。これにより、開発中の試行錯誤が容易になり、開発速度の向上や品質の確保に貢献する。ニュース記事で示されているのは、このHelmをUbuntuというLinux系OSにインストールするための具体的な手順である。これらのコマンドを理解し、実際に実行することは、現代のシステム開発において重要なスキルを習得する第一歩となる。

それでは、Helmのインストール手順を具体的に見ていこう。まず、最初のコマンド sudo apt-get install curl gpg apt-transport-https --yes は、Helmのインストールに必要な補助ツール群を導入する作業である。sudoは「スーパーユーザー権限で実行する」という意味で、システムの設定変更やソフトウェアのインストールに必要となる。apt-get installは、UbuntuなどのDebian系のOSでソフトウェアパッケージをインストールするためのコマンドだ。 curlは、指定したURLからデータをダウンロードするためのコマンドラインツールである。今回はHelmのGPG(GNU Privacy Guard)キーというセキュリティ情報をダウンロードするために使用する。 gpgは、ダウンロードしたファイルの署名を検証するためのツールだ。これにより、ダウンロードしたパッケージが悪意のある第三者によって改ざんされていないかを確認し、ソフトウェアの信頼性を保証できる。 apt-transport-httpsは、apt-getコマンドがHTTPS(暗号化された安全な通信プロトコル)経由でソフトウェアパッケージを取得できるようにするための拡張機能である。これにより、安全な通信経路でパッケージをダウンロードすることが可能になる。 --yesオプションは、インストール中に表示される確認メッセージ(例:「本当にインストールしますか?」)に対して、自動的に「はい」と答えることで、インストールプロセスを中断なく進めるためのものだ。

次に、やや長く見えるコマンド curl -fsSL https://packages.buildkite.com/helm-linux/helm-debian/gpgkey | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null は、HelmのリポジトリのGPG公開鍵をダウンロードし、システムに登録する手順である。 curl -fsSL https://packages.buildkite.com/helm-linux/helm-debian/gpgkey の部分で、Helmのパッケージを提供しているビルドカイト社のサーバーから、Helmの公開鍵をダウンロードしている。-fはHTTPエラー発生時にサイレントに終了する、-sは進行状況メーターなどの出力を非表示にする、-Sはエラー発生時にエラーメッセージを表示する、-Lはリダイレクトを追跡する、といったオプションである。 ダウンロードされた鍵データは、|(パイプ)を使って次のコマンド gpg --dearmor に渡される。--dearmorオプションは、ASCII形式でエンコードされたGPG鍵データを、システムが読み取れるバイナリ形式に変換する。 さらにパイプで sudo tee /usr/share/keyrings/helm.gpg に渡され、変換されたGPG鍵データが /usr/share/keyrings/helm.gpg というファイルに保存される。teeコマンドは、標準入力から受け取ったデータをファイルに書き込むと同時に、標準出力にも出力するが、ここでは > /dev/null を付加することで、標準出力への表示を抑制している。このGPG鍵をシステムに登録することで、後でインストールするHelmパッケージが、この鍵で正しく署名されているかどうかをシステムが検証できるようになり、セキュリティが強化される。

次のコマンド echo "deb [signed-by=/usr/share/keyrings/helm.gpg] https://packages.buildkite.com/helm-linux/helm-debian/any/ any main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list は、Helmのソフトウェアパッケージがどこにあるかをシステムに教えるためのリポジトリ情報を追加する作業だ。 echo "..." は、引用符で囲まれた文字列を標準出力に出力するコマンドである。この文字列は、Helmのパッケージが配置されているリポジトリのURLと、そのリポジトリのパッケージが先ほど登録したGPG鍵で署名されていることを示す情報を含んでいる。 出力されたリポジトリ情報は、| sudo tee /etc/apt/sources.list.d/helm-stable-debian.list を使って /etc/apt/sources.list.d/ ディレクトリ内の helm-stable-debian.list というファイルに書き込まれる。このディレクトリに配置されたファイルは、apt-getコマンドがソフトウェアパッケージを探しに行くリポジトリのリストに追加される。signed-by=/usr/share/keyrings/helm.gpg の指定は、このリポジトリからダウンロードされるパッケージが、このGPG鍵で署名されていることを強制し、セキュリティと信頼性を一層高める。

sudo apt-get update コマンドは、非常に重要な手順である。これは、新しく追加されたHelmのリポジトリを含む、システムが設定しているすべてのソフトウェアリポジトリから、利用可能なパッケージのリストを最新の状態に更新するコマンドである。このコマンドを実行しないと、apt-get installコマンドがHelmパッケージを見つけることができず、インストールに失敗してしまう可能性がある。

そして最後のコマンド sudo apt-get install helm が、いよいよHelm本体をシステムにインストールする。apt-get updateで更新されたパッケージリストの中からHelmパッケージを特定し、ダウンロードしてシステムに導入するのだ。このコマンドの実行が完了すれば、Ubuntu環境にHelmが正常にインストールされ、Docker Desktopで起動したローカルKubernetes環境と組み合わせて利用する準備が整う。

これらのステップを通じて、システムエンジニアを目指す初心者は、単にコマンドを打ち込むだけでなく、その背後にある意味、すなわちコンテナ技術、オーケストレーション、パッケージ管理、そしてセキュリティといった現代のITインフラを支える重要な概念を理解できるようになる。実際に手を動かしてこれらのツールを導入し、利用する経験は、将来のキャリアにおいて非常に貴重な基盤となるだろう。

関連コンテンツ

関連IT用語

関連ITニュース