たねやつの木

Photographs, Keyboards and Programming

【Kubernetesを学ぶ:2日目】ローカル環境にKubernetesクラスタを構築する

こんにちは、たねやつです。

前回はKubernetesの概念とアーキテクチャについて学びました。理論を学んだら、次は実践です。 今回は、自分のPC上にKubernetesの動作を検証するためのローカルクラスタを構築します。これにより、クラウドサービスを使わなくても、手軽にKubernetesを試すことができます。

前の記事

www.taneyats.com

この記事でできること

  • ローカル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を実行した際に、STATUSReadyとなっているノードが1つ表示されれば、Kubernetesクラスタが正常に稼働している証拠です。

最後に

お疲れ様でした!今回は、Minikubeを使って手元のPCに自分だけのKubernetesサンドボックス環境を構築しました。 これで、コンテナをデプロイするための舞台は整いました。

次回は、いよいよkubectlコマンドを使って、この新しい舞台の様子を詳しく見ていきます。

次の記事

www.taneyats.com