[Feature] Refactor Nacos-Ctl and support more capabilities

fquxozlt  于 3个月前  发布在  Nacos
关注(0)|答案(2)|浏览(100)
  1. use golang redo nacos-ctl, more Lightweight、easy to build and cross-platform.
  2. supoort more func include test、query and cluster.
    2.1 test, such as nacos-ctl test naming --endpoint=127.0.0.1:8848, it will register to nacos fast
    2.2 query,query config or naming...
    2.3 update,update namespace、config、user、auth...
    2.4 cluster,such as nacos-ctl member add 192.168.1.2 then will start nacos node and add to original cluster, member delete, member down, member up, member status...

====================================
为什么要重构nacos-ctl

  1. 用go重构nacos-ctl,更轻量,启动更快,单次运行比jar快捷,并且更小
  2. 扩展nacos-ctl支持更多能力,针对测试,查询,资源定义,集群操作等控制台复杂的运维操作,并且紧跟社区拆分console和core,用户可选core+console或者core+ctl方式部署,下面是几个扩展点
    2.1 测试:用户想要快速测试部署的nacos服务注册和发现,又或者配置监听,都可以通过ctl快速实现,而不需要自己写一个服务测试,这点很像etcdctl,也有这些能力
    2.2 查询:查询配置,服务,甚至命名空间、用户名、权限等
    2.3 更新:更新配置,用户名,权限,新增命名空间等等
    2.4 集群:这个是重点,首先我们缺乏自测闭环的能力,如果依赖该ctl可以快速部署一套集群,类似kubectl,etcdctl都有类似能力,将节点数据快速备份拉新,对用户升级等都可以节省大量运维时间,例子:kubectl get node
iezvtpos

iezvtpos1#

赞成用 Go 或 Rust 重写

klsxnrf1

klsxnrf12#

不赞成重写,

  1. nacos-ctl应该是作为本地运维和查询的黑屏手段(用于不适合使用控制台访问的场景),因此伴随nacos一起使用的时候,环境中应该已经存在jre。
  2. 社区已经有nacos-ctl存在, 与其费力重写完又放着不维护, 不如将这个精力好好优化一下现有的nacos-ctl。

相关问题