我正在尝试与领事联系。当我给出的服务帐户名称与部署的服务名称不匹配时,我会收到以下错误。
[ERROR] service account name abc doesn't match Consul service name xyz
领事文件如下所述
如果启用了serviceAccountName,ACL必须与领事服务名称匹配。
这背后的原因是什么?
发布于 2021-08-30 04:25:26
为了识别Kubernetes创建的工作负载,Consul需要为应用程序创建一个服务帐户。服务帐户是用作工作负载的基本标识的唯一凭据。
当sidecar代理启动时,服务帐户令牌用于向Consul进行身份验证,以向控制平面注册代理。Consul联系Kubernetes API服务器以检查令牌对于正在注册的工作负载是否有效。例如,服务web的服务帐户用于注册名为web的服务的sidecar,而不是其他服务名称。
这就是服务帐户名需要与服务名匹配的原因。
Consul在ACL Auth Methods上的文档稍微详细地解释了这一点。
https://stackoverflow.com/questions/68713380
复制相似问题