K8s通过Helm部署NATS后nats-box内nats-sub命令不存在如何解决
问题原因
该报错由nats-box版本迭代后的命令规则变更导致,和服务部署状态无关。
nats-box从v0.10.0版本开始,将原有的nats-sub、nats-pub、nats-req等独立测试命令,全部整合为统一nats命令行工具的子命令,旧的独立命令名已被完全移除。你部署时拉取的是v0.11.0版本nats-box,自然无法识别旧命令,而Helm chart安装完成后的输出提示未同步更新适配新版本CLI规则,才给出了过时的错误命令指引。
解决方案
直接使用新版natsCLI的对应子命令完成测试即可,新旧命令映射关系:
- 订阅主题:原
nats-sub <主题名>替换为nats sub <主题名> - 发布消息:原
nats-pub <主题名> <消息内容>替换为nats pub <主题名> <消息内容> - 发送请求:原
nats-req相关命令替换为nats req子命令
完整连通性测试操作参考:
# 进入nats-box容器环境 kubectl exec -n default -it deployment/test-nats-box -- /bin/sh -l # 后台订阅test主题 nats sub test & # 向test主题发布hi消息,验证收发正常 nats pub test hi
如果必须使用旧版独立命令,可以在安装Helm chart时手动指定v0.10.0之前版本的nats-box镜像,常规使用更推荐适配新版统一CLI,兼容性和后续维护成本更低。
内容的提问来源于stack exchange,提问作者Woody1193
相关产品推荐
相关产品推荐

