Minikube 是什么
Minikube是一个可以快速构建一个单节点本地运行Kubernetes环境的一个工具,它专注于让快速创建本地Kubernetes环境,用于学习和开发。
抛去多集群有关的特性,Minukube构建的单节点集群,足以使用户探索和发现Kubernate的绝大多数主要功能。如果你使用的是minikube, 注意, 你面对的minikube就是一个集群, 它有自己的IP, 可以采用
minikube ip
进行访问, 也就意味着minikube就是一个服务器, 那就是它的公网IP.
Minikube 只能通过NodePort
公开服务。EXTERNAL-IP
始终处于挂起状态
Minikube 安装
Minikube支持安装在OSX, Windows, Linux.
本篇文章是按照安装MacOS来写的,其他操作系统请参考:
安装Minikube
通过Homebrew安装在本地mac上
最简单的安装方式Homebrew, 如果系统没有安装brew工具请参考之前的文章。
1 | brew install minikube |
通过Git安装
安装docker
目前看只有Docker Desktop for Mac (macOS)可以下载.
安装 kubectl(K8s的CLI工具)
1 | brew install kubectl |
安装虚拟机管理器
安装hyperkit (适合x86_64机器)
1 | brew install hyperkit |
问题:Mac M1: hyperkit not supported
如果在Mac M1上brew install hyperkit
, 报错
1 | brew install hyperkit |
解决方法:
安装qemu (兼容MAC M1)
- Mac M1: hyperkit not supported
- HyperKit is Intel-only, so the alternative to QEMU will be the new Virtualization.framework driver
brew install qemu
minikube start --driver=qemu --memory=4Gb
- HyperKit is Intel-only, so the alternative to QEMU will be the new Virtualization.framework driver
运行Minikube
1 | minikube start --driver=hyperkit |
或者
1 | # Mac M1 |
如果没有VPN,为了解决海外资源访问受限问题,可以使用阿里云提供的镜像地址。具体命令如下:
$ minikube start
–cpus=4
–memory=‘6000mb’
–image-mirror-country=‘cn’
–image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers’
命令参数说明如下:
–cpus=4:表示为minikube分配的CPU核数;
–memory=‘6000mb’:表示为minikube虚拟机分配的内存数;
–image-mirror-country=‘cn’:将缺省利用"registry.cn-hangzhou.aliyuncs.com/google_containers"作为安装Kubernetes的容器镜像仓库;
–image-repository=“xx”:表示所使用的镜像仓库地址,这里为阿里云地址;
Minikube使用
Testing Minikube
minikube status
: shows current statuskubectl get all
: verifies kubectl client operationminikube start
: starts Minikubeminikube stop
: stops Minikubeminikube ssh
: logs in to the Minikube hostdocker ps
: shows all Docker processes on the Minikube host
Managing Minikube
The minikube command has different options
minikube dashboard
: opens the K8s dashboard in the local browserminikube delete
: deletes a clusterminikube ip
: shows the currently used IP addressminikube start
: starts a clusterminikube stop
: stops a clusterminikube status
: gives current statusminikube version
: shows current version