Closed Din-He closed 2 years ago
问题解决了。 整个过程描述: 我部署consul的服务器ping不通我启动springboot程序的电脑,我电脑可以ping通consul所在服务器。 我在springboot程序bootstrap.yml开启了consul健康检查(consul-server 请求我的电脑,自然是请求不通),所以在consul ui页面上看到我的服务是红叉的状态,然后我在网上搜索为什么consul服务会有红叉?看到一个解决办法是说加上heartbeat.enabled: true 配置。然后我的服务就报上面的错了。首先heartbeat.enabled: true这段配置的意思是说开启心跳检测,就是我主动向consul-server报告我的服务状态,我猜测应该是这过程中用到了000002这个token,然而consul-server可能需要serveice:write权限,这样就报错了。。。。还是有待深入研究consul的心跳检测是怎么回事。
综上,是因为自己对consul的原理不理解所导致的。唉,,,困扰了我很久这问题。
good good study,day day up。
Community Note
Overview of the Issue
k8s环境下使用helm部署consul。之后在springboot应用中使用global-management token将服务注册到consul报错 token with AccessorID '00000000-0000-0000-0000-000000000002' lacks permission 'service:write' on "demo20221017"
Reproduction Steps
kubectl get pod -n consul1 查看所有pod运行都正常,其他组件也是正常的,然后我在chrom输入ip:30088/ 访问ui页面看到services中consul instance也是正常的 同时自动生成了一些token
Logs
Expected behavior
Environment details
Additional Context