Utiliser l'interface réseau IDPF


Les instances Bare Metal utilisent la fonction de plan de données d'infrastructure (IDPF), qui est un appareil standardisé et multifournisseur de plan de données de réseau PCIe. IDPF est une carte d'interface réseau logicielle. Le pilote IDPF est inclus dans le noyau des images du système d'exploitation (OS) Linux.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Définissez une région et une zone par défaut.

    REST

    Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

Fonctionnalités compatibles avec IDPF

Comme pour gVNIC, les fonctionnalités suivantes sont compatibles avec IDPF :

  • Performances réseau Tier_1 par VM
  • Prise en charge de la MTU élevée (trames géantes)
  • Fonctionnalités du réseau VPC :
    • Pare-feu Cloud nouvelle génération
    • Mise en miroir de paquets
    • Journaux de flux VPC
    • Compatibilité IPv6
    • Appairage de réseaux VPC
    • Network Connectivity Center

Systèmes d'exploitation compatibles

Sur Compute Engine, IDPF est disponible avec un nombre limité d'images de système d'exploitation (OS) publiques compatibles.

Pour connaître les systèmes d'exploitation compatibles avec IDPF, consultez l'onglet Interfaces du système d'exploitation souhaité.

Utiliser sur des systèmes d'exploitation non compatibles

Pour les images d'OS qui ne sont pas compatibles avec IDPF, contactez le distributeur du système d'exploitation pour savoir comment inclure le pilote IDPF.

Après avoir obtenu une image de système d'exploitation qui inclut IDPF, importez un disque virtuel de démarrage contenant le système d'exploitation personnalisé. Vous pouvez ensuite utiliser l'image d'OS personnalisée pour créer des instances physiques qui utilisent le fournisseur d'identité (IDPF) sur ce système d'exploitation. Pour en savoir plus sur la création d'une image d'OS personnalisée à utiliser avec des instances Bare Metal, consultez la section Créer une image d'OS personnalisée compatible avec IDPF sur cette page.

Limites

  • Vous ne pouvez pas configurer plusieurs cartes d'interface réseau virtuelles avec IDPF. Il existe une seule vNIC, qui peut comporter jusqu'à 16 files d'attente de réception et de transmission.
  • Si vous utilisez DPDK avec une instance Bare Metal, DPDK remplace le fichier IDPF en tant que pilote pour la carte d'interface réseau physique. L'application DPDK doit transférer les paquets vers le noyau, par exemple via une interface TAP.
  • Le fournisseur d'identité (IDPF) n'est pas compatible avec TCPDirect.

Présentation de l'utilisation d'IDPF avec des instances Bare Metal

Pour créer une instance bare metal qui utilise IDPF, procédez comme suit :

  1. Choisissez une image d'OS publique compatible avec IDPF ou créez une image d'OS personnalisée avec un tag permettant d'utiliser IDPF.
  2. Créez une instance Bare Metal à l'aide de l'image d'OS publique ou personnalisée. Lors de la création de l'instance, configurez l'interface réseau de sorte qu'elle utilise le fournisseur d'identité (IDPF).
  3. Vérifiez que IDPF est activé.

Créer une image d'OS personnalisée compatible avec IDPF

Si vous avez besoin d'une image ou d'une version d'OS différente de celles fournies par Google Cloud pour votre instance Bare Metal, vous pouvez créer l'image d'OS à l'aide de Google Cloud CLI ou de REST. Pour obtenir des informations détaillées et des bonnes pratiques sur la création d'images d'OS personnalisées, consultez la page Créer des images d'OS personnalisées.

gcloud

Lors de la création de l'image personnalisée, à partir d'une image fournie par Google Cloud ou d'une image d'OS importée, vous devez ajouter un tag IDPF à l'image d'OS. Exécutez la commande gcloud compute images create comme illustré dans l'exemple suivant :

gcloud compute images create IMAGE_NAME \
    --source-image=SOURCE_IMAGE \
    --source-image-project=SOURCE_IMAGE_PROJECT \
    --guest-os-features=IDPF

Remplacez les éléments suivants :

  • IMAGE_NAME: nom de l'image personnalisée.
  • SOURCE_IMAGE : image d'OS spécifique compatible avec IdP, par exemple sles-15-sp4-sap-v20240208-x86-64.

    Si vous souhaitez utiliser l'image d'OS la plus récente dans une famille d'images, remplacez l'option --source-image par l'option --source-image-family et définissez sa valeur sur une famille d'images compatible avec IDPF ; par exemple, --source-image-family=sles-15-sp4-sap.

  • SOURCE_IMAGE_PROJECT : nom du projet contenant l'image ou la famille d'images d'OS source.

    Exemple

    Pour créer une image d'OS SUSE Linux Enterprise Server (SLES) à l'aide de la dernière image d'OS de la famille d'images sles-15-sp5-sap Compute Engine, exécutez la commande suivante:

    gcloud compute images create my-sles15sp5-metal-os \
      --source-image-family=sles-15-sp5-sap \
      --source-image-project=suse-sap-cloud \
      --guest-os-features=IDPF
    

    Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.

REST

  1. Sélectionnez une image ou une famille d'images d'OS compatible avec IDPF. Pour en savoir plus, consultez la section Détails du système d'exploitation.

  2. À l'aide de l'image ou de la famille d'images d'OS sélectionnée à l'étape précédente, créez une image d'OS et associez-lui le tag IDPF. Pour créer l'image d'OS, utilisez la méthode images.insert.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images
    {
     "name":"IMAGE_NAME",
     "sourceImage":"SOURCE_IMAGE_URI",
     "guestOsFeatures":[
      {
         "type":"IDPF"
       }
     ]
    }
    

    Remplacez les éléments suivants :

    • IMAGE_NAME: nom de l'image personnalisée que vous créez.
    • SOURCE_IMAGE_URI  : URI de l'image ou de la famille d'images d'OS spécifique que vous souhaitez utiliser.

      Exemple :

      • Image d'OS spécifique : "sourceImage": "projects/suse-sap-cloud/global/images/sles-15-sp5-sap-v20240427-x86-64"
      • Famille d'images : "sourceImage": "projects/suse-sap-cloud/global/images/family/sles-15-sp5-sap"

      Lorsque vous spécifiez une famille d'images, Compute Engine crée une VM à partir de l'image de l'OS non obsolète la plus récente dans cette famille. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.

Créer une instance Bare Metal compatible avec IDPF

Vous pouvez créer une instance bare metal à l'aide de l'une des images d'OS publiques compatibles avec IDPF ou à l'aide d'une image d'OS personnalisée que vous avez créée en suivant la procédure décrite dans Créer une image d'OS personnalisée compatible avec IDPF.

Créer une instance Bare Metal à l'aide d'une image d'OS publique

Pour créer une instance Bare Metal à l'aide d'une image d'OS publique compatible avec IdP, suivez les instructions de la section Créer une instance Bare Metal.

Créer une instance bare metal à l'aide d'une image d'OS personnalisée

Si vous n'utilisez pas d'image d'OS publique compatible avec IDPF, vous devez d'abord créer une image d'OS personnalisée compatible avec IDPF. Vous pouvez ensuite utiliser cette image d'OS personnalisée pour créer une instance Bare Metal à l'aide de Google Cloud CLI ou de REST.

gcloud

  1. Créez l'instance Bare Metal à l'aide de la commande gcloud compute instances create. Pour l'image de disque de démarrage, spécifiez l'image d'OS personnalisée que vous avez créée précédemment. Pour l'interface réseau, définissez la valeur de l'option nic-type sur IDPF.

    gcloud compute instances create INSTANCE_NAME \
        --zone=ZONE \
        --image=IMAGE_NAME \
        --image-project=YOUR_IMAGE_PROJECT \
        --network-interface=nic-type=IDPF
    

    Remplacez les éléments suivants :

    • INSTANCE_NAME: nom de la nouvelle instance.
    • ZONE est la zone dans laquelle créer l'instance.
    • IMAGE_NAME: image de l'OS personnalisée créée précédemment.
    • YOUR_IMAGE_PROJECT : nom du projet contenant l'image d'OS personnalisée.
  2. Facultatif : Vérifiez que Compute Engine a créé l'instance et que la valeur de nicType est définie sur IDPF.

    gcloud compute instances describe INSTANCE_NAME \
       --zone=ZONE
    

    Remplacez les éléments suivants :

    • INSTANCE_NAME : nom de l'instance.
    • ZONE : zone dans laquelle vous avez créé l'instance.

    Exemple

    Pour créer une instance Bare Metal dans la zone eu-west4-b à l'aide d'une image SLES 15 SP5 pour SAP OS personnalisée nommée my-sles15sp5-metal-os qui se trouve dans le projet my-project-12345, exécutez la commande suivante:

    gcloud compute instances create test-x4-metal-custom-os \
        --zone=eu-west4-b \
        --machine-type=x4-megamem-1440-metal \
        --image=my-sles15sp5-metal-os \
        --image-project=my-project-12345 \
        --network-interface=nic-type=IDPF
    

    Éléments à prendre en compte

    L'option --network-interface comporte des sous-options telles que :

    • --address : attribue une adresse IP à l'instance
    • --network : réseau auquel l'interface sera associée
    • --network-tier : niveau de réseau de l'interface
    • --subnet : sous-réseau auquel l'interface sera associée Si --network est également spécifié, le sous-réseau doit faire partie du réseau spécifié.
    • --private-network-ip : spécifie l'adresse IP RFC 1918 à attribuer à l'instance.

    Pour obtenir la liste complète, consultez la section sur l'option --network-interface.

REST

Créez l'instance Bare Metal à l'aide de la méthode instances.insert.

  • Pour l'image de disque de démarrage, spécifiez l'image d'OS personnalisée que vous avez créée précédemment.
  • Pour l'interface réseau, définissez la valeur du champ nicType sur IDPF.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "name":"INSTANCE_NAME",
  "networkInterfaces":[
    {
      "network":"NETWORK",
      "nicType":"IDPF",
      "subnet":"SUBNET_NAME"
    }
  ],
  "disks":[
    {
      "initializeParams":{
        "sourceImage":"projects/YOUR_IMAGE_PROJECT/global/images/IMAGE_NAME"
      },
      "boot":true
    }
  ]
}

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet dans lequel créer l'instance.
  • ZONE est la zone dans laquelle créer l'instance.
  • INSTANCE_NAME: nom de la nouvelle instance.
  • NETWORK : URL de la ressource réseau pour cette instance. Si ni le réseau, ni le sous-réseau ne sont spécifiés, le réseau global/networks/default par défaut est utilisé.
  • SUBNET_NAME : nom du sous-réseau. Le réseau est déduit du sous-réseau spécifié. Ce champ est facultatif.
  • YOUR_IMAGE_PROJECT : nom du projet contenant l'image d'OS.
  • IMAGE_NAME: nom de l'image d'OS personnalisée créée à l'étape précédente.

Vérifier que le fournisseur d'identité (IDPF) est activé

Vous pouvez utiliser l'outil lshw pour extraire des informations détaillées sur la configuration matérielle de l'instance Bare Metal.

Pour installer l'outil lshw sur votre instance Linux, ouvrez une connexion SSH au système d'exploitation invité, puis exécutez la commande suivante:

sudo apt-get install lshw -y

Pour déterminer si l'instance utilise l'interface réseau IDPF, exécutez la commande suivante :

sudo lshw -class network

Étapes suivantes