Kasm 介绍
Kasm
是一款基于 Docker
的容器应用平台,它提供企业级编排、数据丢失防护和 Web
流技术,以支持将容器化工作负载交付到你的浏览器。
Kasm
可以在浏览器內运行各种应用,比如:Linux
桌面、浏览器、聊天工具、办公软件、多媒体工具等。
Kasm
将这些应用隔离在独立的 Docker
容器内,在里面做的任何行为不会影响真实的主机,并且具备一次性特点、用完即删,保证了数据的安全性。
Kasm
是个开源项目,你可以在个人及非营利条件下免费使用。
Kasm
官方网站: https://www.kasmweb.com/Kasm Github
: https://github.com/kasmtech
简单来说 Kasm
可以让用户在浏览器(即开即用)使用各种(容器化)的软件和操作系统。
Kasm
支持常用的主流浏览器:Chrome
、Edge
、FireFox
、Tor
等。
Kasm
支持常用的 Linux
桌面:Ubuntu
、CentOS
、OPenSUSE
、Kali Linux
等。
Kasm
优点:
- 支持受隔离保护的浏览器
- 支持受隔离保护的
Linux
桌面 - 支持受隔离保护的多种应用
- 在数秒间快速启动应用
- 使用完毕瞬间删除应用,不留痕迹
- 容器闲置超过指定时间自动删除应用,不留痕迹
Kasm
缺点:
- 目前中文支持不友好,在部分应用内没有中文输入法。
下表我们将比较下几种常用虚拟化服务 VM
、Docker
、Kasm
间的区别
VM | Docker | Kasm |
---|---|---|
虚拟操作系统 | 虚拟容器 | 虚拟容器 |
硬件资源占用率高 | 👑硬件资源占用率最低 | 硬件资源占用率较低 |
需要安装专用应用程序 | 使用终端程序,图形操作不友好 | 👑使用网页浏览器,介面友好 |
安装操作系统耗时 | 部署容器快速 | 👑鼠标一键瞬间启动,支持多任务 |
虚拟机内的浏览器会储存 Cookie,无法达到完全的隐匿性 | 虽然可透过删除容器及重新部署来达到即开即用,但步骤较为繁琐 | 👑应用的启动或删除只需鼠标点击,真正实现即开即用。 |
👑中文支持度高 | 中文支持度低 | 中文支持度低 |
部署 Kasm
- 硬件要求
硬件类型 | 配置规格 |
---|---|
CPU | 2 cores |
Memory | 4GB |
Storage | 50GB (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
部署还是很容易的,基本只需执行以下几条命令:
1 | $ cd /tmp |
执行完成后,安装脚本会询问『是否接受协议』和『是否启用交换分区』。你可以根据实际情况回答,当然协议是必须接受的。
默认情况下,Kasm
安装脚本会去 Github
下载 Docker-Compose V2
的执行文件。如果你的网络环境不能正常访问 Github
,安装脚本就无法正常执行。
这时你可以提前使用以下命令,先手动完成 Docker-Compose V2
的安装:
1 | $ 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 |
然后,等待脚本拉取完相应的 Docker
镜像。首次下载的镜像比较多,需要一定时间,请耐心等待。
最后,脚本安装完成后,会生成 Kasm
各组件默认的认证信息。(只显示一次,请注意保存。)
注意:默认情况下,
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 页面。
登陆信息就是上面安装过程中自动生成的默认凭据。
Kasm
内置了很多常用的应用:
现在,我们来启动一个 Chrome
试试:
点击一下图标后,就秒启动完成一个全新的 Chrome
环境。
你还可以点击左面的键头图标,来使用一些辅助功能。比如:启用声音、剪贴板等。
简单体验了下,各种输入输出都很快,播放视频也是非常流畅的。接下来,再启动一个 Ubuntu
看看:
太赞了,Linux
桌面应用,运行起来也是一样的丝般顺滑。
Kasm
的强大功能远远不止这些,它还支持多用户、LDAP
、OpenID
等三方认证、自定义容器应用等高级功能。有兴趣的同学可以到官网自行探索哟!