CasOS:自带控制面的容器云平台——不用先搭一个 Kubernetes 集群

查看 12|回复 0
作者:veotax   
Hi V 友们,给大家介绍一个项目。
这次带来的是 CasOS:一个跑在 Kubernetes 之上的「云操作系统」,但和你以往用过的 K8s 管理面板不太一样——它不需要你先有一个 Kubernetes 集群。它自己就内嵌了控制面。支持 Linux / macOS ,甚至在 Windows 原生下也可以直接运行。
起因:搭一个 K8s 太重了
如果你只是想要一个能管 Pod 、管 Deployment 、能看日志能进终端的可视化平台,传统路径大概是这样的:
[ol]
  • 装 etcd
  • kubeadm init,调一堆参数
  • 装 API Server 、Controller Manager 、Scheduler ,确认它们都互相认识
  • 再装一个 Dashboard 或者第三方管理面板
  • 证书、网络插件、RBAC……一个都不能少
    [/ol]
    折腾完一圈,光是为了"能点开一个网页看 Pod 列表",就已经先和 etcd 的 TLS 配置斗智斗勇了一下午。
    CasOS 想解决的就是这个问题:把 API Server 、Controller Manager 、Scheduler 这些控制面组件内嵌进服务本身,部署的时候不用再单独去拉起一套 Kubernetes 控制面、不用再为了状态存储单独运维一套 etcd 。
    它是怎么做到的
  • API Server 、Controller Manager 、Scheduler 都内嵌在同一个服务里,不需要单独部署
  • 状态数据落到 MySQL ,跟着你现有的数据库运维体系走,不用再多维护一套 etcd
  • 证书首次启动自动生成
  • Web UI 和控制面是同一套部署单元,配好数据库连接就能跑起来

    结果就是:配一个数据库连接,几分钟内就能拉起一个完整可用的 Kubernetes 环境,而不是几个小时。
    能干什么
    从 Web UI 上可以管理 Kubernetes 工作负载的完整生命周期:
  • 工作负载:Deployment / StatefulSet / CronJob 的创建、扩缩容、镜像滚动更新
  • 存储与网络:PVC 、ConfigMap 、Secret 、Service 、Ingress 、NetworkPolicy
  • 运维体验:Pod 实时日志抽屉、基于 xterm.js 的浏览器内终端(走 K8s exec WebSocket )、容器文件浏览器——不用再开一个 SSH 窗口
  • 权限管理:ClusterRoleBinding (集群级)和 RoleBinding (命名空间级)都能在 UI 里直接配置,不用敲 kubectl create rolebinding
  • 安全加固:内置准入策略 webhook 拦截危险操作,授权策略 webhook 控制谁能读写哪些资源,还集成了 Trivy 镜像扫描,部署前就能看到镜像里的已知 CVE
  • 证书自动化:刚加了 Let's Encrypt HTTP-01 自动签发和手动证书上传,给 Ingress 配 HTTPS 不用再手动折腾 cert-manager 的一堆 CRD (当然想用 cert-manager 也支持)
  • 身份认证走可插拔的 OAuth2/OIDC ,接入企业现有的 IdP ( Google 、GitHub 、LDAP 、SAML 等)基本零改动

    技术栈
    [td]层级[/td]
    [td]技术[/td]
    后端
    Go 1.26 、Beego 、MySQL
    前端
    React 18 、Ant Design 6 、recharts
    控制面
    内嵌 API Server / Controller Manager / Scheduler
    支持 Linux / macOS / Windows 三端运行。
    链接
  • GitHub: https://github.com/casosorg/casos
  • 官网: https://www.casos.net
  • 文档:随仓库一起开源,欢迎 PR 和 issue

    如果你也烦透了为了跑个 Dashboard 先要搭一整套 K8s ,欢迎来试试,也欢迎来吐槽。
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部