在consul connect中,为什么consul服务需要与consul服务名称同名的服务帐户? &

  • 本文关键字:consul 服务 connect kubernetes consul
  • 更新时间 :
  • 英文 :


我正在尝试consul connect。当我提供的服务帐户名称与部署的服务名称不匹配时,我得到以下错误:

[ERROR] service account name abc doesn't match Consul service name xyz

Consul文档说下面的

如果启用了acl, serviceAccountName必须与Consul服务名称匹配。

这背后的原因是什么?

要识别由Kubernetes创建的工作负载,Consul需要为应用程序创建一个服务帐户。服务帐户是唯一的凭据,用作工作负载的基本标识。

当sidecar代理启动时,使用服务帐户令牌向Consul进行身份验证,以便将代理注册到控制平面。Consul与Kubernetes API服务器联系,检查令牌是否对正在注册的工作负载有效。例如,服务web的服务帐户正在为名为web的服务注册sidecar,而不是其他服务名称。

这就是服务帐户名称需要与服务名称匹配的原因。

Consul关于ACL验证方法的文档对此有更详细的解释。

相关内容

  • 没有找到相关文章

最新更新