使用 Mistral 在任意云上执行工作流¶
无需在 Mistral 服务器端进行额外配置,即可在任意云上执行工作流。即使 Mistral 未部署在 OpenStack 环境中(即,没有 Keystone 集成),也可以让 Mistral 使用外部 OpenStack 云。
当 Mistral 以独立模式使用时,此设置特别有用,在这种模式下,Mistral 服务不是 OpenStack 云的一部分,而是单独运行。
为了启用此操作,用户可以使用 --os-target-username、--os-target-password、--os-target-tenant-id、--os-target-tenant-name、--os-target-auth-token、--os-target-auth-url、--os-target_cacert 和 --os-target-region-name 参数。
例如,用户可以使用此设置返回 heat 堆栈列表,如下所示
$ mistral \
--os-target-auth-url=http://keystone2.example.com:5000/v3 \
--os-target-username=testuser \
--os-target-tenant=testtenant \
--os-target-password="MistralRuleZ" \
--os-mistral-url=http://mistral.example.com:8989/v2 \
run-action heat.stacks_list
可以将 OS-TARGET-* 参数设置为环境变量,如下所示
$ export OS_TARGET_AUTH_URL=http://keystone2.example.com:5000/v3
$ export OS_TARGET_USERNAME=admin
$ export OS_TARGET_TENANT_NAME=tenant
$ export OS_TARGET_PASSWORD=secret
$ export OS_TARGET_REGION_NAME=region
关于 –os-target_cacert 参数的说明¶
可以使用 –os-target_cacert 参数为与目标云的 Keystone 服务的 SSL 通信设置 CA 证书。CA 证书文件不会传输到 Mistral 服务器。用户有责任确保 Mistral Executor 可以访问 SSL 证书,并且可以与目标云进行 SSL 通信。为了测试目的,建议使用 –target_insecure 参数。