English / 中文
Magi 是一个基于 K8s 的 GitOps PaaS。可以通过可视化的页面对项目、应用、环境变量等进行管理,配置及发布,所有变更会记录在 git 中,并通过 FluxCD 同步到 K8s 集群。Magi 使用了 Kustomize 来管理 K8s yaml 文件,提供了丰富的扩展功能的同时,没有引入过多的概念,减少了额外的学习成本,即使脱离 Magi 使用 git 仓库中的 yaml 文件依然可以用 kubectl 等工具轻松部署你的项目。
功能:
- GitOps,所有的 yaml 文件均保存在 git 仓库中,所有的变更会使用 git 记录。
- 支持多集群,多环境,多变量管理。
- 支持配置文件版本管理。
- 支持国际化。
- 用户名: demo
- 密码: Magi@1
前置条件: 一个 K8s 集群, 一个安装了 docker 和 docker-compose 的环境
-
在 K8s 集群中安装 FluxCD。具体操作可以参照官方文档。
注意:
- 现在只支持 GitHub 仓库。
- 只支持 FluxCD 的单仓库模式。
- 只支持 Kustomize, 所以可以不需要 [Helm Controller] 组件。
- path 参数必须是 clusters/ , foo 需要与在 Magi 中添加集群时的 code 一致。
安装命令与下面类似:
flux bootstrap github \ --owner=you \ --repository=magi-flux \ --path=clusters/cluster-01 \ --private=true \ --personal=true \ --components=source-controller,kustomize-controller
-
克隆项目
git clone https://github.com/magi/magi.git
-
跳转到 docker compose 目录
cd magi/hack/deploy/docker-compose
-
修改 Magi 的配置文件
config/magi-config.yaml
, git 仓库需要配置为上面 FluxCD 的仓库 -
运行 Magi
docker-compose -p magi up -d
当所有容器启动后,可以在浏览器中使用默认的 8086 端口访问。
默认的用户名和密码为
admin
,admin
。
- 添加对资源的权限管理
- 添加 LDAP 支持
- 添加 FluxCD 状态查看页面
- 支持 GitLab
Magi 是基于 Apache License 2.0 协议, 详情请参考 license。