Naftis - Istio 管理面板
Apache 2.0
跨平台
Google Go
软件简介
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 和拓扑图等信息。