前言
由于最近在学习部署Kubenest的关系,认识了一个轻量级的服务虚拟工具Multipass,能轻松地在本机上搭建多虚拟机环境。 如果你也是像我一样使用Mac,并且你有想学习Linux 服务,甚至想玩分布式计算、集群、微服务之类架构的需要,同时不愿意花太多钱去采购市面上的云服务器。那么比起在Mac 上部署Docker,Multipass这种轻量级的虚拟服务也许更加适合你。
安装
Multipass官网:https://multipass.run/
部署方式一:直接下载官方pkg安装:Download Multipass for MacOS
部署方式二:通过Homebrew 安装
brew cask install multipass
安装成功后,运行一下 multipass version 命令确认安装成功,顺便查看一下版本:
multipass version
#执行结果
multipass 1.8.1+mac
multipassd 1.8.1+mac
直接跑起一个容器的命令:(默认为当前Ubuntu LTS)
multipass launch --name 【容器名称】
我按照三个节点的规划进行操作,分别打开三个“终端”,各自执行容器创建命令:
#第一个终端执行
multipass launch --name server
#第二个终端执行
multipass launch --name node1
#第三个终端执行
multipass launch --name node2
创建完成后,可以通过list 命令查看正在运行的服务:
multipass list
192.168.64.* 是每一个节点在本机的ip地址,可以直接在宿主主机上ping通过:
关于宿主主机与容器之间的网络互联,Multipass 会比Docker 更加简便。
创建成功后,进入容器的执行命令如下:
multipass shell 【容器名称】
如果我们需要对容器有性能上的要求,在launch 命令时可以添加更多参数:
multipass launch -n server2c4g -c 2 -m 4G -d 40G
通过命令行参数建立的容器模拟了2核4G,40GB磁盘空间的服务环境。容器创建成功后,通过 multipass info 可以查看容器的基本信息:
与Docker 相似,未来Multipass应该也会建立起属于它的镜像生态(当然现在的它资源还是有限),镜像查找命令:
Multipass find
小结
优点: Multipass 在使用体验上会比docker更简洁直观,同时屏蔽了Docker 一些纷繁复杂的流程,对有Docker经验的开发来说会带有良好的操作体验。作为一款 Linux学习并且可以玩微服务、集群的学习工具,选择使用 Multipass 会给人带来很多便利。
不足:Multipass 是由 Ubuntu 背后的 Canonical 公司开发的,因此 Multipass 所使用的镜像也都是 Ubuntu 镜像,对于习惯使用 CentOS 的用户来说,还是用些许不太习惯。另外生态圈是Multipass 团队一定需要大力开拓的方向,没有生态它终究只能是一小众工具。