写在前面
之前接触的 Sealos ,是 Laf 私有部署的时候,作为一个类似 Docker Cli的东西,一直对 Sealos 的认知也局限在:它是一个命令工具,用来管理 K8s ??
关于对 Sealos Cloud 的了解
官网:https://sealos.io/zh-Hans/
说实话最开始看官网我是一脸懵逼的。但是经过这次的3分钟体验,我有了不同的认知。
1、进入 Sealos Cloud
点击首页「点击开始体验」进入 Sealos Cloud
注册一个账号,也可以直接用微信或者 GitHub 账号登录
看到这个UI,极简的桌面,有点像 Windows。但是隐藏在简洁下面是设计的用心,和不简单的功能。
2、桌面简单说明
简单得把每个按钮都点击了一遍。
- Bytebase 没用过,但是看起来是一个数据库
- App Launched 里面有一个新建应用的按钮,看来这里就是 Sealos Cloud 最核心的功能了
- Postgres 又是一个数据库
- Terminal 终端,可以做什么呢?暂时不清楚。
右下角有一个小圆点,直接点没有任何反应,但是等我打开两个窗口最小化之后,我发现可以在这里切换窗口。
右上角是通知和用户信息。目前比较简单。
正下方的更多应用目前点不了,估计以后会集成很多应用吧,比如自己新建的应用可以在这里查看吧
3、新建应用
打开 App Launched
新建应用。
点击 新建应用
按钮
这里产生一个疑问,功能是新建应用,但是却变成了部署应用。按照我对操作系统的理解,可能叫安装应用更合适吧。
说实话,看到这个界面稍微有点懵。因为我实际上docker
也玩的不多。特别是在选择CPU和内存的时候,更加的懵。在部署完 uptime-kuma
后,我又测试了一下 mongodb
、redis
、nginx
等。发现CPU选择 0.1-0.5都够用。主要是内存,比如uptime-kuma
对内存要求就稍高,需要128Mi及以上才可以正常运行。
所以在第一次部署应用的时候,我的建议是,先选择0.2Core + 256Mi 的组合。当项目跑起来,可以看到到底占用了多少CPU和内存,再来调整~
填写uptime-kuma
相关配置
打开 https://github.com/louislam/uptime-kuma
找到 uptime-kuma
项目的docker命令
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
看到这里就发现,特别简单了~
不同的项目部署配置有所不同,如果是 docker项目的话都是非常简单的,非docker项目目前可能稍微麻烦点,据说 Sealos Cloud 后面会通过AI去自动生成不同项目的部署配置。那么就非常简单了。
部署应用 & 部署完成
点击右上角的 部署应用
。
应用启动速度非常的快,大概几秒钟就完成了。不过不是里面的镜像已经成功跑起来了,只是这个镜像所在的容器成功的跑起来了。
点击详情,可以看到项目的运行情况,包括CPU占用、内存占用等。
这里面有个特殊的点,如果CPU和内存占用一直为0,那么可以说明,项目没有成功跑起来。
可以看到项目已经成功启动了,点击外网地址也可以直接成功访问。
配置 uptime-kuma
监控 Laf 云函数
创建完管理员账号后,登录 uptime-kuma
。可以添加监控项。
监控云函数非常简单,在URL填入云函数地址,右边还可以配置请求体和请求头,如果监控发现异常也可以及时去做出响应
到此,在 Sealos Cloud 中为Laf部署一个监控应用,就完成了。
其实如果懂点K8s,或者懂点Docker 来玩这个是非常简单的~但是作为一个纯小白来说。这整个过程其实也就花了3分钟不到~
关于对 Sealos Cloud 的期待
1、目前 Sealos Cloud 的文档稍微太简单。是否可以考虑从场景入手去做一些教程。比如某个应用,需要使用redis、加对应的数据库,该如何在 Sealos Cloud 去部署。并且如果在突发用户量很大的情况下,如何去管理实例数等。
2、 Sealos Cloud 的日志和通知太简单。比如Pod正常,但是实际上里面的应用并不正常,此时并没有任何提示,包括应用状态也是运行中。需要用户自己去 Terminal 输入K8s的相关命令查看较为详细的日志。
3、可以加一个新手引导,以及在部署应用的时候,可以加一个点击查看帮助,甚至推荐看哪里可以解决。
4、部分细节优化:如。CPU 和 内存的占用,每次进详情都是从0开始滚动,无法查看历史监控。详情页内的应用的状态特别不明显。存储卷没有管理功能,如果涉及备份该如何操作。
5、缺乏应用的运行日志记录。
6、暂时无法安装Laf。Laf在实际开发过程中,可能会涉及到redis,mysql等其他数据库,或者其他服务。如果Laf在Sealos Cloud 中,即可在内网调用这些服务,并且弹性可拓展,甚至可以把Laf作为一个接口封装工具,本地的Python等项目,由Laf去调用,最后作为接口对外。想象空间非常的大~
7、是否可以在应用控制台,去管理 Pod、Service、Deployment 等等
小白谈谈 Sealos Cloud 为什么自称为操作系统
Sealos Cloud 是一个以 kubernetes 为内核的云操作系统发行版。这个定义是否像安卓是一个以 Linux 为内核的操作系统呢?
想一下十几年前,功能机时代。手机一般是无法安装应用的,后面慢慢出了一些手机,可以安装一些简单的应用,但是依然没有被称为智能手机。诺基亚时代,塞班系统有着丰富的软件,它被称为智能手机。现在统治智能手机的2个操作系统,iOS和安卓,也都是有着丰富的软件,才被称为智能手机,其系统也被称为操作系统。
那么如果是这个定义,Sealos Cloud 定义自己是一个操作系统,那么我认为要做到几个事情:
1、安装的应用足够多,按照涛哥的说法,Sealos Cloud以后任何应用都可以装,可能达不到任何应用,但是我想里面深层的意思是,尽可能的让各种应用都可以在 Sealos Cloud 都可以运行,无论它是否是Docker应用,或者K8s应用。
2、足够的简单。任何操作系统都是非常简单的,复杂的操作系统一般都会被淘汰或者仅作为特殊使用,到了现在,我们一般不会把dos命令行的系统叫做操作系统吧。所以足够简单也是作为一个优秀的操作系统必须具备的要素之一
3、兼容性要好。就像电脑的操作系统,是对硬件的兼容性要好,Sealos Cloud 应该是对软件的兼容性好。
4、服务可共享。这个可能是在 Sealos Cloud 云操作系统上才会有的一个特性。服务皆可以在内网进行共享访问和调用。