2.6. OpenStack 的先决条件
以下先决条件适用于 OpenStack 迁移:
- 您必须使用 兼容版本的 OpenStack。
2.6.1. 使用 OpenStack 源供应商迁移的其他验证方法
MTV 版本 2.6 及更新的版本除了标准用户名和密码凭证集外,还支持使用 OpenStack 源供应商迁移的以下验证方法:
- 令牌身份验证
- 应用程序凭证身份验证
您可以使用这些方法通过 CLI 将虚拟机与 OpenStack 源供应商迁移,这与迁移其他虚拟机的方式相同,除非您如何准备 Secret
清单。
2.6.1.1. 将令牌身份验证与 OpenStack 源提供程序搭配使用
在创建 OpenStack 源供应商时,您可以使用令牌身份验证,而不是用户名和密码身份验证。
MTV 支持以下令牌身份验证类型:
- 使用用户 ID 的令牌
- 使用用户名令牌
对于每种类型的令牌身份验证,您需要使用 OpenStack 中的数据来创建 Secret
清单。
先决条件
具有 OpenStack 帐户。
流程
- 在 OpenStack web 控制台的仪表板中,点 Project > API Access。
扩展 Download OpenStack RC 文件 并点击 OpenStack RC 文件。
下载的文件,这里称为 <
openstack_rc_file
>,包括用于令牌身份验证的以下字段:OS_AUTH_URL OS_PROJECT_ID OS_PROJECT_NAME OS_DOMAIN_NAME OS_USERNAME
要获取令牌身份验证所需的数据,请运行以下命令:
$ openstack token issue
此处称为 <
openstack_
gt; 的输出,包括使用具有token
_output&用户 ID
的令牌进行身份验证的令牌、userID 和projectID
。创建类似如下的
Secret
清单:对于使用用户 ID 的令牌进行身份验证:
cat << EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: openstack-secret-tokenid namespace: openshift-mtv labels: createdForProviderType: openstack type: Opaque stringData: authType: token token: <token_from_openstack_token_output> projectID: <projectID_from_openstack_token_output> userID: <userID_from_openstack_token_output> url: <OS_AUTH_URL_from_openstack_rc_file> EOF
对于使用具有用户名的令牌进行身份验证:
cat << EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: openstack-secret-tokenname namespace: openshift-mtv labels: createdForProviderType: openstack type: Opaque stringData: authType: token token: <token_from_openstack_token_output> domainName: <OS_DOMAIN_NAME_from_openstack_rc_file> projectName: <OS_PROJECT_NAME_from_openstack_rc_file> username: <OS_USERNAME_from_openstack_rc_file> url: <OS_AUTH_URL_from_openstack_rc_file> EOF
-
根据迁移虚拟机的流程,从第 2 步开始,"为源供应商创建
提供程序
清单"开始,继续 迁移您的虚拟机。
2.6.1.2. 将应用凭据身份验证与 OpenStack 源提供程序搭配使用
在创建 OpenStack 源供应商时,您可以使用应用程序凭据身份验证而不是用户名和密码身份验证。
MTV 支持以下应用程序凭证身份验证类型:
- 应用程序凭证 ID
- 应用程序凭证名称
对于每种类型的应用程序凭据身份验证,您需要使用 OpenStack 中的数据来创建 Secret
清单。
先决条件
您有一个 OpenStack 帐户。
流程
- 在 OpenStack web 控制台的仪表板中,点 Project > API Access。
扩展 Download OpenStack RC 文件 并点击 OpenStack RC 文件。
下载的文件,这里称为 <
openstack_rc_file&
gt;,包括用于应用程序凭证身份验证的以下字段:OS_AUTH_URL OS_PROJECT_ID OS_PROJECT_NAME OS_DOMAIN_NAME OS_USERNAME
要获取应用程序凭证身份验证所需的数据,请运行以下命令:
$ openstack application credential create --role member --role reader --secret redhat forklift
此处的输出称为 <
openstack_credential_output>
,包括:-
使用应用程序凭证 ID 进行身份验证的
id
和secret
-
使用应用程序凭证
名称
进行身份验证所需的名称和secret
-
使用应用程序凭证 ID 进行身份验证的
创建类似如下的
Secret
清单:使用应用程序凭证 ID 进行身份验证:
cat << EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: openstack-secret-appid namespace: openshift-mtv labels: createdForProviderType: openstack type: Opaque stringData: authType: applicationcredential applicationCredentialID: <id_from_openstack_credential_output> applicationCredentialSecret: <secret_from_openstack_credential_output> url: <OS_AUTH_URL_from_openstack_rc_file> EOF
使用应用程序凭证名称进行身份验证:
cat << EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: openstack-secret-appname namespace: openshift-mtv labels: createdForProviderType: openstack type: Opaque stringData: authType: applicationcredential applicationCredentialName: <name_from_openstack_credential_output> applicationCredentialSecret: <secret_from_openstack_credential_output> domainName: <OS_DOMAIN_NAME_from_openstack_rc_file> username: <OS_USERNAME_from_openstack_rc_file> url: <OS_AUTH_URL_from_openstack_rc_file> EOF
-
根据迁移虚拟机的流程,从第 2 步开始,"为源供应商创建
提供程序
清单"开始,继续 迁移您的虚拟机。