こんにちは、たねやつです。
前回はKubernetesの概念とアーキテクチャについて学びました。理論を学んだら、次は実践です。 今回は、自分のPC上にKubernetesの動作を検証するためのローカルクラスタを構築します。これにより、クラウドサービスを使わなくても、手軽にKubernetesを試すことができます。
前の記事
この記事でできること
- ローカルKubernetesクラスタの主な選択肢を理解できる。
- Minikubeをインストールし、ローカルにKubernetesクラスタを起動できる。
kubectlコマンドをインストールし、クラスタに接続できることを確認する。
ローカルクラスタの選択肢
ローカルPC上でKubernetesクラスタを構築するには、いくつかのツールが存在します。
| ツール | 特徴 | こんな人におすすめ |
|---|---|---|
| Minikube | シングルノードのKubernetesクラスタをVMやコンテナ内に簡単に作成できる、最も古くからあるツール。 | 初めてKubernetesを学ぶ人、標準的な機能を試したい人。 |
| k3d / k3s | Rancher社が開発した軽量なKubernetesディストリビューション。Dockerコンテナ内で高速にクラスタを起動できる。 | CI/CDでの利用や、素早くクラスタの作成・破棄を繰り返したい人。 |
| Docker Desktop | Windows/Mac向けのDocker Desktopに内蔵されているKubernetes機能。チェックボックスをONにするだけで有効化できる。 | Docker Desktopをすでに利用しており、最も手軽に始めたい人。 |
このロードマップでは、特定のツールへの依存を避け、Kubernetesの標準的な機能を学ぶために、Minikubeを利用してクラスタを構築します。
環境構築
1. kubectlのインストール
kubectlは、Kubernetesクラスタを操作するための公式コマンドラインツール(CLI)です。これをまずインストールします。
2023年にKubernetesのパッケージリポジトリが新しいもの(pkgs.k8s.io)に移行したため、ここでは新しい手順でインストールを行います。
Debian/Ubuntu環境では、以下のコマンドでインストールできます。
# 1. aptパッケージのインデックスを更新し、https経由でリポジトリを使用するために必要なパッケージをインストール sudo apt-get update sudo apt-get install -y ca-certificates curl # 2. GPGキーをダウンロードし、aptが認識できる形式に変換して保存 sudo curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg # 3. Kubernetesのaptリポジトリを追加 echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list # 4. aptパッケージのインデックスを更新し、kubectlをインストール sudo apt-get update sudo apt-get install -y kubectl
インストール後、バージョンを確認しておきましょう。
kubectl version --client Client Version: v1.30.14 Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
2. Minikubeのインストール
次に、ローカルクラスタ本体であるMinikubeをインストールします。今回はWSL2上のDebian環境を想定しています。
# Minikubeの実行ファイルをダウンロード curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb # インストール sudo dpkg -i minikube_latest_amd64.deb # チェック minikube version minikube version: v1.36.0 commit: f8f52f5de11fc6ad8244afac475e1d0f96841df1-dirty
ローカルクラスタの起動と確認
準備が整ったので、いよいよクラスタを起動します。
1. Minikubeクラスタの起動
以下のコマンドを実行して、Minikubeクラスタを起動します。 Minikubeは内部でコンテナやVMを起動するため、Dockerがインストールされ、起動している必要があります。
minikube start
初回起動時は、Kubernetesのコンポーネントイメージのダウンロードなどが行われるため、数分かかることがあります。
Done! kubectl is now configured to use "minikube" cluster... のようなメッセージが表示されれば成功です。
2. クラスタの状態確認
kubectlコマンドを使って、クラスタが正しく構築されているか確認しましょう。
# クラスタの情報を表示 kubectl cluster-info # クラスタを構成するノードの一覧を表示 kubectl get nodes
kubectl get nodesを実行した際に、STATUSがReadyとなっているノードが1つ表示されれば、Kubernetesクラスタが正常に稼働している証拠です。
最後に
お疲れ様でした!今回は、Minikubeを使って手元のPCに自分だけのKubernetesサンドボックス環境を構築しました。 これで、コンテナをデプロイするための舞台は整いました。
次回は、いよいよkubectlコマンドを使って、この新しい舞台の様子を詳しく見ていきます。