Kubernetes公式から引用すると
Minikubeはローカル環境でKubernetesを簡単に実行するためのツールです。Kubernetesを試したり日々の開発への使用を検討するユーザー向けに、PC上のVM内でシングルノードのKubernetesクラスタを実行することができます。
https://kubernetes.io/ja/docs/setup/learning-environment/minikube/
ふむふむ。ローカル環境のシングルノードでKubernetes開発が行えるツールとな?
早速、インストールしてみました。
# curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
# sudo install minikube-linux-amd64 /usr/local/bin/minikube
# minikube start をrootで実行しようとしたら『「docker」ドライバーはroot権限で使用すべきではありません』と言われて怒られてしまったのでユーザー権限で実行すると起動が始まりました。
$ minikube start
😄 Centos 7.9.2009 上の minikube v1.25.2
✨ docker ドライバーが自動的に選択されました。他の選択肢: none, ssh
👍 minikube クラスター中のコントロールプレーンの minikube ノードを起動しています
🚜 ベースイメージを取得しています...
💾 Kubernetes v1.23.3 のダウンロードの準備をしています
> preloaded-images-k8s-v17-v1...: 505.68 MiB / 505.68 MiB 100.00% 52.78 Mi
> gcr.io/k8s-minikube/kicbase: 379.06 MiB / 379.06 MiB 100.00% 9.36 MiB p/
🔥 docker container (CPUs=2, Memory=7900MB) を作成しています...
🐳 Docker 20.10.12 で Kubernetes v1.23.3 を準備しています...
▪ kubelet.housekeeping-interval=5m
▪ 証明書と鍵を作成しています...
▪ コントロールプレーンを起動しています...
▪ RBAC のルールを設定中です...
🔎 Kubernetes コンポーネントを検証しています...
▪ gcr.io/k8s-minikube/storage-provisioner:v5 イメージを使用しています
🌟 有効なアドオン: storage-provisioner, default-storageclass
💡 kubectl が見つかりません。kubectl が必要な場合、'minikube kubectl -- get pods -A' を試してください
🏄 完了しました! kubectl が「"minikube"」クラスタと「"default"」ネームスペースを使用するよう構成されました
ところがしばらくすると「kubectl が見つかりません。kubectl が必要な場合、’minikube kubectl — get pods -A‘ を試してください」と kubectlのインストールを強くお勧めされたのでいわれた通りに実行しました。
$ minikube kubectl -- get pods -A
$ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
$ minikube status コマンドでステータス running と表示されたので $ kubectl version –client コマンドでバージョンを確認すると、「kubectl: コマンドが見つかりません」とのこと。くぅ~ん。
Linuxへkubectlをインストールする | Kubernetes からインストールコマンドを参照して
$ curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
$ chmod +x ./kubectl
$ sudo mv ./kubectl /usr/local/bin/kubectl
今度は無事、バージョンが表示されました。
$ kubectl version --client
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.5", GitCommit:"c285e781331a3785a7f436042c65c5641ce8a9e9", GitTreeState:"clean", BuildDate:"2022-03-16T15:58:47Z", GoVersion:"go1.17.8", Compiler:"gc", Platform:"linux/amd64"}
サービス停止するには minikube stop です。
$ minikube stop
お疲れ様でした。