使用 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 参数。