Cette page explique comment commander du matériel connecté Google Distributed Cloud. Distributed Cloud Connected est disponible dans les pays suivants :
- Australie
- Autriche
- Belgique
- Brésil
- Canada
- Danemark
- Finlande
- France
- Allemagne
- Hong Kong
- Japon
- Inde
- Indonésie
- Italie
- Pays-Bas
- Norvège
- Pologne
- Arabie saoudite
- Singapour
- Corée du Sud
- Espagne
- Suède
- Suisse
- Royaume-Uni
- États-Unis
Avant de commander le matériel, vous devez remplir les conditions d'installation connectée de Distributed Cloud.
Commander du matériel Distributed Cloud connecté à l'aide de la console Google Cloud
Dans la console Google Cloud , accédez à la page Commandes.
Sélectionnez le projet cible Google Cloud .
Cliquez sur Créer une commande.
Remplissez le formulaire de demande et envoyez-le.
Un Google Cloud représentant commercial examine votre demande et vous contacte pour finaliser la commande. Le représentant effectue les opérations suivantes :
- Examine vos besoins commerciaux pour vous aider à choisir la configuration matérielle optimale.
- Collecte des informations sur votre réseau local, votre projet Google Cloud , votre site d'installation et d'autres exigences listées dans les exigences d'installation.
- Nous utilisons ces informations pour configurer votre matériel Distributed Cloud avant la livraison.
Commander du matériel connecté à Distributed Cloud à l'aide de l'API GDC Hardware Management
L'API GDC Hardware Management vous permet de commander de manière programmatique du matériel Distributed Cloud. Une commande constitue votre intention de déployer Distributed Cloud connecté. Une commande doit inclure les informations suivantes, qui sont utilisées tout au long du cycle de vie de votre déploiement Distributed Cloud connecté :
- Contact pour la gestion des commandes et la livraison
- Adresse du site de livraison et toute information pertinente pour la livraison
- Configuration matérielle
- Configuration du réseau
Vous devez collaborer avec votre conseiller commercial Google pour remplir le questionnaire sur les informations client (CIQ) et finaliser le champ d'application et la configuration de votre déploiement Distributed Cloud connecté.
Structure d'une commande
Pour passer une commande à l'aide de l'API GDC Hardware Management, vous devez créer une ressource Order, ainsi que les ressources Site, Zone et Hardware associées auxquelles la ressource Order fait référence.
Vous envoyez ensuite la ressource Order à Google. Ces ressources sont compatibles avec les opérations CRUD standards.
Le nom de chaque ressource est un chemin d'accès qui inclut l'ID du projet Google Cloud et la région Google Cloud cible.
Ces ressources ont les fonctions suivantes. Pour en savoir plus sur l'utilisation de l'API GDC Hardware Management, consultez la documentation de référence de Google Distributed Cloud CLI et de l'API.
Order: cette ressource demande la création d'une ou de plusieurs zones Distributed Cloud. Lorsque vous créez cette ressource, elle reçoit un nom accessible dans le champcreate_order_response.name. Le nom de ressourceOrderse présente au format suivant :`projects/`PROJECT_ID`/locations/`REGION`/orders/`ORDER_ID
où :
PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle vous souhaitez déployer vos zones Distributed Cloud.ORDER_ID: ID unique qui identifie cette commande. Si elle est omise, une valeur est générée automatiquement. Nous vous recommandons de fournir une valeur d'ID de commande unique composée de lettres minuscules, de chiffres et de tirets. Sinon, les appels de création de commandes ayant échoué peuvent générer des commandes en double.
Site: cette ressource représente l'emplacement physique où vous souhaitez déployer votre matériel Distributed Cloud. Cette ressource inclut les coordonnées d'une personne responsable qui coordonne l'accès pour la livraison initiale et la maintenance future. Il peut s'agir d'une personne différente de celle que vous avez indiquée dans la commande.Hardware: cette ressource instancie un SKU Distributed Cloud connecté et représente un serveur ou un rack Distributed Cloud. Chaque ressourceHardwarefait référence aux ressourcesOrder,SiteetZoneassociées. Pour afficher les SKU disponibles, utilisez l'appel d'API ListSkus.Zone: cette ressource spécifie la configuration réseau de vos machines Distributed Cloud connectées et des clusters associés. Une zone de cloud distribué couvre un ou plusieurs racks connectés au cloud distribué, ou toutes les machines serveur connectées au cloud distribué déployées sur votre site.
Lorsque vous envoyez une ressource Order à Google et que son état passe de DRAFT à SUBMITTED, la plupart des valeurs de champ deviennent en lecture seule.
Cycle de vie d'une commande
Une ressource Order peut avoir l'un des états listés dans State.
Les parties concernées peuvent laisser des commentaires sur la commande, qui sont stockés en tant que ressources Comment imbriquées sous la ressource Order correspondante. Vous pouvez lire et envoyer des commentaires via l'API GDC Hardware Management et la console Google Cloud .
Si la commande contient toutes les informations requises et que vous avez signé un contrat avec Google, elle passe par les états suivants : ACCEPTED, BUILDING, SHIPPING, INSTALLING et COMPLETED.. Les états des ressources Zone et Hardware associées sont mis à jour en même temps que la ressource Order.
Si nous avons besoin d'informations supplémentaires de votre part ou si vous n'avez pas signé de contrat avec Google, la commande passe à l'état ADDITIONAL_INFO_NEEDED et attend une résolution par le biais de commentaires. Toute modification ou annulation de commande doit être demandée par le biais de commentaires.
Sélectionnez le projet cible Google Cloud
Un projet Google Cloud est une construction qui encapsule un ensemble de ressources Google Cloud , les met à votre disposition et établit des règles de contrôle des accès et de facturation pour ces ressources.
Nous vous recommandons de créer un projet Google Cloud distinct par domaine administratif, tel qu'un pays ou un service d'entreprise, et par cas d'utilisation de haut niveau, tel que l'edge par rapport au cœur, et de gérer votre déploiement Distributed Cloud connecté pour le domaine via ce projet Google Cloud .
Le projet Google Cloud vous permet d'effectuer les tâches de gestion suivantes :
- Commandez du matériel Google Distributed Cloud connecté.
- Configurez les clusters connectés Distributed Cloud et enregistrez-les dans un parc.
- Gérer les déploiements de logiciels.
- Gérez les données connectées Distributed Cloud dans Cloud Storage.
- Gérez les identifiants Distributed Cloud connecté dans Secret Manager.
- Gérez les journaux et les métriques Distributed Cloud connectés dans Cloud Monitoring.
La topologie exacte de votre projet Google Cloud dépend de vos besoins métier. Nous vous recommandons d'éviter les dépendances entre projets et de toujours créer et utiliser des ressources dans chaque projet Google Cloud .
Le matériel commandé dans un projet Google Cloud spécifique est toujours géré dans ce projet Google Cloud .
Sélectionnez la région cible Google Cloud
Le choix spécifique des régions Google Cloud pour votre déploiement Distributed Cloud connecté dépend de vos exigences commerciales et des implications juridiques de vos zones géographiques cibles.
Si vous intégrez votre déploiement Distributed Cloud connecté à une empreinteGoogle Cloud multirégionale existante, nous vous recommandons de mapper chaque zone Distributed Cloud connectée à la région Google Cloud qui héberge les dépendances de cette zone.
Si vous n'intégrez pas le déploiement connecté Distributed Cloud à une empreinte Google Cloudexistante, nous vous recommandons de diversifier votre sélection de régions Google Cloud pour une fiabilité accrue. Exemple :
- Mappez chaque zone Distributed Cloud connected à la région Google Cloud compatible la plus proche. Cela limite l'impact d'une défaillance du plan de gestion à une seule région géographique.
Stripez votre Distributed Cloud connecté dans plusieurs régions Google Cloud . Cela limite le nombre de zones connectées Distributed Cloud qui peuvent être affectées par une défaillance du plan de gestion. Toutefois, les zones concernées sont réparties sur une plus grande région géographique.
Distributed Cloud connected est compatible avec les régions suivantes : Google Cloud
Asie :
asia-east1,asia-east2,asia-northeast1,asia-northeast3,asia-south1,asia-south2,asia-southeast1,asia-southeast2Europe :
europe-central2,europe-north1,europe-west1,europe-west2,europe-west3,europe-west4,europe-west6,europe-west8,europe-west9Moyen-Orient :
me-central1,me-west1Océanie :
australia-southeast1Amérique du Nord :
northamerica-northeast1,northamerica-northeast2,us-central1,us-central2,us-east1,us-east4,us-east5,us-east7,us-south1,us-west1,us-west2,us-west3,us-west4,us-west8Amérique du Sud :
southamerica-east1,southamerica-west1
Configurer votre environnement
Avant de commencer, remplissez les conditions préalables suivantes :
Installez la bibliothèque cliente de l'API GDC Hardware Management à l'aide de la commande suivante :
python3 -m pip install google-cloud-gdchardwaremanagement
Activez l'API GDC Hardware Management sur le projet Google Cloud cible.
Créer et envoyer une commande de matériel connecté Distributed Cloud à l'aide de l'API GDC Hardware Management
Les étapes de cette section sont des exemples qui illustrent comment créer et envoyer une ressource Order à Google à l'aide de l'API GDC Hardware Management. Pour effectuer les étapes de cette section, vous devez disposer du rôle Administrateur de la gestion du matériel GDC (roles/gdchardwaremanagement.admin) dans votre projet Google Cloud .
Créer une ressource
Order. Exemple :import datetime from google.cloud import gdchardwaremanagement_v1alpha from google.protobuf.timestamp_pb2 import Timestamp from google.type import postal_address_pb2 client = gdchardwaremanagement_v1alpha.GDCHardwareManagementClient() contact = gdchardwaremanagement_v1alpha.Contact( given_name="John", family_name="Customer", email="jcustomer@example.com", phone="+1 123 456 7890", ) organization_contact = gdchardwaremanagement_v1alpha.OrganizationContact( address=postal_address_pb2.PostalAddress( organization="Example Organization", address_lines=["1800 Amphibious Blvd."], locality="Mountain View", administrative_area="CA", postal_code="94045", region_code="US", ), contacts=[contact], ) order = gdchardwaremanagement_v1alpha.Order( organization_contact=organization_contact, customer_motivation="I like Google Distributed Cloud!", fulfillment_time=Timestamp( seconds=int(datetime.datetime(2024, 11, 22, 9, 0).timestamp()), ), region_code="US", ) create_order_response = client.create_order( request=gdchardwaremanagement_v1alpha.CreateOrderRequest( parent="projects/myProject/locations/us-east1", order_id="myOrderID", order=order, ), ).result()
Votre commande est désormais à l'état
DRAFTet un nom de ressource lui a été attribué. Il est stocké dans le champcreate_order_response.name. Utilisez ce nom de ressource lorsque vous modifiez ou suivez l'état de cette commande.Créer une ressource
SiteExemple :site = gdchardwaremanagement_v1alpha.Site( organization_contact=organization_contact, google_maps_pin_uri="https://maps.app.goo.gl/z7bE8z8fffg6Sri46", ) create_site_response = client.create_site( request=gdchardwaremanagement_v1alpha.CreateSiteRequest( parent="projects/myProject/locations/us-east1", site_id="mySite", site=site, ), ).result()
Créer une ressource
ZoneExemple :zone = gdchardwaremanagement_v1alpha.Zone( contacts=[contact], network_config=gdchardwaremanagement_v1alpha.ZoneNetworkConfig( management_ipv4_subnet=gdchardwaremanagement_v1alpha.Subnet( address_range="192.0.2.0/24", default_gateway_ip_address="192.0.2.1", ), machine_mgmt_ipv4_range="192.0.2.8/29", kubernetes_ipv4_subnet=gdchardwaremanagement_v1alpha.Subnet( address_range="203.0.113.0/24", default_gateway_ip_address="203.0.113.1", ), kubernetes_node_ipv4_range="203.0.113.8/29", kubernetes_control_plane_ipv4_range="203.0.113.16/29", ), ) create_zone_response = client.create_zone( request=gdchardwaremanagement_v1alpha.CreateZoneRequest( parent="projects/myProject/locations/us-east1", zone_id="myZone", zone=zone, ), ).result()
Créez les ressources
Hardware. Vous devez spécifier une valeurhardware_idunique pour chaque machine de votre déploiement connecté Distributed Cloud. Exemple :from google.type import date_pb2 hardware = gdchardwaremanagement_v1alpha.Hardware( order=create_order_response.name, site=create_site_response.name, zone=create_zone_response.name, config=gdchardwaremanagement_v1alpha.HardwareConfig( sku="projects/myProject/locations/us-east1/skus/gdce-server-l", power_supply=gdchardwaremanagement_v1alpha.types.PowerSupply.POWER_SUPPLY_AC, ), physical_info=gdchardwaremanagement_v1alpha.HardwarePhysicalInfo( power_receptacle=gdchardwaremanagement_v1alpha.types.HardwarePhysicalInfo.PowerReceptacleType.NEMA_5_15, network_uplink=gdchardwaremanagement_v1alpha.types.HardwarePhysicalInfo.NetworkUplinkType.RJ_45, voltage=gdchardwaremanagement_v1alpha.types.HardwarePhysicalInfo.Voltage.VOLTAGE_110, amperes=gdchardwaremanagement_v1alpha.types.HardwarePhysicalInfo.Amperes.AMPERES_15, ), installation_info=gdchardwaremanagement_v1alpha.HardwareInstallationInfo( rack_location="Floor 2, Room 201, Row 7, Rack 3", power_distance_meters=2, switch_distance_meters=2, rack_unit_dimensions=gdchardwaremanagement_v1alpha.Dimensions( width_inches=19, height_inches=1.75, depth_inches=30, ), rack_space=gdchardwaremanagement_v1alpha.RackSpace( start_rack_unit=12, end_rack_unit=12, ), rack_type=gdchardwaremanagement_v1alpha.types.HardwareInstallationInfo.RackType.FOUR_POST, ), requested_installation_date=date_pb2.Date(year=2024, month=11, day=22), ) create_hardware_response = client.create_hardware( request=gdchardwaremanagement_v1alpha.CreateHardwareRequest( parent="projects/myProject/locations/us-east1", hardware_id="machineHardwareID", hardware=hardware, ), ).result()
Envoyez la ressource
Orderà Google :submit_order_response = client.submit_order( request=gdchardwaremanagement_v1alpha.SubmitOrderRequest( name=create_order_response.name, ), ).result()
Dépannage
Cette section décrit les erreurs les plus courantes, leurs causes et les solutions disponibles.
Erreur : 400 FAILED_PRECONDITION
Si vous recevez un code d'erreur 400 avec un état FAILED_PRECONDITION en réponse à votre appel d'API, vérifiez que votre requête est valide pour l'opération que vous essayez d'effectuer. Parmi les exemples de requêtes non valides, on peut citer l'envoi d'une ressource Order avec des champs ou des valeurs manquants, ou la tentative de suppression d'une ressource Hardware associée à une ressource Order précédemment envoyée.
Erreur : 400 INVALID_ARGUMENT
Si vous recevez un code d'erreur 400 avec un état INVALID_ARGUMENT en réponse à votre appel d'API, vérifiez si des noms de champs sont incorrects, si des valeurs ne correspondent pas à leurs types attendus ou si des valeurs sont manquantes. Vous pouvez également recevoir cette erreur si vous utilisez un updateMask dans une requête PATCH et qu'un ou plusieurs champs spécifiés dans le updateMask ne sont pas valides.
Pour résoudre ce problème, consultez l'API GDC Hardware Management afin de vérifier que tous les noms et valeurs de champs sont corrects, y compris la mise en forme. Si vous utilisez une charge utile JSON, vérifiez que toutes les informations requises y sont incluses.
Erreur : 401 UNAUTHENTICATED
Si vous recevez un code d'erreur 401 avec un état UNAUTHENTICATED en réponse à votre appel d'API, vérifiez votre configuration d'authentification. Pour en savoir plus, consultez la page Configurer les identifiants par défaut de l'application.
Erreur : 403 PERMISSION_DENIED
Si vous recevez un code d'erreur 403 avec un état PERMISSION_DENIED en réponse à votre appel d'API, vérifiez si le compte de service utilisé pour effectuer l'appel d'API dispose des privilèges suffisants pour accéder aux objets et ressources cibles. Vérifiez également que les identifiants sont corrects et qu'ils n'ont pas expiré.
Erreur : 404 NOT_FOUND
Si vous recevez un code d'erreur 404 avec un état NOT_FOUND en réponse à votre appel d'API, vérifiez que les noms et le chemin d'accès des ressources spécifiés dans votre appel d'API sont valides. Consultez l'API GDC Hardware Management pour vérifier que l'URL de votre requête est correctement structurée et que tous les champs inclus dans l'URL sont valides.