OpenStack 管理サーバ API を使用して、OpenStack をデプロイすることができます。
API の詳細については、VMware {code} にあるVMware Integrated OpenStack API リファレンスを参照してください。
前提条件
ネットワークおよび vCenter Server 環境を準備します。環境の準備を参照してください。
vCenter Server インスタンスに VMware Integrated OpenStack をインストールします。VMware Integrated OpenStack のインストールを参照してください。
必要なすべてのクラスタとデータストアが使用可能であることを確認します。
クラスタに必要な数のホストとデータストアが含まれており、別のノードで使用されていないことを確認してください。
データストアが正しいクラスタにマウントされており、まだ構成されていないことを確認してください。
DNS サーバが正しく設定され、ネットワーク ゲートウェイまたはファイアウォールによってプライベート ネットワーク上の DNS 要求が転送されていることを確認します。
手順
- vSphere Client で、[メニュー] > [VMware Integrated OpenStack] の順に選択します。
- 基本タスク で [OpenStack 管理サーバに接続] をクリックします。
- OpenStack 管理サーバ を選択して、[OK] をクリックします。
- HTTP クライアントから、vCenter Server インスタンスの管理者認証情報を使用して、OpenStack 管理サーバ API エンドポイントを認証します。
この手順では、例として cURL を使用しています。
curl -X POST https://mgmt-server-ip:8443/login -d 'username=vcenter-user&password=vcenter-password' -v
- ユーザーの仕様で OpenStack をデプロイします。
curl -X POST https://mgmt-server-ip:8443/v1/clusters -b JSESSIONID=session-id -d '{specifications}'
JSESSIONID の値は、手順 1 の出力に表示されます。
スキーマは次のとおりです。
{ "attributes": {}, "deployment_type": "{LARGE | SINGLEVM | TINY}", "management_cluster": { "moid": "mgmt-cluster-moid", "name": "mgmt-cluster-name" }, "name": "deployment-name", "network_mapping": { "data_network": "api-access-network-name", "external_network": "external-network-name", "management_network": "mgmt-network-name", "metadata_network": "metadata-network-name" }, "networkings": [ { "dns1": "dns-server-ip1", "dns2": "dns-server-ip2", "gateway": "gateway-ip", "ip_blocks": [ { "begin_ip": "ip-range-start", "end_ip": "ip-range-end" } ], "name": "network-name", "netmask": "subnet-mask", "portgroup_moref": "port-group-moid", "portgroup_name": "port-group-name" } ], "openstack_info": { "attributes": {}, "availability_zones": [ { "attributes": {}, "name": "az-name" } ], "compute": { "attributes": {}, "compute_clusters": [ { "attributes": {}, "availability_zone_name": "compute-cluster-az", "cluster_moid": "compute-cluster-moid", "cluster_name": "compute-cluster-name", "datastore_regex": "compute-datastores", "esxi_netmask": "host-subnet-mask", "vcenter_ip": "compute-vcserver-ip" } ] }, "identity": { "ad_domains": [ { "attributes": {}, "bind_password": "ldap-ad-user-password", "bind_user": "ldap-ad-user", "force_ldaps": {true | false}, "ldap_admin_user": "ldap-admin", "ldap_certificates": [ "cert-content" ], "ldap_group_desc_attribute": "group-description", "ldap_group_filter": "group-search-filter", "ldap_group_id_attribute": "group-id", "ldap_group_member_attribute": "group-member", "ldap_group_name_attribute": "group-name", "ldap_group_objectclass": "group-object-class", "ldap_group_tree_dn": "group-tree-dn", "ldap_search_scope": "search-scope", "ldap_url": "ldap-url", "ldap_use_start_tls": {true | false}, "ldap_user_enabled_attribute": "enabled-attribute", "ldap_user_filter": "user-search-filter", "ldap_user_id_attribute": "user-id", "ldap_user_mail_attribute": "user-email", "ldap_user_name_attribute": "user-name", "ldap_user_objectclass": "user-object-class", "ldap_user_pass_attribute": "user-password", "ldap_user_tree_dn": "user-tree-dn" } ], "admin_project_name": "admin-project-name", "attributes": {}, "sql_domain": { "admin_password": "admin-password", "admin_user": "admin-username", "attributes": {} }, "token_expiration_time": "token-expiration-seconds" }, "image": { "datastores": [ { "datastores": "glance-datastore", "vcenter_ip": "glance-vcserver-ip" } ], "glance_folder": "image-folder" }, "network": { "attributes": {}, "dvs": {}, "neutron_backend": "{DVS | NSXV | NSXV3}", "nsxv": { "nsxv_dvs_moref": "nsxv-vds-moid", "nsxv_dvs_name": "nsxv-vds-name", "nsxv_edge_cluster_moref": "edge-cluster-moid", "nsxv_edge_cluster_name": "edge-cluster-name", "nsxv_edge_ha": "{TRUE | FALSE}", "nsxv_exclusive_router_appliance_size": "string", "nsxv_external_network_name": "external-network-name", "nsxv_manager": "nsx-manager-ip", "nsxv_password": "nsx-manager-password", "nsxv_username": "nsx-manager-username", "nsxv_vdn_scope_moref": "vdn-scope-moid" }, "nsxv3": { "nsxv3_api_managers": "nsx-manager-ip", "nsxv3_api_password": "nsx-manager-password", "nsxv3_api_username": "nsx-manager-username", "nsxv3_default_overlay_tz": "nsx-overlay-zone", "nsxv3_default_tier0_router": "t0-router", "nsxv3_default_vlan_tz": "nsx-vlan-zone", "nsxv3_edge_cluster_name": "edge-cluster-name", "nsxv3_edge_cluster_uuid": "edge-cluster-uuid", "nsxv3_md_shared_password": "metadata-proxy-secret", "nsxv3_native_dhcp_profile": "dhcp-profile", "nsxv3_native_dhcp_profile_oms_create": "{true | false}", "nsxv3_native_md_proxy": "metadata-proxy-ip" "nsxv3_native_md_proxy_oms_create": "{true | false}" } }, "region_name": "openstack-region", "syslog": { "port": "port-number", "protocol": "{UDP | TCP}", "server": "syslog-server-ip", "tag": "string" }, "vcenter_insecure": "{true | false}", "volumn": { "attributes": {}, "cinder_folder": "cinder-folder" } }, "public_access": { "public_hostname": "public-api-hostname", "public_vip": "public-api-vip" }, "root_ca_certificates": [ "root-ca-content" ], "vcenters": [ { "attributes": {}, "hostname": "vcserver-hostname", "password": "vcserver-admin-password", "username": "vcserver-admin-user" } ], "version": "v1" }
deployment_type:HA デプロイの場合は LARGE、コンパクト デプロイには SINGLEVM、小規模のデプロイには TINY と入力します。
networkings︰構成するネットワークごとに networkings セクションのコンテンツのコピーを作成します。各ネットワークの name パラメータの値が network_mapping セクションの対応するネットワークの名前であることを確認します。
netmask︰ネットワーク アドレスとして netmask の値(たとえば、
255.255.255.0
)を入力します。availability_zones︰作成するアベイラビリティ ゾーンごとに availability_zones セクションのコンテンツのコピーを作成します。
compute_clusters︰構成するコンピューティング クラスタごとに compute_clusters セクションのコンテンツのコピーを作成します。
コンピューティング クラスタに使用するデータストア クラスタを指定するには、attributes セクション内に
"nova_datastore_cluster": "ds-cluster-name"
パラメータを含めます。datastore_regex:正規表現を入力して、一致するすべてのデータストアを追加できます。
重要:LDAP ドメインの設定はオプションです。この API で LDAP ドメインを設定する場合は、後で追加の LDAP ドメインを指定することはできません。デプロイで複数の LDAP ドメインを使用するには、OpenStack をデプロイしてから、ドメインを設定します。
neutron_backend:VDS ネットワークに DVS、NSX Data Center for vSphere ネットワークに NSXV、NSX-T Data Center ネットワークに NSXV3 と入力します。
nsxv セクションのフィールドは、NSX Data Center for vSphere ネットワークでのデプロイにのみ適用されます。nsxv3 セクションのフィールドは、NSX-T Data Center ネットワークでのデプロイにのみ適用されます。これらのフィールドの値は、その他のデプロイでは無視されます。
nsxv3_native_dhcp_profile_oms_create:OpenStack の DHCP プロファイルを自動的に生成するには、true を入力します。これで、nsxv3_native_dhcp_profile パラメータは無視されます。
nsxv3_native_md_proxy_oms_create:OpenStack のメタデータ プロキシ サーバを自動的に生成するには、true を入力します。これで、nsxv3_native_md_proxy パラメータは無視されます。
注:ブロック ストレージに使用するデータストア クラスタを指定するには、volumn の attributes セクション内に次のパラメータを含めます。
"cinder_vmware_datastore_cluster": "ds-cluster-name", "cinder_vmware_sdrs_default_cluster_name": "compute-cluster-name"
ブロック ストレージに使用するデータストア クラスタに cinder_vmware_datastore_cluster の値を設定します。raw Cinder ボリュームの作成時に使用するコンピューティング クラスタに cinder_vmware_sdrs_default_cluster_name の値を設定します。