公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

148db3efedfbee61962175691cf46a37.jpeg

Kasm 介绍

Kasm 是一款基于 Docker 的容器应用平台,它提供企业级编排、数据丢失防护和 Web 流技术,以支持将容器化工作负载交付到你的浏览器。

Kasm 可以在浏览器內运行各种应用,比如:Linux 桌面、浏览器、聊天工具、办公软件、多媒体工具等。

Kasm 将这些应用隔离在独立的 Docker 容器内,在里面做的任何行为不会影响真实的主机,并且具备一次性特点、用完即删,保证了数据的安全性。

Kasm 是个开源项目,你可以在个人及非营利条件下免费使用。

  • Kasm 官方网站: https://www.kasmweb.com/

  • Kasm Github: https://github.com/kasmtech

简单来说 Kasm 可以让用户在浏览器(即开即用)使用各种(容器化)的软件和操作系统

b609a4d3850fda8189ce19073382b845.gif

在浏览器内运行 Chrome、Edge

Kasm 支持常用的主流浏览器:ChromeEdgeFireFoxTor 等。

ef6510d0db4382c3660958185127225d.gif

在浏览器内运行 Ubuntu 桌面

Kasm 支持常用的 Linux 桌面:UbuntuCentOSOPenSUSEKali Linux 等。

Kasm 优点:

  • 支持受隔离保护的浏览器

  • 支持受隔离保护的 Linux 桌面

  • 支持受隔离保护的多种应用

  • 在数秒间快速启动应用

  • 使用完毕瞬间删除应用,不留痕迹

  • 容器闲置超过指定时间自动删除应用,不留痕迹


Kasm 缺点:

  • 目前中文支持不友好,在部分应用内没有中文输入法。

下表我们将比较下几种常用虚拟化服务 VMDockerKasm 间的区别

VMDockerKasm
虚拟操作系统虚拟容器虚拟容器
硬件资源占用率高👑硬件资源占用率最低硬件资源占用率较低
需要安装专用应用程序使用终端程序,图形操作不友好👑使用网页浏览器,介面友好
安装操作系统耗时部署容器快速👑鼠标一键瞬间启动,支持多任务
虚拟机内的浏览器会储存 Cookie,无法达到完全的隐匿性虽然可透过删除容器及重新部署来达到即开即用,但步骤较为繁琐👑应用的启动或删除只需鼠标点击,真正实现即开即用。
👑中文支持度高中文支持度低中文支持度低

部署 Kasm

  • 硬件要求

硬件类型配置规格
CPU2 cores
Memory4GB
Storage50GB (SSD)
支持的操作系统
Ubuntu 18.04 / 20.04 / 22.04 (amd64/arm64)
Debian 9 / 10 / 11 (amd64/arm64)
CentOS 7 / 8 (amd64/arm64)
Oracle Linux 7 / 8 (amd64/arm64)
Raspberry Pi OS (Debian) 10 / 11 (arm64)
Other

Kasm 部署还是很容易的,基本只需执行以下几条命令:

$ cd /tmp
$ curl -O https://kasm-static-content.s3.amazonaws.com/kasm_release_1.11.0.18142e.tar.gz
$ tar -xvf kasm_release*.tar.gz
$ sudo bash kasm_release/install.sh

执行完成后,安装脚本会询问『是否接受协议』和『是否启用交换分区』。你可以根据实际情况回答,当然协议是必须接受的。

22d1c995d8a7fbc77df244b44049646e.png

默认情况下,Kasm 安装脚本会去 Github 下载 Docker-Compose V2 的执行文件。如果你的网络环境不能正常访问 Github,安装脚本就无法正常执行。

这时你可以提前使用以下命令,先手动完成 Docker-Compose V2 的安装:

$ curl -L https://download.fastgit.org/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
$ chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

然后,等待脚本拉取完相应的 Docker 镜像。首次下载的镜像比较多,需要一定时间,请耐心等待。

5eb494b19068b08956b13fafbe7aaa90.png

最后,脚本安装完成后,会生成 Kasm 各组件默认的认证信息。(只显示一次,请注意保存。)

97b32725d9c415dfea4a0d8c3f3b2eea.png

注意:默认情况下,Kasm Web 应用程序是运行在 443 端口的,你需要在防火墙上对外开放此端口。如果你想在其他端口上运行 Kasm Web 应用程序,可在调用安装程序时通过 -L 参数指定。例如:sudo bash kasm_release/install.sh -L 8443

更详细官方安装教程可以查看:Standard Installation。

上面的方法是将所有 Kasm 服务组件部署到同一台机器上的。当然,你也可以将不同的 Kasm 服务角色分开安装到不同机器。具体可以参考: Multi Server Installation

访问 Kasm

默认情况下,你可以使用 https://server_ip 访问的 Kasm 的 Web 页面。

登陆信息就是上面安装过程中自动生成的默认凭据。

da18abc50e1efeb97febaf23a3776471.png

Kasm 内置了很多常用的应用:

4a0e5e67388f6c169a5117feb29eacfc.png

现在,我们来启动一个 Chrome 试试:

c6361f2dbc93b738e334369f7cb0a0ab.png

点击一下图标后,就秒启动完成一个全新的 Chrome 环境。

1288878ccd58da5771c44234cc2ceec7.png

你还可以点击左面的键头图标,来使用一些辅助功能。比如:启用声音、剪贴板等。

9f07b702352ac792531702ab2a837ec8.png

简单体验了下,各种输入输出都很快,播放视频也是非常流畅的。接下来,再启动一个 Ubuntu 看看:

8790d27df96921675216b2ed61e89178.png

88acceec0a1b8fe7ad3401ad525a007b.png

f4b01f465a1dd20413029877d369d168.png


太赞了,Linux 桌面应用,运行起来也是一样的丝般顺滑。

Kasm 的强大功能远远不止这些,它还支持多用户、LDAPOpenID 等三方认证、自定义容器应用等高级功能。有兴趣的同学可以到官网自行探索哟!

参考文档

  1. https://www.google.com

  2. https://www.mobile01.com/topicdetail.php?f=508&t=6573952

  3. https://www.kasmweb.com/docs/latest/index.html

  4. https://www.kasmweb.com/docs/latest/install/single_server_install.html

  5. https://www.kasmweb.com/docs/latest/install/multi_server_install.html

e7f740d3fafd073b54bcda37b1845a47.gif

最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。

3ff756c8417065f3fe38b88d87ce14d3.png

你可能还喜欢

点击下方图片即可阅读

1c6bef50f60753c9d1cf8ea47a2f09e3.png

云原生操作系统 Kubernetes 中文开源教程

2cedb5db9eba57b9c6d3f21e978a3b59.png

点击上方图片,『美团|饿了么』大额外卖红包天天免费领

4be6baa866154746b256aee1ed062c61.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐