为什么我在添加端点时收到 not found
错误?
如果您在添加服务或端点时收到 404 错误,请确保您先创建了命名空间和服务(按此顺序),然后再添加端点。您必须先创建服务,然后才能添加其他端点。
为什么我在查询服务时没有看到任何端点?
确保请求中的项目、区域、命名空间名称和服务名称均正确无误,并且与您注册端点的位置一致。所有 Service Directory 服务都位于区域命名空间中,因此在一个区域注册的服务与另一个区域中的数据不匹配。
我向某人授予了某项服务的访问权限,但对方仍会收到 permission denied
。
这可能有几个原因。首先,请检查地区是否正确。
如果您对某个命名空间或服务设置了政策,该政策仅适用于该特定区域。如果用户尝试在其他区域注册或查找同一服务,除非您还向他们授予对该区域性服务的 IAM 访问权限,否则他们将无权访问。如需调试访问问题,请尝试针对服务和命名空间使用 TestIamPermissions
方法。
我添加了一些端点,然后移除了服务后端。为什么端点仍然存在?
Service Directory 不会执行自动健康检查或心跳,也不会移除端点,除非您明确移除端点。请务必向服务后端/编排器添加代码,以便在端点不再存在时从 Service Directory 中移除该端点。我们建议您在端点上使用有效期注解字段,以记录端点的上次注册或更新时间。
我可以查找端点,但每次尝试连接到这些端点时都会失败。
Service Directory 无法确保从客户端可达服务。服务会直接向 Service Directory 注册其端点。不过,向 Service Directory 注册的地址可能无法路由(尤其是当客户端和服务器位于不同的专用网络中时)。如果端点可从客户端路由,则可能是端点运行状况不佳。请参阅以下问题。
如何为端点添加运行状况数据,以便客户端知道要连接到哪个端点?
使用客户端负载均衡时,我们建议服务后端偶尔更新端点上的注释字段,以便客户端据此决定连接到哪个后端。Service Directory 不会检查或评估这些数据。
我已创建一个命名空间。为什么我无法为其分配 Cloud DNS 专用区域?
确保您拥有该命名空间的 servicedirectory.namespaces.associatePrivateZone
IAM 权限,因为此权限可让您创建关联的专用网域。默认情况下,Project Editor、Project Owner、Service Directory Admin 和 Service Directory Editor 角色具有此权限。
当我对服务执行 DNS 查询时,为什么没有收到任何端点?
可能的原因有很多,例如:
- 关联的命名空间已被删除。您可以通过对专用区域运行
get
命令来检查这一点。如果设置了serviceDirectoryConfig.deletionTime
,则关联的命名空间及其所有端点都已被删除。 - 确认您是从允许查询专用区域的网络发出请求。您可以在专用区域上运行
get
命令,找到网络列表。 - 该服务没有(有效的)端点。通过 Service Directory API 对服务运行
resolve
命令,确保服务不为空且至少有一个有效的端点 IP。DNS 支持仅适用于具有有效 IPv4 或 IPv6 IP 地址的端点。 - 请确保您查询的是正确的区域。例如,假设您创建了一个名为 example.com 的 Service Directory 区域,并且您还有另一个名为 billing.example.com 的(标准)专用区域。那么,对 billing.example.com 的任何 DNS 查询都会返回属于 billing.example.com 区域的资源记录,而不是与 example.com 关联的 Service Directory 命名空间中的 billing 服务。如需了解详情,请参阅域名解析顺序。
为什么我的 GKE 服务无法同步到 Service Directory?
可能的原因有很多,例如:
- 确认您已在 GKE 集群中为要同步的命名空间部署了
ServiceDirectoryRegistrationPolicy
。此外,请确认您尝试同步的服务与政策中的标签选择器相符。 - 已存在一个手动创建或使用其他集成创建的 Service Directory 命名空间,其名称与您尝试同步的 GKE 命名空间相同。您必须重命名或删除现有的 Service Directory 命名空间,以免发生冲突。
- 我们移除了您的 Service Directory 服务账号的权限。
确保
service-{PROJECT_NUMBER}@gcp-sa-servicedirectory.iam.gserviceaccount.com
具有Service Directory Service Agent
IAM 权限。如需详细了解 IAM,请参阅 IAM 文档。
后续步骤
- 如需详细了解功能,请参阅 Service Directory 概览。
- 如需获取其他帮助,请参阅获取支持。