【第2回】1台からできるKubernetesテスト環境「minikube」のインストール

Docker/Kubernetes入門【第2回】

こんにちは、汐留みずほです。

「Docker/Kubernetes入門」と題して、Docker/Kubernetesについてわかりやすくまとめていく本連載、第2回となる今回は、1台でKubernetes環境が構築できる「minikube」のインストール手順をご紹介します。

Kubernetesのメリットをおさらい

Kubernetesのメリットとして、以下のようなものが挙げられます。

  • 拡張性
    クラスタのリソースが足りなくなってもNodeを増やすことにより拡張可能
    コンテナの負荷が増大したときは自動でスケールする
  • 耐障害性
    コンテナに障害が発生しても自動で復旧させる
    Nodeに障害が発生した場合はコンテナを正常なNodeに移動させる
このほかにMicroservices間のルーティング等もありますが、ここでは省略します。

Kubernetesクラスタは、通常MasterNodeとWorkerNode複数台で構成されます。環境構築のためには複数台のサーバを用意する必要があります。近年はクラウドサービスの普及で複数台のサーバを容易に用意することができたり、Kubernetesのマネージドサービスが利用できたりするため、環境を用意する敷居は下がりました。今回はより手軽にKubernetesを体感していただこうと、1台ではじめられるKubernetes環境「Minikube」を作成したいと思います。

Minikubeとは

MinikubeはKubernetesの検証や開発者のために、簡単にKubernetesを実行できるツールです。シングルノードのKubernetesクラスタを実行します。
本手順の検証はUbuntu16.04 がインストールされた[さくらのVPS](https://vps.sakura.ad.jp/)上でおこなっています。

Dockerのインストール

以下のコマンドを入力し、Dockerをインストールします。

apt update
apt install -y curl
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh

Minikubeのインストール

以下のコマンドを入力し、Minikubeをインストールします。

curl -Lo minikube https://github.com/kubernetes/minikube/releases/download/v0.25.2/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

Minikubeのインストール

Kubernetes APIを実行するコマンドラインツール kubectlをインストールします。

apt update && sudo apt install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo deb http://apt.kubernetes.io/ kubernetes-xenial main >> /etc/apt/sources.list.d/kubernetes.list
apt update
apt install -y kubectl

Minikubeの起動

以下のコマンドを入力し、Minikubeを起動します。

sudo minikube start --vm-driver=none
sudo chown -R $USER.$USER $HOME/.kube
sudo chown -R $USER.$USER $HOME/.minikube

動作確認

動作確認用のWebサーバコンテナを起動させます。4行目のcurlコマンドを入力した際に、応答があればインストールは成功です。

kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8080
kubectl expose deployment hello-minikube --type=NodePort
kubectl get pod
curl $(minikube service hello-minikube --url)

次回はMinikube環境でKubernetesを体感する手順をご紹介します。