minikube
様々な環境にk8sをインストールできる。デフォルトはDockerでk8s in docker環境。
セットアップ
管理用コマンドをインストールする。
minikube start | minikube
Linux/macOS/Windows用それぞれのインストール手順が用意されているので、環境に合わせたバイナリやパッケージを入手してセットアップする。
例えばLinux用バイナリを直接インストールするなら以下の通り。
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
curl -L https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 -o /path/to/minikube
してchmod 755
でも良さそうだけど。
クラスタ作成
minikube start
起動に成功すると$HOME/.kube/config
も更新(既存設定がある場合はマージ)される。
マルチノード(ノード3)の場合
minikube start -n 3
$ kubectl get node
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 89m v1.27.4
minikube-m02 Ready <none> 89m v1.27.4
minikube-m03 Ready <none> 88m v1.27.4
クラスタの状態
$ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
minikube-m02
type: Worker
host: Running
kubelet: Running
minikube-m03
type: Worker
host: Running
kubelet: Running
クラスタの停止
$ minikube stop
これでstatusはstopになる。コンテナの状態はExitedになっており、APIサーバー不在の状態なのでkubectl
コマンドは不通になる。
start
で一応起動するがworkerは再作成されるっぽい?
一時停止と再開はpause
とunpause
コマンドがある。