【问题标题】:In consul connect why does consul service needs the service account with the same name as the consul service name?在 consul connect 中为什么 consul 服务需要与 consul 服务名同名的服务账号?
【发布时间】:2021-08-09 14:00:29
【问题描述】:

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

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

领事文件说明如下

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

这背后的原因是什么?

【问题讨论】:

    标签: kubernetes consul


    【解决方案1】:

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

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

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

    Consul 在ACL Auth Methods 上的文档对此进行了更详细的解释。

    【讨论】:

      猜你喜欢
      • 2017-08-08
      • 1970-01-01
      • 2017-12-31
      • 2017-06-30
      • 2019-05-27
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多