OpenStack Glance 如何与 Keystone 配合使用,这些配置选项到底有什么用?

OpenStack Glance 如何与 Keystone 配合使用,这些配置选项到底有什么用?

我正在配置 Glance 以针对 Keystone 进行身份验证。它可以工作,但我不确定某些身份验证选项究竟如何交互。

我开始配置 Glance文档,但实际上并没有记录任何这些选项。我发现 身份验证文档,其中讨论了其中一些,但实际上并没有记录auth_uri

示例 Glance 配置在里面OpenStack 安装和部署手册看起来像这样:

[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
service_protocol = http
service_host = 127.0.0.1
service_port = 5000
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
auth_uri = http://127.0.0.1:5000/
admin_token = 012345SECRET99TOKEN012345

身份验证文档说:

以 auth_ 开头的变量指向 Keystone Admin 服务。中间件会使用此信息向 Keystone 实际查询身份验证令牌的有效性。

好的。那么如何auth_uriauth_hostauth_port和交互auth_protocol?可以简单地提供auth_uri并丢弃其他选项吗?是否有相应的service_uri 配置选项?为什么端口auth_uri对应于service_port上述配置中的而不是auth_port

Keystone 将端口称为35357“管理”端口,在我看来,这仅用于管理 Keystone(创建/删除服务、租户等)。而 Glance 将其称为“身份验证”端口,这表明用途不同。端口 35357 上的服务到底提供了什么,而端口 5000 上的服务没有提供?

答案1

首先检查: http://docs.openstack.org/ops/OpenStackOperationsGuide.pdf

查看 Glance 源代码...

tools/migrate_image_owners.py 

...是唯一引用 auth_uri 的文件。

看来这个变量无处不在,它有助于客户端和整个 openstack 中的身份验证令牌处理。它不是专门由 Glance 使用的……但它是由与中间件堆栈配合使用的实用程序使用的。

至于 keystone 上的 5000 和 35357 之间的区别......

http://docs.openstack.org/developer/keystone/api_curl_examples.html 对哪些 API 示例对两者有效,或无效进行了非常明确的讨论。

我对端口 5000 的理解是,它的具体用途是允许对 keystone 进行公共 API 身份验证,因此您不需要公开 35357 只是为了允许人们对其进行身份验证。

至于为什么每个与 keystone 相关的 openstack 组件里面都有 auth creds……说实话我不知道。

然而我应该指出 API v2 即将推出。尚未完全记录,它将开始对 keystone 的运行方式进行一些根本性的改变。

相关内容