初识Hyper-V管理器
hyper-v管理器用于管理windows系统上通过hyper-v方式虚拟化的虚拟机。依然以minikube作为虚拟机创建的手段。
minikube部署k8s后产生的虚拟机
从Hyper-V管理平面的设置来看:
总结一下现象:minikube标准日志显示,创建的虚机,cpu是2C,内存是4000MB,盘容量是20000MB,此处的盘理解为系统盘。另外,通过kubectl命令查看发现其OS镜像名称为Buildroot 2021.02.4。
观察minikube start
命令前后C盘的可用空间变化,数值约5G左右。这5G大小,主要体现在C:\User\<用户名>\.minikube\machines
目录下,minikube每产生一个集群(profile)都会新建一个profile名称的目录。
该目录下,同名文件夹(上图中的cluster02)下保存快照和虚机信息。boot2docker.iso是用于启动docker的文件。
虚拟硬盘的最大磁盘大小对应创建虚拟机日志时打印的Disk=20000MB
。vhd是虚拟机磁盘文件,而avhd文件是虚拟机快照文件。笔者尚未实践过快照相关功能,具体可查阅:
MVA 征文大赛获奖作品:Hyper-V 3 虚拟机快照 | Microsoft Docs
大概的意思是,机器在运行过程中将信息保存到临时文件中,等到Shutdown或者Reboot的时候进行合并。其实删除快照的操作,Hyper-v还有一个合并磁盘的过程,就是将正在删除的AVHD文件与树形结构中的上级父快照的AVHD文件合并。
a、如果在虚拟机开机的状态删除快照,那么这个快照的AVHD文件还将继续使用,虚拟机中的所有操作还是保存在这个AVHD文件之中,等到虚拟机关机了,那么Hyper-v将启动一个合并的过程,将该AVHD文件与上一级快照的AVHD文件合并,如果删除的快照是最后的一个快照,也就是说没有上一级快照AVHD,那么它将与虚拟机的VHD文件合并;
b、如果虚拟机是关机的状态删除快照,那么这个合并过程将立即执行。
此外该目录下还有RSA非对称加密的密钥文件,用以远程连接虚拟机。
hyper-v连接虚拟机
操作虚拟机,会影响k8s集群使用。
虚拟机保存关闭
比如现在保存关闭虚拟机,k8s等于也被关闭了,查看状态
然后再重新启动虚机,K8S集群恢复。
关机前保存的文件仍然存在。
观察C:\User\<用户名>\.minikube\machines
目录下该集群目录的内容,avhd文件是一只保持更新的,意味着虚机的运行情况一直保存在该临时文件中。
查看当前虚拟机的文件挂载情况
虚拟机关机
如果这个时候直接关机不保存。
关机会有一个合并的过程,这里的合并指得就是avhd文件合并到vhd文件。
从上图中可见,关闭虚机后完成了合并。
minikube认定k8s集群为stopped状态(实际该集群已经销毁,因为虚拟已经无法复原)
重新启动虚拟机
之前创建的文件已经丢失,k8s相关的docker容器也已经销毁。并且重新分配了ip。
虚拟机重置到一个非常原始的状态。
minikube再想启动这个profile定义的集群已经不可能了。
这时直接删除集群是没有问题的
Hyper-V管理器上该虚机也被删除掉了。
补充:vEthernet(Default Switch)
查看电脑的网络设置中,会发现这个以太网适配器。通常我们熟悉的以太网适配器,就是连上网线后生效的那个配置,如果是连的无线,通常是无线局域网适配器 WLAN。
这个vEthernet其实是在开启了Hyper-V之后,windows自动创建的虚拟网卡,用于虚拟机ip的分配。通过上文可以观察到,如果是虚拟机保存停机,其ip能得以维持,如果是直接关机,将重新分配一个ip。