- 拉取私有镜像
如果再minikube拉取私有镜像失败,我们可以通过在宿主机上把镜像先来去下来,然后使用下面的命令来讲镜像加载到Minikube里面去,这样在镜像拉取策略为IfNotPresent时,就可以正常使用我们的minikbe部署应用了
minikube image load xx.xx.xx.xx:xxxx/projectName/dockerize:tag
- 将宿主机上的文件目录挂载到minikbue里面
有一些需求需要使用宿主机上的文件,但是,minikube无法访问到宿主机的目录,那么可以先将宿主机上的目录挂载到minikbue里面,
minikube mount /tmp/storage-demo:/tmp/storage-demo
- 使用driver=docker的minikube无法使用ingress
可以在minikube delete 删除minikube集群后,重新start minikube 时,--driver="hyperkit",这种方式启动的minikube,就可以启动ingress了,启用命令为
minikube addons enable ingress
使用minikube addons list 可以查看启动了哪些组件
4.删除镜像
如果你在使用minikube image rm imageName:tag删除镜像的时候,发现该命令并没有删除镜像,那么就要检查一下是否还有使用该镜像的容器存在,如果有,删除后,再重新尝试一下该命令即可生效,而不是什么minikube的bug.可留意一下
5.如何在minikube 中使用Ingress
这里有几个点需要注意的,其一,minikube如果使用docker作为driver的配置项,那么是无法使用Ingress的,倒不是说无法使用minikube addons enable ingress.你当然可以是使用它来进行启用ingress,但是无法访问创建的ingress,因为不在同一个网段,无法连接。
此时就是需要使用其他的驱动配置项,但是使用其他的驱动配置项,你需要删除minikube 集群,minikube delete --all,然后在重新安装minikube ,minikube start --driver='hyperkit'.
如果在这种情况下,安装失败,那么,你需要指定Minikube的安装版本和kubernetes的安装版本,可能最新版本的1.24.1无法使用。重试很过次也无法安装成功。
我的测试环境为macos
minikube version
minikube version: v1.26.0
commit: f4b412861bb746be73053c9f6d2895f12cf78565
kubernetes 的版本使用的是v1.23.6
kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short. Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.1", GitCommit:"3ddd0f45aa91e2f30c70734b175631bec5b5825a", GitTreeState:"clean", BuildDate:"2022-05-24T12:26:19Z", GoVersion:"go1.18.2", Compiler:"gc", Platform:"darwin/amd64"}
Kustomize Version: v4.5.4
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.6", GitCommit:"ad3338546da947756e8a88aa6822e9c11e7eac22", GitTreeState:"clean", BuildDate:"2022-04-14T08:43:11Z", GoVersion:"go1.17.9", Compiler:"gc", Platform:"linux/amd64"}
此时安装addons中的ingress是可以成功的,并且测试用的ingress也可以访问
minikube addons list
|-----------------------------|----------|--------------|--------------------------------|
| ADDON NAME | PROFILE | STATUS | MAINTAINER |
|-----------------------------|----------|--------------|--------------------------------|
| ambassador | minikube | disabled | 3rd party (Ambassador) |
| auto-pause | minikube | disabled | Google |
| csi-hostpath-driver | minikube | enabled ✅ | Kubernetes |
| dashboard | minikube | enabled ✅ | Kubernetes |
| default-storageclass | minikube | enabled ✅ | Kubernetes |
| efk | minikube | disabled | 3rd party (Elastic) |
| freshpod | minikube | disabled | Google |
| gcp-auth | minikube | disabled | Google |
| gvisor | minikube | disabled | Google |
| headlamp | minikube | disabled | kinvolk.io |
| helm-tiller | minikube | disabled | 3rd party (Helm) |
| inaccel | minikube | disabled | InAccel <info@inaccel.com> |
| ingress | minikube | enabled ✅ | 3rd party (unknown) |
| ingress-dns | minikube | enabled ✅ | Google |
| istio | minikube | disabled | 3rd party (Istio) |
| istio-provisioner | minikube | disabled | 3rd party (Istio) |
| kong | minikube | disabled | 3rd party (Kong HQ) |
| kubevirt | minikube | disabled | 3rd party (KubeVirt) |
| logviewer | minikube | disabled | 3rd party (unknown) |
| metallb | minikube | disabled | 3rd party (MetalLB) |
| metrics-server | minikube | enabled ✅ | Kubernetes |
| nvidia-driver-installer | minikube | disabled | Google |
| nvidia-gpu-device-plugin | minikube | disabled | 3rd party (Nvidia) |
| olm | minikube | disabled | 3rd party (Operator Framework) |
| pod-security-policy | minikube | disabled | 3rd party (unknown) |
| portainer | minikube | disabled | Portainer.io |
| registry | minikube | disabled | Google |
| registry-aliases | minikube | disabled | 3rd party (unknown) |
| registry-creds | minikube | disabled | 3rd party (UPMC Enterprises) |
| storage-provisioner | minikube | enabled ✅ | Google |
| storage-provisioner-gluster | minikube | disabled | 3rd party (unknown) |
| volumesnapshots | minikube | enabled ✅ | Kubernetes |
|-----------------------------|----------|--------------|--------------------------------
测试项目我放在了github上ingress-demo,大家可以自行测试