Puede implementar OpenStack mediante la API de Servidor de administración de OpenStack.

Para obtener más información sobre las API, consulte la Referencia de API de VMware Integrated OpenStack en VMware {code}.

Requisitos previos

  • Prepare las redes y el entorno de vCenter Server. Consulte Preparar el entorno.

  • Instale VMware Integrated OpenStack en su instancia de vCenter Server. Consulte Instalar VMware Integrated OpenStack.

  • Compruebe que están disponibles todos los clústeres y los almacenes de datos necesarios.

    • Los clústeres deben incluir el número necesario de hosts y almacenes de datos, y otro nodo no debe utilizarlos.

    • Los almacenes de datos deben montarse en el clúster correcto y no deben estar ya configurados.

  • Compruebe que el servidor DNS se estableció correctamente, y que el firewall o la puerta de enlace de red reenvían solicitudes de DNS en redes privadas.

Procedimiento

  1. En vSphere Web Client, seleccione Inicio > VMware Integrated OpenStack.
  2. Abra la pestaña Resumen.
  3. En Servidor conectado, confirme que la dirección de Servidor de administración de OpenStack es correcta.
  4. Mediante un cliente HTTP, inicie sesión en el endpoint de la API de Servidor de administración de OpenStack con las credenciales de administrador de la instancia de vCenter Server.

    Este procedimiento utiliza cURL como ejemplo.

    curl -X POST https://mgmt-server-ip:8443/v1/j_spring_security_check -d 'j_username=vcenter-user&j_password=vcenter-password' -v
  5. Implemente OpenStack con sus especificaciones.
    curl -X POST https://mgmt-server-ip:8443/v1/clusters -b JSESSIONID=session-id -d '{specifications}'

    El valor de JSESSIONID se muestra en el resultado del paso 1.

    El esquema se presenta a continuación:

    {
      "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: introduzca LARGE para una implementación de HA, SINGLEVM para una implementación compacta o TINY para una implementación muy pequeña.

     

     

     

     

     

     

     

     

     

     

     

    networkings: cree una copia del contenido de la sección networkings para cada red que desea configurar. Asegúrese de que el valor del parámetro name para cada red es el nombre de la red correspondiente en la sección network_mapping.

     

     

     

     

     

     

     

     

     

     

    netmask: introduzca el valor de netmask como una dirección de red (por ejemplo, 255.255.255.0).

     

     

     

     

     

     

    availability_zones: cree una copia del contenido de la sección availability_zones para cada zona de disponibilidad que desea crear.

     

     

     

     

     

     

    compute_clusters: cree una copia del contenido de la sección compute_clusters para cada clúster de proceso que desea configurar.

     

     

     

     

     

     

     

     

    Importante:

    Si configura un dominio de LDAP mediante esta API, no podrá especificar dominios de LDAP adicionales más adelante. Para utilizar varios dominios de LDAP en la implementación, configure los dominios después de implementar OpenStack.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    neutron_backend: introduzca DVS para redes de VDS, NSXV para redes de NSX Data Center for vSphere o NSXV3 para redes de NSX-T Data Center.

     

    Los campos de la sección nsxv se aplican solo a las implementaciones con redes de NSX Data Center for vSphere. Los campos de la sección nsxv3 se aplican solo a las implementaciones con redes de NSX-T Data Center. Los valores de estos campos se omitirán en otras implementaciones.

Qué hacer a continuación

Asignar la clave de licencia de VMware Integrated OpenStack