Vous pouvez déployer OpenStack à l'aide de l'API Serveur de gestion OpenStack.

Pour plus d'informations sur les API, reportez-vous à la Référence de l'API VMware Integrated OpenStack à l'adresse VMware {code}.

Conditions préalables

  • Préparez vos réseaux et votre environnement vCenter Server. Reportez-vous à Préparation de votre environnement.

  • Installez VMware Integrated OpenStack sur votre instance de vCenter Server. Reportez-vous à Installez VMware Integrated OpenStack.

  • Vérifiez que tous les clusters et banques de données requis sont disponibles.

    • Les clusters doivent inclure le nombre requis d'hôtes et de banques de données, et ne doivent pas être utilisées par un autre nœud.

    • Les banques de données doivent être montées sur le cluster approprié et ne doivent pas être déjà configurées.

  • Vérifiez que le serveur DNS est correctement configuré et que la passerelle de réseau ou le pare-feu transfère les demandes DNS sur les réseaux privés.

Procédure

  1. Dans vSphere Client, sélectionnez Menu > VMware Integrated OpenStack.
  2. Sous Tâches de base, cliquez sur Se connecter à un serveur de gestion OpenStack.
  3. Sélectionnez le Serveur de gestion OpenStack et cliquez sur OK.
  4. À l'aide d'un client HTTP, authentifiez-vous avec le point de terminaison de l'API Serveur de gestion OpenStack en utilisant les informations d'identification d'administrateur de votre instance de vCenter Server.

    Cette procédure utilise cURL comme exemple.

    curl -X POST https://mgmt-server-ip:8443/login -d 'username=vcenter-user&password=vcenter-password' -v
  5. Déployez OpenStack avec vos spécifications.
    curl -X POST https://mgmt-server-ip:8443/v1/clusters -b JSESSIONID=session-id -d '{specifications}'

    La valeur de JSESSIONID s'affiche dans la sortie de l'étape 1.

    Le schéma est le suivant.

    {
      "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 : entrez LARGE pour un déploiement HA, SINGLEVM pour un déploiement compact ou TINY pour un déploiement minuscule.

     

     

     

     

     

     

     

     

     

     

     

    networkings : créer une copie du contenu de la section networkings pour chaque réseau que vous souhaitez configurer. Assurez-vous que la valeur du paramètre name pour chaque réseau est le nom du réseau correspondant dans la section network_mapping.

     

     

     

     

     

     

     

     

     

     

    netmask : entrez la valeur de netmask comme adresse réseau (par exemple, 255.255.255.0).

     

     

     

     

     

     

    availability_zones : créez une copie du contenu de la section availability_zones pour chaque zone de disponibilité que vous souhaitez créer.

     

     

     

     

     

    compute_clusters : créez une copie du contenu de la section compute_clusters pour chaque cluster de calcul que vous souhaitez configurer.

    Pour spécifier un cluster de banque de données qu'un cluster de calcul doit utiliser, incluez le paramètre suivant dans la section attributes : "nova_datastore_cluster": "ds-cluster-name"

     

     

    datastore_regex : vous pouvez entrer une expression régulière pour ajouter toutes les banques de données correspondantes.

     

     

     

     

    Important:

    La configuration d'un domaine LDAP est facultative. Si vous configurez un domaine LDAP via cette API, vous ne pouvez pas spécifier de domaines LDAP supplémentaires ultérieurement. Pour utiliser plusieurs domaines LDAP dans votre déploiement, configurez les domaines après le déploiement d'OpenStack.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    neutron_backend : entrez DVS pour une mise en réseau VDS, NSXV pour une mise en réseau NSX Data Center for vSphere ou NSXV3 pour une mise en réseau NSX-T Data Center.

     

    Les champs dans la section nsxv s'appliquent uniquement aux déploiements avec mise en réseau NSX Data Center for vSphere. Les champs dans la section nsxv3 s'appliquent uniquement aux déploiements avec mise en réseau NSX-T Data Center. Les valeurs de ces champs seront ignorées dans d'autres déploiements.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    nsxv3_native_dhcp_profile_oms_create : entrez true pour générer automatiquement un profil DHCP pour OpenStack. Le paramètre nsxv3_native_dhcp_profile sera désormais ignoré.

    nsxv3_native_md_proxy_oms_create : entrez true pour générer automatiquement un serveur proxy de métadonnées pour OpenStack. Le paramètre nsxv3_native_md_proxy sera désormais ignoré.

     

     

     

     

     

     

     

     

    Note:

    Pour spécifier un cluster de banque de données pour le stockage de blocs à consommer, incluez les paramètres suivants dans la section attributes sous volumn :

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

    Définissez la valeur de cinder_vmware_datastore_cluster sur le cluster de banque de données que vous souhaitez utiliser pour le stockage de blocs. Définissez la valeur de cinder_vmware_sdrs_default_cluster_name sur le cluster de calcul utilisé pour créer des volumes Cinder bruts.

Que faire ensuite

Attribuer la clé de licence de VMware Integrated OpenStack