授权协议:Apache 2.0
开发语言:Google Go
操作系统:跨平台
开发厂商:小米
软件作者:Newt0n
近年来服务网格(Service Mesh)已成为各大公司关注重点,各大公司纷纷开始调研 Service Mesh 相关架构。作为 Service Mesh 中的佼佼者, Istio 诞生之初就已吸引众多目光。
作为基础设施层, Istio 有优秀的服务治理能力。但使用 Istio 进行服务治理时,开发者需通过 istioctl 或 kubectl 工具在终端中进行操作,这种方式目前存在一些问题,举例如下:
1.
Istio 要求用户熟练掌握 istioctl 工具的数百种指令,有较高的学习成本。
2.
Istio 进行服务治理时需要的 yaml 配置文件的数量非常庞大,如何配置和管理这些配置文件,也是个难题。
3.
Istio 的 istioctl 工具没有用户权限的约束,存在一定安全隐患,无法适应大公司严格的权限管理需求。
4.
Istio 的 istioctl 工具不支持任务回滚等需求,在执行任务出错的情况下,无法快速回滚到上一个正确版本。
为了解决这些问题,小米信息部武汉研发中心为 Istio 研发出了一套友好易用的 dashboard —— Naftis 。
Naftis 意为水手,和 Istio (帆船)意境契合。作为 dashboard , Naftis 能使用户像水手一样熟练掌控和管理 Istio 。
功能
•
内部集成了一些常用 dashboard
•
可定制的任务模板支持
•
支持回滚指定任务
•
支持指定根服务节点的服务拓扑图
•
提供查看 Istio 的 Services 和 Pod 的支持
•
开箱即用,通过 Kubectl 相关指令即可快速部署
•
支持 Istio 1.0
预览
Dashboard
Dashboard 页面集成了一些常用的图表,比如请求成功率、4XX请求数量等。
服务管理
服务详情
服务详情页面可以查看查看已部署到 Kubernetes 中服务信息。
服务 Pod 和拓扑图等
服务详情页面可以查看服务 Pod 和拓扑图等信息。