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 Client die Option Menü > VMware Integrated OpenStack aus.
  2. Klicken Sie unter Grundlegende Aufgaben auf Verbindung mit einem OpenStack Management Server herstellen.
  3. Wählen Sie den OpenStack Management Server aus und klicken Sie auf OK.
  4. Authentifizieren Sie sich mit einem HTTP-Client beim OpenStack Management Server-API-Endpoint 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/login -d 'username=vcenter-user&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-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: 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.

    Zur Angabe eines Datenspeicher-Clusters für einen zu verwendenden Computing-Cluster schließen Sie den folgenden Parameter in den Abschnitt attributes ein: "nova_datastore_cluster": "ds-cluster-name"

     

     

    datastore_regex: Sie können einen regulären Ausdruck eingeben, um alle übereinstimmenden Datenspeicher hinzuzufügen.

     

     

     

     

    Wichtig:

    Eine LDAP-Domäne kann optional konfiguriert werden. 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.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    nsxv3_native_dhcp_profile_oms_create: Geben Sie true ein, um automatisch ein DHCP-Profil für OpenStack zu erzeugen. Der Parameter nsxv3_native_dhcp_profile wird dann ignoriert.

    nsxv3_native_md_proxy_oms_create: Geben Sie true ein, um automatisch einen Metadaten-Proxyserver für OpenStack zu erzeugen. Der Parameter nsxv3_native_md_proxy wird dann ignoriert.

     

     

     

     

     

     

     

     

    Hinweis:

    Zur Angabe eines Datenspeicher-Clusters für zu verwendenden Blockspeicher schließen Sie die folgenden Parameter in den Abschnitt attributes unter volumn ein:

    "cinder_vmware_datastore_cluster": "ds-cluster-name",
    "cinder_vmware_sdrs_default_cluster_name": "compute-cluster-name"

    Legen Sie den Wert von cinder_vmware_datastore_cluster auf den Datenspeicher-Cluster fest, den Sie für Blockspeicher verwenden möchten. Legen Sie den Wert von cinder_vmware_sdrs_default_cluster_name auf den Computing-Cluster fest, der zum Erstellen von Cinder-Rohdatenträgern verwendet wird.

Nächste Maßnahme

Zuweisen des VMware Integrated OpenStack-Lizenzschlüssels