Qubernetes改造为GKE四节点Quorum Helm Chart时Tessera连接URL错误咨询
问题原因
导致该问题的核心原因是节点域名拼接时使用的release名称和你部署时指定的consensys-nw不一致,常见触发场景如下:
- 你修改的ConfigMap文件不在Chart的
templates/目录下,只有该目录下的文件才会被Helm识别为模板并渲染内置变量,放在其他目录的文件会被当做静态资源直接部署,导致变量未被正确替换。 - 原Qubernetes Chart的values.yaml中存在自定义的release前缀变量(例如
global.releaseName、quorum.nodePrefix等),Chart原有逻辑优先使用该自定义变量拼接节点域名,覆盖了内置的.Release.Name取值。 - 你本地部署过旧的Release名称为
consensys的实例,旧的ConfigMap没有被正确清理,Tessera加载了旧配置。 - 部署时使用了
--generate-name、--name-template等参数,导致实际生效的Release名称和你预期的consensys-nw不一致。
解决步骤
- 先验证当前部署的Release实际名称,执行命令
helm list -n <你的部署命名空间>,确认NAME列取值为consensys-nw,如果不一致,删除错误实例后重新执行部署命令:helm install consensys-nw <你的Chart本地路径> -n <部署命名空间> - 确认你修改的ConfigMap文件放在Chart的
templates/目录下,否则移动到该目录后重新部署。 - 检查values.yaml文件中的自定义前缀配置,如果存在
releasePrefix类的变量,直接将其值修改为consensys-nw,或者将模板中引用该变量的地方替换为{{ .Release.Name }}。 - 本地先渲染模板验证配置是否正确,执行命令
helm template consensys-nw <你的Chart本地路径>,查看输出的ConfigMap中的peer地址是否符合预期,如果渲染结果正确但部署后不生效,可先删除旧的ConfigMap再执行升级:helm upgrade consensys-nw <你的Chart本地路径> --force - 检查Tessera容器的启动参数和环境变量,确认没有其他地方硬编码了peer地址覆盖了你修改的ConfigMap配置。
内容的提问来源于stack exchange,提问作者Ganesh Pol
相关产品推荐
相关产品推荐

