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 和拓扑图等信息。