目次
Kubernetes を学ぶ必要性が出てきたので、GCP の GCE 上に minikube をインストールしていろいろ試す環境を作ってみることにしました。
環境
- GCP
- GCE
- Machine type : e2-medium
- Zone : us-central1-a
- Image : centos-7-v20210401
- GCE
- OS
- CenOS 7
minikube をセットアップする
GCE インスタンスを作成する
特別な設定は行わずに、GCE インスタンスを作成します。
環境 に記載した内容で、設定はディフォルトのままです。
前提の環境を整える
minikube を使うために必要な各種ソフトウェアなどをインストールしていきます。
インストールするものは、以下です。
- conntrack
- yum-utils
- device-mapper-persistent-data
- lvm2
- docker-ce
- docker-ce-cli
- container.io
- kubectl
こんな感じでインストールしました。
$ sudo yum update -y
$ sudo yum upgrade -y
$ sudo yum install -y conntrack
$ 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 -y docker-ce docker-ce-cli containerd.io
$ sudo systemctl enable docker && sudo systemctl start docker
$ sudo yum install -y kubectl
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.0", GitCommit:"cb303e613a121a29364f75cc67d3d580833a7479", GitTreeState:"clean", BuildDate:"2021-04-08T16:31:21Z", GoVersion:"go1.16.1", Compiler:"gc", Platform:"linux/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?
Docker については、自分の個人アカウントでも操作できるようにしておきました。
$ sudo usermod -aG docker $USER
minikube をインストールする
いよいよ minikube をインストールします。
$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
$ sudo cp -i minikube /usr/local/bin/
$ minikube version
minikube version: v1.19.0
commit: 15cede53bdc5fe242228853e737333b09d4336b5
続けて、socat と ebtables もインストールしておきます。
$ sudo yum -y install socat ebtables
また、sudo 時に /usr/local/bin への PATH が通るように設定しておきます。
$ sudo visudo
※88行目
# Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/local/bin:/usr/bin
minikube を起動する
インストールが完了したら、minikube を起動してみましょう。
$ sudo /usr/local/bin/minikube start --vm-driver=none
😄 minikube v1.19.0 on Centos 7.9.2009 (amd64)
✨ Using the none driver based on user configuration
👍 Starting control plane node minikube in cluster minikube
🤹 Running on localhost (CPUs=2, Memory=3788MB, Disk=20268MB) ...
ℹ️ OS release is CentOS Linux 7 (Core)
> kubectl.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s
> kubelet.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s
> kubeadm.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s
> kubeadm: 37.40 MiB / 37.40 MiB [-----------] 100.00% 267.53 MiB p/s 339ms
> kubectl: 38.37 MiB / 38.37 MiB [-----------] 100.00% 185.19 MiB p/s 407ms
> kubelet: 108.73 MiB / 108.73 MiB [---------] 100.00% 255.18 MiB p/s 626ms
▪ Generating certificates and keys ...
▪ Booting up control plane ...
▪ Configuring RBAC rules ...
🤹 Configuring local host environment ...
❗ The 'none' driver is designed for experts who need to integrate with an existing VM
💡 Most users should use the newer 'docker' driver instead, which does not require root!
📘 For more information, see: https://minikube.sigs.k8s.io/docs/reference/drivers/none/
❗ kubectl and minikube configuration will be stored in /root
❗ To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run:
▪ sudo mv /root/.kube /root/.minikube $HOME
▪ sudo chown -R $USER $HOME/.kube $HOME/.minikube
💡 This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true
🔎 Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟 Enabled addons: default-storageclass, storage-provisioner
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
無事に起動はしたようです。
$ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
今回はここまでということで、停止しておきます。
$ sudo minikube stop
ここから先は、また別でまとめてみようと思います。