Sie können OpenStack mithilfe der OpenStack Management Server-API bereitstellen.

Weitere Informationen zu APIs finden Sie in der API-Referenz für VMware Integrated OpenStack unter VMware {code}.

Voraussetzungen

  • Bereiten Sie Ihre Netzwerke und die vCenter Server-Umgebung vor. Siehe Vorbereiten Ihrer Umgebung.

  • Installieren Sie VMware Integrated OpenStack auf Ihrer vCenter Server-Instanz. Siehe Installieren von VMware Integrated OpenStack.

  • Stellen Sie sicher, dass alle erforderlichen Cluster und Datenspeicher zur Verfügung stehen.

    • Cluster müssen die benötigte Anzahl an Hosts und Datenspeichern enthalten und dürfen nicht von einem anderen Knoten verwendet werden.

    • Datenspeicher müssen auf den richtigen Cluster gemountet werden und dürfen nicht bereits konfiguriert sein.

  • Stellen Sie sicher, dass der DNS-Server ordnungsgemäß eingerichtet wurde und dass das Netzwerk-Gateway oder die Firewall DNS-Anforderungen an private Netzwerke weiterleitet.

Prozedur

  1. Wählen Sie im vSphere Web Client die Option Home > VMware Integrated OpenStack aus.
  2. Öffnen Sie die Registerkarte Übersicht.
  3. Überprüfen Sie unter Verbundener Server, ob die Adresse des OpenStack Management Server korrekt ist.
  4. Melden Sie sich mit einem HTTP-Client beim OpenStack Management Server-API-Endpoint an und verwenden Sie hierzu die Administratoranmeldedaten für Ihre vCenter Server-Instanz.

    In diesem Verfahren wird cURL als Beispiel verwendet.

    curl -X POST https://mgmt-server-ip:8443/v1/j_spring_security_check -d 'j_username=vcenter-user&j_password=vcenter-password' -v
  5. Stellen Sie OpenStack mit Ihren Spezifikationen bereit.
    curl -X POST https://mgmt-server-ip:8443/v1/clusters -b JSESSIONID=session-id -d '{specifications}'

    Der Wert von JSESSIONID wird in der Ausgabe aus Schritt 1 angezeigt.

    Das Schema lautet wie folgt:

    {
      "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-cluster-regex",
              "vcenter_ip": "compute-vcserver-ip"
            }
          ]
        },
        "identity": {
          "ad_domains": [
            {
              "attributes": {},
              "bind_password": "string",
              "bind_user": "string",
              "force_ldaps": {true | false},
              "ldap_admin_user": "string",
              "ldap_certificates": [
                "string"
              ],
              "ldap_group_desc_attribute": "string",
              "ldap_group_filter": "string",
              "ldap_group_id_attribute": "string",
              "ldap_group_member_attribute": "string",
              "ldap_group_name_attribute": "string",
              "ldap_group_objectclass": "string",
              "ldap_group_tree_dn": "string",
              "ldap_url": "string",
              "ldap_use_start_tls": true,
              "ldap_user_enabled_attribute": "string",
              "ldap_user_filter": "string",
              "ldap_user_id_attribute": "string",
              "ldap_user_mail_attribute": "string",
              "ldap_user_name_attribute": "string",
              "ldap_user_objectclass": "string",
              "ldap_user_pass_attribute": "string",
              "ldap_user_tree_dn": "string"
            }
          ],
          "admin_project_name": "admin-project-name",
          "attributes": {},
          "sql_domain": {
            "admin_password": "admin-password",
            "admin_user": "admin-username",
            "attributes": {}
          },
          "token_expiration_time": "string"
        },
        "image": {
          "datastores": [
            {
              "datastores": "string",
              "vcenter_ip": "string"
            }
          ],
          "glance_folder": "string"	
        },
        "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": "string",
            "nsxv_manager": "nsx-manager-ip",
            "nsxv_password": "nsx-manager-password",
            "nsxv_username": "nsx-manager-username",
            "nsxv_vdn_scope_moref": "string"
          },
          "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-tz",
            "nsxv3_default_tier0_router": "t0-router",
            "nsxv3_default_vlan_tz": "nsx-vlan-tz",
            "nsxv3_md_shared_password": "metadata-proxy-secret",
            "nsxv3_native_dhcp_profile": "dhcp-profile",
            "nsxv3_native_md_proxy": "metadata-proxy-ip"
          }
        },
        "region_name": "string",
        "syslog": {
          "port": "string",
          "protocol": "{UDP | TCP}",
          "server": "syslog-server-ip",
          "tag": "string"
        },
        "vcenter_insecure": "string",
        "volumn": {
          "attributes": {},
          "cinder_folder": "string"
        }
      },
      "public_access": {
        "public_hostname": "string",
        "public_vip": "string"
      },
      "root_ca_certificates": [
        "string"
      ],
      "vcenters": [
        {
          "attributes": {},
          "hostname": "string",
          "password": "string",
          "username": "string"
        }
      ],
      "version": "string"
    }
     

     

     

     

     

     

    deployment_type: Geben Sie LARGE für eine HA-Bereitstellung, SINGLEVM für eine kompakte Bereitstellung oder TINY für eine sehr kleine Bereitstellung ein.

     

     

     

     

     

     

     

     

     

     

     

    networkings: Erstellen Sie eine Kopie der Inhalte des Abschnitts networkings für jedes zu konfigurierende Netzwerk. Stellen Sie sicher, dass der Wert des Parameters name für jedes Netzwerk mit dem Namen des entsprechenden Netzwerks im Abschnitt network_mapping übereinstimmt.

     

     

     

     

     

     

     

     

     

     

    netmask: Geben Sie den Wert von netmask als Netzwerkadresse (z. B. 255.255.255.0) ein.

     

     

     

     

     

     

    availability_zones: Erstellen Sie eine Kopie der Inhalte des Abschnitts availability_zones für jeden zu erstellenden Verfügbarkeitsbereich.

     

     

     

     

     

     

    compute_clusters: Erstellen Sie eine Kopie der Inhalte des Abschnitts compute_clusters für jeden zu konfigurierenden Computing-Cluster.

     

     

     

     

     

     

     

     

    Wichtig:

    Wenn Sie eine LDAP-Domäne über diese API konfigurieren, können Sie später keine zusätzlichen LDAP-Domänen angeben. Zur Verwendung mehrerer LDAP-Domänen in Ihrer Bereitstellung konfigurieren Sie die Domänen nach der Bereitstellung von OpenStack.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    neutron_backend: Geben Sie DVS für ein VDS-Netzwerk, NSXV für ein NSX Data Center for vSphere-Netzwerk oder NSXV3 für ein NSX-T Data Center-Netzwerk ein.

     

    Die Felder im Abschnitt nsxv gelten nur für Bereitstellungen mit dem NSX Data Center for vSphere-Netzwerk. Die Felder im Abschnitt nsxv3 gelten nur für Bereitstellungen mit dem NSX-T Data Center-Netzwerk. Die Werte dieser Felder werden in anderen Bereitstellungen ignoriert.

Nächste Maßnahme

Zuweisen des VMware Integrated OpenStack-Lizenzschlüssels