提示:考虑到实际情况,这里介绍的主要是是镜像安装方法
如果网络正常:建议采用官方的安装方法,省去许多麻烦。
步骤:
- win10 powershell以管理员方式运行,并输入:
minikube.exe start --image-mirror-country=cn --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.8.0.iso --registry-mirror=https://xxxxxx.mirror.aliyuncs.com --vm-driver="hyperv"
注意,image-mirror和registry
这个语句我用的是ok的。
很多博客给的是类似这个:
如:https://galaxyyao.github.io/2020/01/22/%E5%AE%B9%E5%99%A8-14-%E5%9B%BD%E5%86%85Windows10%E7%8E%AF%E5%A2%83%E5%AE%89%E8%A3%85Minikube/
minikube start --vm-driver=hyperv --cpus=2 --memory=6g --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers"
我试了一下,不好使。
下面是完整的minikube k8s安装过程,以windows系统的虚拟机hyperv为例
前置要求:
2 CPUs or more
2GB of free memory
20GB of free disk space
Internet connection
Container or virtual machine manager, such as: Docker, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMware Fusion/Workstation
由于本身docker就是运行在linux之上的,所以如果要在windows中进行测试,必须安装Linux环境如虚拟机,这里以hyper-v为例,主要是考虑到这是windows系统自带的,较为方便
网络正常(自行体会):
按照minikube官方教程安装:https://minikube.sigs.k8s.io/docs/start/
需要镜像:
windows
1.首先安装hyper-v,特别是windows家庭版是没有hyper-v的,只有专业版或者教育版才是有的
创建一个批处理文件,文件名无要求, 我起的是hyperv.bat
代码如下:
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
以管理者运行该文件。
打开powershell,输入:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
打开powershell,输入systeminfo,如出现:
Hyper-V 要求: 已检测到虚拟机监控程序。将不显示 Hyper-V 所需的功能。
则说明安装成功。
2.然后安装minikube(目前这个还是可以正常下载的)
链接:minikube官方安装地址,选择适合自己系统的最新版本进行下载(不是最新版本对于镜像下载可能会有问题)
同样打开powershell,输入minikube version,如出现:
即有版本号和commit ID,说明安装成功。
也就是https://minikube.sigs.k8s.io/docs/start/的第一步installation
3.然后安装k8s相关的文件
可以尝试以下两个命令
minikube start --image-mirror-country='cn'
如果该命令不成功,就按照上面的安装镜像的方法进行,即:
minikube.exe start --image-mirror-country=cn --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.8.0.iso --registry-mirror=https://xxxxxx.mirror.aliyuncs.com --vm-driver="hyperv"
默认配置为2cpu,4g内存,20g磁盘,可以自行设置。
minikube 提供了非常多的配置参数,常用配置参数如下
--driver=*** 从1.5.0版本开始,Minikube缺省使用系统优选的驱动来创建Kubernetes本地环境,比如您已经安装过Docker环境,minikube 将使用 docker 驱动
--cpus=2: 为minikube虚拟机分配CPU核数
--memory=2048mb: 为minikube虚拟机分配内存数
--registry-mirror=*** 为了提升拉取Docker Hub镜像的稳定性,可以为 Docker daemon 配置镜像加速,参考阿里云镜像服务
--kubernetes-version=***: minikube 虚拟机将使用的 kubernetes 版本
更多配置参数请参考 minikube help start,这样就创建了一个名为minikube的虚拟机:
很多博客里面建议需要额外创建新的虚拟交换机,但是我的实验结果是并不需要(至少如果只需要在集群内部进行访问节点),而且可能造成网络卡顿的问题。(非常卡顿)
4.打开Kubernetes控制台
输入:
minikube dashboard
可能要等一下,就就能够看到Kubernetes 的看板。
常见问题:
很多的问题都是网络的问题,如果遇到不是网络的问题,可以试试删除minikube,然后start minikube。
即:
minikube delete
然后
minikube start(网络正常按照这个,需要镜像还是上面的语句)
1.遇到the docker client must be run with elevated privileges to connect.:怎么解决
可以看这个:
Docker v20.10.5
In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.
原因是使用了 Linux containers 启动,需要 Hyper-V 服务支持。
解决办法:
在 Docker Desktop 托盘图标 Switch to windows containers。
或者这个:
首先以管理员身份运行,然后和上面类似也是进行container的切换
2. docker镜像拉取(pull)不下来怎么办?
涉及到docker的拉取镜像可以采用下面的语句
镜像处理:
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/echoserver:1.4
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/echoserver:1.4 k8s.gcr.io/echoserver:1.4
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/echoserver:1.4
3. 遇到:run minikube start
with --image-mirror-country=cn failed,或者Prompt panic: semver: Parse(v1.17.3): Invalid character(s) found in major number “v1”怎么解决?
如果遇到下面的问题:
Prompt panic: semver: Parse(v1.17.3): Invalid character(s) found in major number “v1”
首先看看你是否是没有设置好镜像,如果没问题的话,应该是minikube版本的问题。
参考:
https://github.com/kubernetes/minikube/issues/7052 是minikube的bug,更新到最新版本即可