OpenStack 管理サーバ API を使用して、OpenStack をデプロイすることができます。

API の詳細については、VMware {code} にあるVMware Integrated OpenStack API リファレンスを参照してください。

前提条件

  • ネットワークおよび vCenter Server 環境を準備します。環境の準備を参照してください。

  • vCenter Server インスタンスに VMware Integrated OpenStack をインストールします。VMware Integrated OpenStack のインストールを参照してください。

  • 必要なすべてのクラスタとデータストアが使用可能であることを確認します。

    • クラスタに必要な数のホストとデータストアが含まれており、別のノードで使用されていないことを確認してください。

    • データストアが正しいクラスタにマウントされており、まだ構成されていないことを確認してください。

  • DNS サーバが正しく設定され、ネットワーク ゲートウェイまたはファイアウォールによってプライベート ネットワーク上の DNS 要求が転送されていることを確認します。

手順

  1. vSphere Client で、[メニュー] > [VMware Integrated OpenStack] の順に選択します。
  2. 基本タスク[OpenStack 管理サーバに接続] をクリックします。
  3. OpenStack 管理サーバ を選択して、[OK] をクリックします。
  4. HTTP クライアントから、vCenter Server インスタンスの管理者認証情報を使用して、OpenStack 管理サーバ API エンドポイントを認証します。

    この手順では、例として cURL を使用しています。

    curl -X POST https://mgmt-server-ip:8443/login -d 'username=vcenter-user&password=vcenter-password' -v
  5. ユーザーの仕様で 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_backendVDS ネットワークに DVSNSX Data Center for vSphere ネットワークに NSXVNSX-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 パラメータは無視されます。

     

     

     

     

     

     

     

     

    注:

    ブロック ストレージに使用するデータストア クラスタを指定するには、volumnattributes セクション内に次のパラメータを含めます。

    "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 の値を設定します。

次のタスク

VMware Integrated OpenStack ライセンス キーの割り当て