mintsu's blog

VPSにminikubeを入れて失敗した話

2019-03-11 23:00:00
Kubernetes

VPSにminikubeを入れて失敗した話

あまり活用していない、さくらのVPSサーバを持っていたので、そこに学習用にkubernetesを入れていろいろ使えたら便利だなーと思って導入を試みました。
結果的にVPSのスペックが低すぎて、まともに動きませんでした。。。

失敗談としてメモを残しておきます。

目次

環境

VPSサーバ さくらのVPS 1Gプラン
メモリ 1G
HDD 100GB
CPU 仮想2Core
OS CentOS 7.6

準備

kubectlのインストール

参考: Install and Set Up kubectl

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl

Docker CE のインストール

minikubeを立ち上げる際にdockerが必要となるようなので、ここで入れておきます。

参考: Get Docker CE for CentOS

必要なパケージのインストール

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

リポジトリの追加

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

インストール

sudo yum install docker-ce docker-ce-cli containerd.io

docker の起動

sudo systemctl start docker

動作確認

sudo docker run hello-world

Hello Worldが問題なく動けばDocker ceのインストールは完了です

minikubeのインストール

参考: Install Minikube

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
  && chmod +x minikube
sudo cp minikube /usr/local/bin && rm minikube

minikubeの起動

sudo /usr/local/bin/minikube start --vm-driver=none

--vm-driver=noneを使うときはいろいろと注意点があるので気をつけたほうがいいかもしれません。
https://github.com/kubernetes/minikube/blob/master/docs/vmdriver-none.md

podの配置まで試してみる

参考: Tutorials - Kubernetes

deploymentの作成

kubectl run kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 --port=8080

起動したpodを確認

kubectl get pods

pod のアプリケーションをcurlで叩いてみる

kubectl exec -ti $POD_NAME bash
curl localhost:8080
exit

curl localhost:8080のときに下記のような実行結果が出ます

Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-6bf84cb898-6bt2z | v=1

これで一応アプリケーションが動くところまでは確認できました.
ただし、サーバの動作がかなり重くなってしまいました。

この時点のloadを見ると5~10あたりをウロウロしていて、まともにアプリケーションが動くような状態ではなかったです。

podを増やしたりすると、更に重くなるのでほぼ使えないです。。

まとめ

  • VPS上でもminikubeの構築はできた
  • さくらのVPS1Gのスペックで動かすのはきびしい
  • kubernetesの必要とするスペックが思った以上に高かった

今回学習用に立てようと思いましたが、ちょっと実用レベルにはならなかったので、別の方法を考えていきたいと思います。