Minishift 是一个工具,可以通过在 VM 中运行单节点 OpenShift 集群来帮助您在本地运行 OpenShift。
完整官方文档看这里: https://docs.okd.io/latest/minishift/index.html
本文只对 win 10 中安装过程做一些简单的记录,方便以后重试。
Windows 对 Hyper-V 有以下要求:
如果你的系统和硬件满足上述要求,可以继续进行。
微软提供了多种启用方式( Install Hyper-V on Windows 10),这里列举最简单的 PowerShell 方式。
以管理员方式打开 PowerShell,运行下面的命令:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
运行完成后会提示是否重启,保存后手头工作后,选择重启。
原文: Create a virtual network
启动后,在搜索框输入 Hyper 如下:
打开【Hyper-V 管理器】,在【左侧】点击 Hyper-V 管理器下面自己的电脑,然后在【右侧】选择【虚拟交换机管理器…】,如下图:
选择【新建虚拟网络交换机】,选择【外部】,点击【创建虚拟交换机】。
名字可以随便起,但是建议用 External VM Switch。
连接类型选择【外部网络】选择能联网的一个网卡,点击【应用】完成创建。
重点,配置好 Hyper-V 后,你还需要保证自己当前的用户在 Hyper-V 的管理组中,使用下面的 PowerShell(管理员方式打开)命令添加当前用户:
PS> ([adsi]"WinNT://./Hyper-V Administrators,group").Add("WinNT://$env:UserDomain/$env:Username,user")
执行完命令后注销重进。
https://github.com/minishift/minishift/releases
本例选择的当前最新版本:v1.23.0
解压后,将 minishift 路径加入到环境变量 PATH 中。
Minishift 在后续安装时,会在当前用户目录下创建 .minishift 目录,并且下载 centos 镜像,也会把虚拟机安装到这个目录中,这个目录很快会超过 11G 的大小,如果你 C 盘(默认用户目录)足够大也可以不换地方。如果不想占用 C 盘太多空间,可以用下面的方式放到别的目录。
虽然 Minishift 提供了一个环境变量来配置这个目录,但是后面会出现无法读取 F:/ 这种盘符的问题。
以管理员方式打开 CMD,切换到用户目录下。先在你要存放上述 11G 内容的地方创建一个目录,比如 F:\Microservices\.minishift
。然后在命令行输入以下内容:
mklink /D .minishift F:\Microservices\.minishift
这个命令会在当前目录下面创建一个名为 .minishif 的符号链接,指向了 F:\Microservices\.minishift
,通过这种方式就间接的解决了 C 盘占用空间的问题。
Minishift 在安装过程中会下载两个很大的文件,这两个文件都存在于 github 上,因此下载速度可能很慢。为了避免时间耽误在这个上面,我们可以先提前下载好,这样当 Minishift 发现已经存在时就不会再去下载了。
第一个文件路径是: .minishift\machines\minishift\boot2docker.iso
第二个文件路径是:.minishift\cache\iso\centos\v1.12.0\minishift-centos7.iso
除了这两个外,还有一个 .minishift\cache\oc\v3.10.0\windows\oc.exe
也比较大
如果怕慢,可以先下载好上述文件,放到指定目录后再开始安装。
网盘下载
链接: https://pan.baidu.com/s/1Uu5ofi64UbOEHrKjfHBlaA
密码: uf7e
以管理员方式打开 PowerShell,输入下面的命令开始安装:
minishift start --hyperv-virtual-switch "External VM Switch"
特别注意这里指定的名字 External VM Switch 需要和前面配置的一致。
正常情况下,会输出类似下面的日志:
PS C:\WINDOWS\system32> minishift start --hyperv-virtual-switch "External VM Switch"
-- Starting profile 'minishift'
-- Check if deprecated options are used ... OK
-- Checking if https://github.com is reachable ... OK
-- Checking if requested OpenShift version 'v3.10.0' is valid ... OK
-- Checking if requested OpenShift version 'v3.10.0' is supported ... OK
-- Checking if requested hypervisor 'hyperv' is supported on this platform ... OK
-- Checking if Hyper-V driver is installed ... OK
-- Checking if Hyper-V driver is configured to use a Virtual Switch ...
'External VM Switch' ... OK
-- Checking if user is a member of the Hyper-V Administrators group ... OK
-- Checking the ISO URL ... OK
-- Checking if provided oc flags are supported ... OK
-- Starting the OpenShift cluster using 'hyperv' hypervisor ...
-- Starting Minishift VM ............................... OK
-- Checking for IP address ... OK
-- Checking for nameservers ... OK
-- Checking if external host is reachable from the Minishift VM ...
Pinging 8.8.8.8 ... OK
-- Checking HTTP connectivity from the VM ...
Retrieving http://minishift.io/index.html ... OK
-- Checking if persistent storage volume is mounted ... OK
-- Checking available disk space ... 16% used OK
-- OpenShift cluster will be configured with ...
Version: v3.10.0
-- Copying oc binary from the OpenShift container image to VM ... OK
-- Starting OpenShift cluster ..............................................
Getting a Docker client ...
Checking if image openshift/origin-control-plane:v3.10 is available ...
Checking type of volume mount ...
Determining server IP ...
...省略后续日志...