Ubuntu系統安裝Minikube教程
說明
最近在看《Quick Start Kubernetes》,書上使用的是 Docker Desktop 和 Linode Kubernetes Engine(LKE) 進行演示,但是實際開發中都不可能用到這兩個工具,所以本人使用 minikube 進行操作。
系統:WSL Ubuntu 22.0。
安裝
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64
注:
1.安裝流程參考:https://minikube.sigs.k8s.io/docs/start
2.某些服務器可能訪問不了外部網絡,那么先在能訪問外部網絡的地方下載好二進制文件(下載地址:https://github.com/kubernetes/minikube/releases/),然后再將二進制文件上傳到服務器。
啟動
- 方式一:使用 root 帳號啟動
minikube start
可能會遇到問題:Exiting due to DRV_AS_ROOT:
# minikube start
?? minikube v1.35.0 on Ubuntu 22.04 (amd64)
? Automatically selected the docker driver. Other choices: none, ssh
?? The "docker" driver should not be used with root privileges. If you wish to continue as root, use --force.
?? If you are running minikube within a VM, consider using --driver=none:
?? https://minikube.sigs.k8s.io/docs/reference/drivers/none/
? Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.
解決方法:添加 --driver=none:
sudo minikube start --driver=none
可能會繼續遇到問題:Exiting due to NOT_FOUND_CRI_DOCKERD:
# minikube start --drive=none
Error: unknown flag: --drive
See 'minikube start --help' for usage.
root@LAPTOP-5PGRQ2IO:/www# minikube start --driver=none
?? minikube v1.35.0 on Ubuntu 22.04 (amd64)
? Using the none driver based on existing profile
?? Starting "minikube" primary control-plane node in "minikube" cluster
?? Restarting existing none bare metal machine for "minikube" ...
?? Exiting due to NOT_FOUND_CRI_DOCKERD:
?? Suggestion:
The none driver with Kubernetes v1.24+ and the docker container-runtime requires cri-dockerd.
Please install cri-dockerd using these instructions:
https://github.com/Mirantis/cri-dockerd
解決方法:安裝cri-dockerd:
curl -LO https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.16/cri-dockerd_0.3.16.3-0.ubuntu-jammy_amd64.deb sudo dpkg -i cri-dockerd_0.3.16.3-0.ubuntu-jammy_amd64.deb
最后,再次執行啟動命令:
minikube start --driver=none
注:啟動需要一定的時間,耐心等待,不要強行結束。
總結
從本次安裝 minikube 過程收獲兩點:
1.搞懂每個命令的作用是什么。例如上面的 curl 是從 github 下載二進制文件,但如果你的網絡不行怎么辦?那就想辦法從其它地方下載這個二進制文件,不必非得按照教程演示的使用 curl 命令。
2.先動起來再完善。例如啟動 minikube 的時候會提示“The "docker" driver should not be used with root privileges”,但如果你不用 root 用戶去啟動,那么你就得花更多的時間解決權限相關的問題。個人認為先把 minikube 跑起來,運行書上的例子,再去考慮其它的。
參考資料
1.docs: https://minikube.sigs.k8s.io/docs/start
2.source code: https://github.com/kubernetes/minikube

歡迎搜索及關注:編程人(a_codists)
浙公網安備 33010602011771號