4.2. 对 Identity Client(keystone)连接问题进行故障排除


当身份客户端(keystone)无法联系其身份服务,它会返回错误:

Unable to communicate with identity service: [Errno 113] No route to host. (HTTP 400)

要调试问题检查这些常见原因:

身份服务关闭

身份服务现在在 httpd.service 中运行。在托管 Identity 服务的系统中,检查服务状态:

# systemctl status httpd.service

如果服务不激活,则以 root 用户身份登录并启动该服务。

# systemctl start httpd.service
防火墙没有被正确配置
防火墙可能没有配置为在端口 500035357 上允许 TCP 流量。如果是这样,请参阅高级 Overcloud 自定义指南中的管理 Overcloud 防火墙,以了解有关检查防火墙设置和定义自定义规则的说明。
Service Endpoints 没有正确定义

在托管身份服务的系统上,检查端点是否已正确定义。

  1. 获取管理令牌:

    # grep admin_token /etc/keystone/keystone.conf
    admin_token = 91f0866234a64fc299db8f26f8729488
  2. 确定身份服务的正确管理端点:

    http://IP:35357/VERSION

    使用托管身份服务的系统的 IP 地址或主机名替换 IP。将 VERSION 替换为正在使用的 API 版本( v2.0 或 v3)。

  3. 取消设置任何预定义身份服务相关环境变量:

    # unset OS_USERNAME OS_TENANT_NAME OS_PASSWORD OS_AUTH_URL
  4. 使用管理令牌和端点与身份服务进行身份验证。确认 Identity 服务端点正确。例如:

    # openstack endpoint list --os-token=91f0556234a64fc299db8f26f8729488 --os-url=https://osp.lab.local:35357/v3/  --os-identity-api-version 3

    验证 Identity 服务中列出的 publicurl内部 url 和 adminurl 是否都正确。特别是确保每个端点中列出的 IP 地址和端口号正确,并可通过网络访问。

    如果这些值不正确,请添加正确的端点,并使用 openstack 命令的 endpoint delete 操作删除任何不正确的端点。例如:

    # openstack endpoint delete 2d32fa6feecc49aab5de538bdf7aa018  --os-token=91f0866234a64fc299db8f26f8729488 --os-url=https://osp.lab.local:35357/v3/ --os-identity-api-version 3

    TOKENENDPOINT 替换为前面标识的值。将 ID 替换为要按照 endpoint-list 操作列出的端点的身份。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部