Posted at

さくらのVPSにMinikubeをセットアップするスタートアップスクリプトを書いた


Minikubeとは

MinikubeはKubernetesの検証や開発者のために、簡単にKubernetesを実行できるツールです。シングルノードのKubernetesクラスタを実行します。


スタートアップスクリプト

今回はさくらのVPS上にMinikubeをセットアップするスタートアップスクリプトを書きました。コントロールパネルからスクリプト→カスタムスクリプトの追加をクリックし、以下のスクリプトをコピーアンドペーストします。対応OSはUbuntu16.04です。

#!/bin/bash

set -x

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

#Install minikube
cat /etc/lsb-release
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/

#Install 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の起動

VPSが起動したら、SSHでログインして以下のコマンドを入力します。

$ sudo minikube start --vm-driver=none

$ sudo chown -R $USER.$USER $HOME/.kube
$ sudo chown -R $USER.$USER $HOME/.minikube


動作確認

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)