0%

MacOS安装Minikube

前言

Minikube是在个人计算机上的虚拟机中运行单节点Kubernetes集群的工具。
《K8S入门篇》一文中,在Windows系统中安装过Minikube。本文中,我们来学习一下在MacOS系统中安装Minikube。
主要参考再见Docker Desktop,你好 Minikube!

操作步骤

卸载Docker Desktop

卸载Docker Desktop,包括Docker Client、Docker Daemon、Hyperkit等。

1
brew uninstall docker

PS:Docker Desktop安装方法参考《MacOS设置》

安装Docker Client

Docker Client是一个客户端,用于和Docker Daemon进行交互。

1
2
brew install docker
docker info

安装Kubectl

Kubectl是一个客户端,用于和K8S ApiServer进行交互。

1
brew install kubectl

安装Hyperkit

Hyperkit是一种MacOS上的虚拟化工具包,提供Hypervisor(虚拟机监视器,VMM)的能力,使虚拟机可以使用宿主机的资源进行计算。hyper是超级的意思,比super还要高级。

1
2
brew install hyperkit
hyperkid -v

安装Minikube

1
brew install minikube

设定minikube参数

设置CPU和内存的限制。

1
2
minikube config set cpus 3
minikube config set memory 6g

启动Minikube

启动Minikube,部署一个k8s集群。

1
minikube start --kubernetes-version=v1.19.14 --driver=hyperkit --container-runtime=docker

其中:

  • –kubernetes-version 指定K8S版本。
  • –driver 指定虚拟化驱动程序,比如hyperkit、multipass、virtualbox、parallels等。
  • –container-runtime 指定容器运行时,比如docker、containerd、cri-o等。

查看k8s集群

1
2
minikube kubectl get nodes
kubectl get nodes

设置docker环境变量

1
eval $(minikube docker-env)

以上,Minikube安装完成,也可以正常使用Docker。但是,Docker的使用依赖Minikube的启动,这有点坑啊!能不能不启动Minikube,只启动Docker Daemon呢?可以的,使用multipass。之所以不使用virtualbox,是因为virtualbox使用virtualbox驱动,而不是hyperkit。

安装和使用multipass

multipass 是一个轻量虚拟机管理器,是由Ubuntu运营公司Canonical所推出的开源项目。运行环境支持Linux、Windows、macOS,在Linux上使用的是KVM、Window上使用Hyper-V、macOS中使用HyperKit以最小开销运行VM。支持在笔记本模拟小型云。
更多内容参考Multipass官网

安装multipass

1
brew install multipass

创建虚拟机

创建一个ubuntu 18.04虚拟机。

1
2
multipass find
multipass launch -n ubuntu18 -c 1 -m 2G -d 10G 18.04

启停虚拟机

1
2
3
multipass list
multipass stop ubuntu18
multipass start ubuntu18

删除虚拟机

1
2
multipass delete ubuntu18
multipass purge ubuntu18

使用虚拟机

1
2
multipass exec ubuntu18 -- lsb_release -a
multipass shell ubuntu18

安装和使用Docker

在虚拟机中,安装Docker。

1
2
3
sudo su
snap install docker
docker info

需要注意的是,使用snap安装的docker,只在用户目录下拥有读写权限。

比如这个命令是会报错的:

1
2
3
4
5
docker run --name vk-mysql -d \
-p 3306:3306 \
-v /opt/data/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=voidking \
mysql:5.6

报错为:
docker: Error response from daemon: error while creating mount source path ‘/opt/data/mysql’: mkdir /opt/data: read-only file system.

可以改成:

1
2
3
4
5
docker run --name vk-mysql -d \
-p 3306:3306 \
-v /home/work/data/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=voidking \
mysql:5.6

或者卸载snap安装的docker,使用其他方式重新安装。

  • 本文作者: 好好学习的郝
  • 本文链接: https://www.voidking.com/dev-macos-minikube/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!源站会及时更新知识点及修正错误,阅读体验也更好。欢迎分享,欢迎收藏~