TypechoJoeTheme

王子博客

用户名
密码
用户名
邮箱

轻量级虚拟机Multipass使用教程

王子博主
2022-09-13
/
0 评论
/
1,129 阅读
/
1074 个字
/
百度已收录
09/13
本文最后更新于2022年09月13日,已超过669天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

当我们电脑内存不够的时候 你会怎么想?加内存??还是使用虚拟机?

最近,打算在 windows电脑上安装一个虚拟机,用来学习 K8S。

首先想到的是 Vmware 然后打开浏览器找了找,发现只提供付费版本。
然后,开始尝试使用免费 VirtualBox,但是在安装 CentOS 的时候,貌似因为 windows版本的原因,总是报错,花费了好几天的时间,试过各种方案,最终解决无果,就放弃了。。

就在老王要放弃的时候,突然在 Ubuntu 官网进行冲浪的时候,发现了一款叫 Multipass 的东西。

它可以快速在电脑上快速搭建一个轻量级的虚拟机,并且相比于 Vmware 更加轻量,只需一行命令快速创建 Ubuntu 虚拟机。

Multipass 是一个轻量虚拟机管理器,是由 Ubuntu 运营公司 Canonical 所推出的开源项目。运行环境支持 Linux、Windows、macOS。在不同的操作系统上,使用的是不同的虚拟化技术。在 Linux 上使用的是 KVM、Window 上使用 Hyper-V、macOS 中使用 HyperKit 以最小开销运行VM,支持在笔记本模拟小型云。

同时,Multipass 提供了一个命令行界面来启动和管理 Linux 实例。下载一个全新的镜像需要几秒钟的时间,并且在几分钟内就可以启动并运行 VM。(直呼好家伙,大大降低的我们安装虚拟机的成本了)

Multipass官网:https://multipass.run/

根据自己操作系统选择合适的版本进行下载,我这里是 Windows,就点击下载 Windows 版本。

注意:您需要 Windows 10 Pro/Enterprise/Education v 1803 或更高版本,或任何带有 VirtualBox 的 Windows 10

安装步骤简单,一路下一步即可,安装的时候会自动配置 Windows 系统环境变量,如果有误可以检查一下是否正确安装。

验证软件版本

# 打开任意 Windows 命令行,键入以下命令查看版本
multipass --version

安装成功后,点击运行,即可打开 Multipass 客户端,这里能够快速的通过 Open Shell 创建和启动一个虚拟机

会打开创建的虚拟机,

其他操作
查看正在运行的虚拟机列表:

multipass list
Name                    State             IPv4             Image
primary                 Running           172.21.230.38    Ubuntu 20.04 LTS
test01                  Running           172.21.234.209   Ubuntu 20.04 LTS

这条指令可以看到虚拟机详细信息,名称,状态,地址,镜像名称等信息。

外部操作虚拟机
通过 multipass exec 命令在实例内执行给定的命令。第一个参数是运行命令的实例,也就是 test01

我们通过 exec 命令,就可以在外部操作刚刚创建的虚拟机,例如查看内部所处的目录,执行 pwd 命令

multipass exec test01 pwd
/home/ubuntu

查看虚拟机信息
通过 multipass info 命令,即可查看当前运行的虚拟机信息

multipass info test01
Name:           test01
State:          Running
IPv4:           172.21.230.38
Release:        Ubuntu 20.04.3 LTS
Image hash:     27cecebaf8c6 (Ubuntu 20.04 LTS)
Load:           0.00 0.00 0.00
Disk usage:     1.3G out of 4.7G
Memory usage:   372.1M out of 916.9M
Mounts:         --

进入虚拟机
通过 multipass shell 命令,即可进入到虚拟机内部

multipass shell test01

运行后的结果如下所示,可以看到目前虚拟机的一些系统配置信息,以及内存和磁盘的使用情况

挂载数据卷
multipass 还提供和 Docker 一样的挂载数据卷的功能,能够与外部宿主机的文件保持同步。

# 挂载格式
multipass mount 宿主机目录  实例名:虚拟机目录

下面,我在用户的目录下,创建一个 data 目录

# 创建data目录
mkdir data 
# 挂载
multipass mount D:\data  test01

挂载完成后,可以使用 multipass info primary,查看是否挂载成功

卸载数据卷
如果以后不需要用到挂载了,可以使用 unmount 命令卸载

#卸载数据卷
multipass umount 容器名

传输文件
除了使用上述的 mount 挂载卷的方式实现文件的交互,同时还可以通过 transfer 命令,将宿主机的文件,发送到虚拟机内部

multipass transfer 主机文件 容器名:容器目录

例如,将 hello.txt 发送到

multipass transfer hello.txt test01:/home/ubuntu/bash

删除和释放实例
使用下面的命令,可以开启、停止、删除和释放实例

# 启动实例
multipass start test01
# 停止实例
multipass stop test01
# 删除实例(删除后,还会存在)
multipass delete test01
# 释放实例(彻底删除)
multipass purge test01

ubuntu 是使用 apt-get 来进行包管理的,首先更新一下 apt-get,然后安装 nginx

# 更新apt
apt-get update
# 安装 nginx
apt-get install nginx

安装好 nginx 后,可以到 /etc/nginx 目录即可看到刚刚的 nginx 配置信息

root@vm01:/lost+found# cd /etc/nginx/
root@vm01:/etc/nginx# ls
conf.d        fastcgi_params  koi-win     modules-available  nginx.conf    scgi_params      sites-enabled  uwsgi_params
fastcgi.conf  koi-utf         mime.types  modules-enabled    proxy_params  sites-available  snippets       win-utf

下面我们可以测试一下,nginx 是否安装成功,在 mac 上打开浏览器,输入虚拟机的 ip 地址 192.168.64.2

可以看出,目前 nginx 已经成功运行了,后续的话,可能会考虑在上面部署更多的应用

朗读
赞(0)
版权属于:

王子博客

本文链接:

http://serv.blackboard.com.cn/index.php/archives/204/(转载时请注明本文出处及文章链接)

评论 (0)