Naftis 是一个基于 web 的 Istio dashboard,通过任务模板的方式来帮助用户更方便地执行 Istio 任务。 用户可以在 Naftis 中定义自己的任务模板,并填充变量来构造单个或多个构造任务实例,从而完成各种服务治理功能。
代码结构
. ├── bin # 存放编译好的 Go 二进制文件 ├── config # 存放配置文件 │ ├── in-cluster.toml # 在 Kubernetes 集群中启动的配置 │ └── in-local.toml # 本地启动的配置 ├── install # Helm Charts │ └── helm │ ├── mysql │ └── naftis ├── src # 源码 │ ├── api # 后端 Go API 服务源码 │ │ ├── bootstrap # 启动 Go API 服务相关参数包 │ │ ├── executor # task 队列执行器 │ │ ├── handler # HTTP handlers │ │ ├── log # 基于 zap 封装的 log 包 │ │ ├── middleware # HTTP 中间件 │ │ ├── model # 全局通用 model │ │ ├── router # HTTP 路由 │ │ ├── service # 封装好的服务 │ │ ├── storer # db storer │ │ ├── util # 工具类包 │ │ ├── version # 提供运行时的版本信息等显示的支持 │ │ ├── worker # task worker │ │ └── main.go # Go API 入口 │ └── ui # 前端源码 │ ├── build # Webpack 打包脚本 │ ├── src # 前端 js 源码 │ ├── package.json │ ├── package-lock.json │ ├── postcss.config.js │ ├── README-CN.md │ └── README.md ├── tool # Makefile 可能会用到的一些编译脚本 │ ├── img │ ├── apppkg.sh │ ├── build.sh │ ├── clean.sh # 清理 Naftis │ ├── conn.sh │ ├── genmanifest.go # 生成 Kubernetes 部署清单 │ ├── gentmpl.go │ ├── naftis.sql # Naftis 数据迁移脚本 │ ├── naftis.conf # Naftis Nginx 配置文件 │ └── version.sh ├── vendor # Go 依赖 ├── Dockerfile.api # 编译 Go API 镜像的 dockerfile ├── Dockerfile.ui # 编译前端 UI 镜像的 dockerfile ├── Gopkg.lock # dep 版本锁定文件,由 dep 生成 ├── Gopkg.toml # dep 版本约束文件,用户可编辑 ├── LICENSE ├── Makefile # Makefile文件 ├── mysql.yaml # Kubernetes MySQL 部署清单,由 Helm 生成 ├── naftis.yaml # Kubernetes API 和 UI 部署清单,由 Helm 生成 ├── README-CN.md ├── README.md └── run # 本地快速启动脚本
功能
内部集成了一些常用 dashboard
可定制的任务模板支持
支持回滚指定任务
支持指定根服务节点的服务拓扑图
提供查看 Istio 的 Services 和 Pod 的支持
开箱即用,通过 Kubectl 相关指令即可快速部署
支持 Istio 1.0
预览
Dashboard
Dashboard 页面集成了一些常用的图表,比如请求成功率、4XX请求数量等。
服务管理
服务详情
服务详情页面可以查看查看已部署到 Kubernetes 中服务信息。
服务 Pod 和拓扑图等
服务详情页面可以查看服务 Pod 和拓扑图等信息。
评论