Pedir hardware

En esta página, se describe cómo solicitar hardware conectado a Google Distributed Cloud. Distributed Cloud conectado está disponible en los siguientes países:

  • Australia
  • Austria
  • Bélgica
  • Brasil
  • Canadá
  • Dinamarca
  • Finlandia
  • Francia
  • Alemania
  • Hong Kong
  • Japón
  • India
  • Indonesia
  • Italia
  • Países Bajos
  • Noruega
  • Polonia
  • Arabia Saudita
  • Singapur
  • Corea del Sur
  • España
  • Suecia
  • Suiza
  • Reino Unido
  • Estados Unidos

Antes de solicitar el hardware, debes cumplir con los requisitos de instalación de Distributed Cloud conectado.

Solicita hardware conectado a Distributed Cloud con la Google Cloud consola de

  1. En la Google Cloud consola, ve a la página Pedidos.

    Ir a Pedidos

  2. Selecciona el proyecto de destino Google Cloud .

  3. Haz clic en Crear pedido.

  4. Completa el formulario de solicitud y envíalo.

Un representante de ventas revisa tu envío y se comunica contigo para completar el pedido. Google Cloud El representante hace lo siguiente:

  • Revisa tus requisitos comerciales para ayudarte a elegir la configuración de hardware óptima.
  • Recopila información sobre tu red local, Google Cloud proyecto, sitio de instalación y otros requisitos que se enumeran en los requisitos de instalación.
  • Usa esta información para configurar tu hardware de Distributed Cloud antes de la entrega.

Solicita hardware conectado a Distributed Cloud con la API de GDC Hardware Management

La API de GDC Hardware Management te permite realizar un pedido de hardware de Distributed Cloud de forma programática. Un pedido constituye tu intención de implementar Distributed Cloud conectado. Un pedido debe incluir la siguiente información, que se usa durante todo el ciclo de vida de tu implementación de Distributed Cloud conectado:

  • Punto de contacto para la administración y la entrega de pedidos
  • Dirección del sitio de entrega y cualquier información relevante para la entrega
  • Configuración de hardware
  • Configuración de red

Debes trabajar con tu representante de ventas de Google para completar el Cuestionario de información del cliente (CIQ) y finalizar el alcance y la configuración de tu implementación de Distributed Cloud conectado.

Estructura de un pedido

Para realizar un pedido con la API de GDC Hardware Management, debes crear un recurso Order, además de los recursos Site, Zone y Hardware que lo acompañan y a los que hace referencia el recurso Order. Luego, envías el recurso Order a Google. Estos recursos admiten operaciones de CRUD estándar. El nombre de cada recurso es una ruta de acceso que incluye el ID del proyecto de destino Google Cloud y la región Google Cloud .

Estos recursos tienen las siguientes funciones. Para obtener más información sobre el uso de la API de GDC Hardware Management, consulta la referencia de la API y de Google Distributed Cloud CLI.

  • Order. Este recurso solicita la creación de una o más zonas de Distributed Cloud. Cuando creas este recurso, recibe un nombre al que se puede acceder en el campo create_order_response.name. El nombre del recurso Order tiene el siguiente formato:

    `projects/`PROJECT_ID`/locations/`REGION`/orders/`ORDER_ID

    Donde:

    • PROJECT_ID: Es el ID del proyecto de destino. Google Cloud
    • REGION: Es la Google Cloud región en la que deseas implementar tus zonas de Distributed Cloud.
    • ORDER_ID: Es un ID único que identifica este pedido. Si se omite, se genera un valor automáticamente. Te recomendamos que proporciones un valor de ID de pedido único que conste de letras minúsculas, números y guiones. De lo contrario, las llamadas fallidas de creación de pedidos pueden generar pedidos duplicados.
  • Site. Este recurso representa la ubicación física en la que deseas implementar tu hardware de Distributed Cloud. Este recurso incluye la información de contacto de una parte responsable que coordina el acceso para la entrega inicial y el mantenimiento futuro. Este contacto puede ser diferente del que proporcionaste en el pedido.

  • Hardware. Este recurso crea una instancia de una SKU conectada de Distributed Cloud y representa un servidor o rack de Distributed Cloud. Cada recurso Hardware hace referencia a los recursos Order,Site y Zone asociados. Para ver las SKU disponibles, usa la ListSkus.

  • Zone. Este recurso especifica la configuración de red de tus máquinas conectadas de Distributed Cloud y los clústeres asociados. Una zona de Distributed Cloud abarca uno o más racks conectados de Distributed Cloud o todas las máquinas servidoras conectadas de Distributed Cloud implementadas en tu ubicación.

Cuando envías un recurso Order a Google y su estado cambia de DRAFT a SUBMITTED, la mayoría de los valores de los campos se vuelven de solo lectura.

Ciclo de vida de un pedido

Un recurso Order puede tener uno de los estados que se enumeran en State. Las partes involucradas pueden dejar comentarios sobre el pedido, que se almacenan como recursos Comment anidados en el recurso Order correspondiente. Puedes leer y enviar comentarios a través de la API de GDC Hardware Management y de la Google Cloud consola.

Si el pedido contiene toda la información requerida y firmaste un contrato con Google, el pedido pasa por la siguiente sucesión de estados: ACCEPTED, BUILDING, SHIPPING, INSTALLING y COMPLETED. Los estados de los recursos Zone y Hardware asociados se actualizan en sincronización con el recurso Order. Si necesitamos más información de tu parte o no firmaste un contrato con Google, el pedido ingresa al estado ADDITIONAL_INFO_NEEDED y espera la resolución a través de comentarios. La modificación o cancelación del pedido se debe solicitar a través de comentarios.

Selecciona el proyecto de destino Google Cloud

Un Google Cloud proyecto de es una construcción que encapsula un conjunto de Google Cloud recursos, los pone a tu disposición para que los uses y establece reglas para el control de acceso y la facturación de esos recursos.

Te recomendamos que crees un proyecto de separado Google Cloud por dominio administrativo, como un país o un departamento corporativo, y un caso de uso de alto nivel, como el extremo en comparación con el núcleo, y que administres tu implementación de Distributed Cloud conectado para el dominio a través de ese Google Cloud proyecto de.

El proyecto de te permite realizar las siguientes tareas de administración: Google Cloud

  • Solicitar hardware conectado a Distributed Cloud
  • Configurar clústeres conectados de Distributed Cloud y registrarlos en una flota
  • Administrar lanzamientos de software
  • Administrar datos conectados de Distributed Cloud en Cloud Storage
  • Administrar credenciales conectadas de Distributed Cloud en Secret Manager
  • Administrar registros y métricas conectados de Distributed Cloud en Cloud Monitoring

Tu topología de proyecto de exacta Google Cloud depende de tus requisitos comerciales. Te recomendamos que evites las dependencias entre proyectos y que siempre crees y uses recursos dentro de cada Google Cloud proyecto.

El hardware solicitado dentro de un proyecto de específico Google Cloud siempre se administra en ese Google Cloud proyecto de.

Selecciona la región de destino Google Cloud

La elección específica de Google Cloud regiones para tu implementación de Distributed Cloud conectado depende de tus requisitos comerciales y las ramificaciones legales de tus ubicaciones geográficas de destino.

Si integras tu implementación de Distributed Cloud conectado en una presencia multirregional Google Cloud existente, te recomendamos que asignes cada zona conectada de Distributed Cloud a la Google Cloud región que aloja las dependencias de esa zona.

Si no integras la implementación de Distributed Cloud conectado con una presencia existente Google Cloud, te recomendamos que diversifiques tu Google Cloud selección de regiones para aumentar la confiabilidad. Por ejemplo:

  • Asigna cada zona conectada de Distributed Cloud a su región compatible más cercana Google Cloud . Esto limita el impacto de una falla del plano de administración a una sola región geográfica.
  • Divide tu Distributed Cloud conectado en varias Google Cloud regiones. Esto limita la cantidad de zonas conectadas de Distributed Cloud que pueden verse afectadas por una falla del plano de administración. Sin embargo, las zonas afectadas se distribuyen en una región geográfica más grande.

    Distributed Cloud conectado admite las siguientes Google Cloud regiones:

  • Asia: asia-east1, asia-east2, asia-northeast1, asia-northeast3, asia-south1, asia-south2, asia-southeast1, asia-southeast2

  • Europa: europe-central2, europe-north1, europe-west1, europe-west2, europe-west3, europe-west4, europe-west6, europe-west8, europe-west9

  • Medio Oriente: me-central1, me-west1

  • Oceanía: australia-southeast1

  • América del Norte: 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-west8

  • América del Sur: southamerica-east1, southamerica-west1

Configura tu entorno

Antes de comenzar, completa los siguientes requisitos previos:

  1. Configura un entorno de desarrollo de Python.

  2. Instala la biblioteca cliente de la API de GDC Hardware Management con el siguiente comando:

    python3 -m pip install google-cloud-gdchardwaremanagement
    
  3. Habilita la API de GDC Hardware Management en el proyecto de destino Google Cloud .

Crea y envía un pedido de hardware conectado a Distributed Cloud con la API de GDC Hardware Management

Los pasos de esta sección son ejemplos que ilustran cómo crear y enviar un recurso Order a Google con la API de GDC Hardware Management. Para completar los pasos de esta sección, debes tener la función de administrador de GDC Hardware Management (roles/gdchardwaremanagement.admin) en tu Google Cloud proyecto.

  1. Crea un recurso Order. Por ejemplo:

    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()

    Tu pedido ahora está en estado DRAFT y se le asignó un nombre de recurso almacenado en el campo create_order_response.name. Usa este nombre de recurso cuando modifiques o realices un seguimiento del estado de este pedido.

  2. Crea un recurso Site. Por ejemplo:

    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()
  3. Crea un recurso Zone. Por ejemplo:

    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()
  4. Crea los recursos Hardware. Debes especificar un valor hardware_id único para cada máquina en tu implementación de Distributed Cloud conectado. Por ejemplo:

    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()
  5. Envía el recurso Order a Google:

    submit_order_response = client.submit_order(
        request=gdchardwaremanagement_v1alpha.SubmitOrderRequest(
            name=create_order_response.name,
        ),
    ).result()

Soluciona problemas

En esta sección, se describen los errores más comunes, sus causas y las soluciones disponibles.

Error: 400 FAILED_PRECONDITION

Si recibes un código de error 400 con un estado FAILED_PRECONDITION en respuesta a tu llamada a la API, verifica que tu solicitud sea válida para la operación que intentas completar. Entre los ejemplos de solicitudes no válidas, se incluyen el envío de un recurso Order con campos o valores faltantes, o el intento de borrar un recurso Hardware asociado con un recurso Order enviado anteriormente.

Error: 400 INVALID_ARGUMENT

Si recibes un código de error 400 con un estado INVALID_ARGUMENT en respuesta a tu llamada a la API, verifica si hay nombres de campos incorrectos y valores que no coinciden con sus tipos esperados o valores faltantes. También puedes recibir este error si usas un updateMask en una solicitud PATCH y uno o más campos especificados en el updateMask no son válidos.

Para solucionar este problema, consulta la API de GDC Hardware Management para verificar que todos los nombres y valores de los campos sean correctos, incluido el formato. Si usas una carga útil de JSON, confirma que toda la información requerida esté incluida en la carga útil.

Error: 401 UNAUTHENTICATED

Si recibes un código de error 401 con un estado UNAUTHENTICATED en respuesta a tu llamada a la API, verifica tu configuración de autenticación. Para obtener más información, consulta Configura credenciales predeterminadas de la aplicación.

Error: 403 PERMISSION_DENIED

Si recibes un código de error 403 con un estado PERMISSION_DENIED en respuesta a tu llamada a la API, verifica si la cuenta de servicio que se usó para realizar la llamada a la API tiene privilegios suficientes para acceder a los objetos y recursos de destino. También verifica que las credenciales sean correctas y no hayan vencido.

Error: 404 NOT_FOUND

Si recibes un código de error 404 con un estado NOT_FOUND en respuesta a tu llamada a la API, verifica que los nombres y la ruta de acceso de los recursos especificados en tu llamada a la API sean válidos. Consulta la API de GDC Hardware Management para verificar que la URL de tu solicitud esté estructurada correctamente y que todos los campos incluidos en la URL sean válidos.

¿Qué sigue?