Déploiement de RHEL 9 sur Google Cloud Platform

Red Hat Enterprise Linux 9

Obtention d'images système RHEL et création d'instances RHEL sur GCP

Red Hat Customer Content Services

Résumé

Pour utiliser Red Hat Enterprise Linux (RHEL) dans un environnement de cloud public, vous pouvez créer et déployer des images système RHEL sur diverses plateformes de cloud, y compris Google Cloud Platform (GCP). Vous pouvez également créer et configurer un cluster Red Hat High Availability (HA) sur GCP.
Les chapitres suivants fournissent des instructions pour créer des instances RHEL en nuage et des clusters HA sur GCP. Ces processus comprennent l'installation des paquets et des agents requis, la configuration de la clôture et l'installation des agents de ressources réseau.

Rendre l'open source plus inclusif

Red Hat s'engage à remplacer les termes problématiques dans son code, sa documentation et ses propriétés Web. Nous commençons par ces quatre termes : master, slave, blacklist et whitelist. En raison de l'ampleur de cette entreprise, ces changements seront mis en œuvre progressivement au cours de plusieurs versions à venir. Pour plus de détails, voir le message de notre directeur technique Chris Wright.

Fournir un retour d'information sur la documentation de Red Hat

Nous apprécions vos commentaires sur notre documentation. Faites-nous savoir comment nous pouvons l'améliorer.

Soumettre des commentaires sur des passages spécifiques

  1. Consultez la documentation au format Multi-page HTML et assurez-vous que le bouton Feedback apparaît dans le coin supérieur droit après le chargement complet de la page.
  2. Utilisez votre curseur pour mettre en évidence la partie du texte que vous souhaitez commenter.
  3. Cliquez sur le bouton Add Feedback qui apparaît près du texte en surbrillance.
  4. Ajoutez vos commentaires et cliquez sur Submit.

Soumettre des commentaires via Bugzilla (compte requis)

  1. Connectez-vous au site Web de Bugzilla.
  2. Sélectionnez la version correcte dans le menu Version.
  3. Saisissez un titre descriptif dans le champ Summary.
  4. Saisissez votre suggestion d'amélioration dans le champ Description. Incluez des liens vers les parties pertinentes de la documentation.
  5. Cliquez sur Submit Bug.

Chapitre 1. Présentation de RHEL sur les plates-formes de cloud public

Les plateformes de cloud public fournissent des ressources informatiques en tant que service. Au lieu d'utiliser du matériel sur site, vous pouvez exécuter vos charges de travail informatiques, y compris les systèmes Red Hat Enterprise Linux (RHEL), en tant qu'instances de cloud public.

Pour en savoir plus sur RHEL sur les plates-formes de cloud public, voir :

1.1. Avantages de l'utilisation de RHEL dans un nuage public

RHEL en tant qu'instance cloud située sur une plateforme cloud publique présente les avantages suivants par rapport à RHEL sur des systèmes physiques ou des machines virtuelles (VM) sur site :

  • Flexible and fine-grained allocation of resources

    Une instance cloud de RHEL s'exécute en tant que VM sur une plateforme cloud, ce qui signifie généralement une grappe de serveurs distants gérée par le fournisseur du service cloud. Par conséquent, l'attribution de ressources matérielles à l'instance, telles qu'un type spécifique d'unité centrale ou de stockage, se fait au niveau du logiciel et est facilement personnalisable.

    Par rapport à un système RHEL local, vous n'êtes pas non plus limité par les capacités de votre hôte physique. Au lieu de cela, vous pouvez choisir parmi une variété de fonctionnalités, sur la base de la sélection proposée par le fournisseur de services en nuage.

  • Space and cost efficiency

    Vous n'avez pas besoin de posséder des serveurs sur site pour héberger vos charges de travail en nuage. Vous n'avez donc pas besoin de l'espace, de l'énergie et de la maintenance associés au matériel physique.

    En revanche, sur les plateformes de cloud public, vous payez directement le fournisseur de cloud pour l'utilisation d'une instance de cloud. Le coût est généralement basé sur le matériel alloué à l'instance et sur le temps que vous passez à l'utiliser. Vous pouvez donc optimiser vos coûts en fonction de vos besoins.

  • Software-controlled configurations

    L'ensemble de la configuration d'une instance en nuage est sauvegardé sous forme de données sur la plateforme en nuage et est contrôlé par un logiciel. Vous pouvez donc facilement créer, supprimer, cloner ou migrer l'instance. Une instance en nuage est également gérée à distance dans une console du fournisseur de nuage et est connectée par défaut à un stockage à distance.

    En outre, vous pouvez à tout moment sauvegarder l'état actuel d'une instance cloud sous la forme d'un instantané. Ensuite, vous pouvez charger l'instantané pour restaurer l'instance à l'état sauvegardé.

  • Separation from the host and software compatibility

    Comme pour une VM locale, le système d'exploitation invité RHEL sur une instance cloud s'exécute sur un noyau virtualisé. Ce noyau est distinct du système d'exploitation hôte et du système client que vous utilisez pour vous connecter à l'instance.

    Par conséquent, n'importe quel système d'exploitation peut être installé sur l'instance de cloud. Cela signifie que sur une instance de cloud public RHEL, vous pouvez exécuter des applications spécifiques à RHEL qui ne peuvent pas être utilisées sur votre système d'exploitation local.

    En outre, même si le système d'exploitation de l'instance devient instable ou est compromis, votre système client n'est en aucun cas affecté.

1.2. Cas d'utilisation de RHEL dans les nuages publics

Le déploiement sur un cloud public présente de nombreux avantages, mais n'est pas forcément la solution la plus efficace dans tous les cas de figure. Si vous envisagez de migrer vos déploiements RHEL vers le cloud public, demandez-vous si votre cas d'utilisation bénéficiera des avantages du cloud public.

Beneficial use cases

  • Le déploiement d'instances de cloud public est très efficace pour augmenter et réduire de manière flexible la puissance informatique active de vos déploiements, également connue sous les noms de scaling up et scaling down. Par conséquent, l'utilisation de RHEL sur le cloud public est recommandée dans les scénarios suivants :

    • Clusters avec des charges de travail de pointe élevées et de faibles exigences de performance générale. La mise à l'échelle en fonction de vos besoins peut s'avérer très efficace en termes de coûts de ressources.
    • Mise en place ou extension rapide de vos clusters. Cela permet d'éviter les coûts initiaux élevés liés à la mise en place de serveurs locaux.
  • Les instances en nuage ne sont pas affectées par ce qui se passe dans votre environnement local. Vous pouvez donc les utiliser pour la sauvegarde et la reprise après sinistre.

Potentially problematic use cases

  • Vous utilisez un environnement existant qui ne peut pas être adapté. La personnalisation d'une instance en nuage pour répondre aux besoins spécifiques d'un déploiement existant peut ne pas être rentable par rapport à votre plateforme hôte actuelle.
  • Votre budget est limité. Le maintien de votre déploiement dans un centre de données local offre généralement moins de flexibilité mais plus de contrôle sur les coûts maximaux des ressources que le nuage public.

1.3. Problèmes fréquents lors de la migration vers un nuage public

Le transfert de vos charges de travail RHEL d'un environnement local vers une plateforme de cloud public peut susciter des inquiétudes quant aux changements qu'il implique. Voici les questions les plus fréquemment posées.

Will my RHEL work differently as a cloud instance than as a local virtual machine?

À la plupart des égards, les instances RHEL sur une plateforme de cloud public fonctionnent de la même manière que les machines virtuelles RHEL sur un hôte local, tel qu'un serveur sur site. Les exceptions notables sont les suivantes :

  • Au lieu d'interfaces d'orchestration privées, les instances de cloud public utilisent des interfaces de console spécifiques au fournisseur pour gérer vos ressources de cloud.
  • Certaines fonctionnalités, telles que la virtualisation imbriquée, peuvent ne pas fonctionner correctement. Si une fonctionnalité spécifique est essentielle pour votre déploiement, vérifiez au préalable sa compatibilité avec le fournisseur de cloud public que vous avez choisi.

Will my data stay safe in a public cloud as opposed to a local server?

Les données de vos instances de cloud RHEL sont votre propriété et votre fournisseur de cloud public n'y a pas accès. En outre, les principaux fournisseurs de cloud prennent en charge le cryptage des données en transit, ce qui améliore la sécurité des données lors de la migration de vos machines virtuelles vers le cloud public.

La sécurité générale de vos instances de cloud public RHEL est gérée comme suit :

  • Votre fournisseur de cloud public est responsable de la sécurité de l'hyperviseur du cloud
  • Red Hat fournit les fonctions de sécurité des systèmes d'exploitation invités RHEL dans vos instances
  • Vous gérez les paramètres et les pratiques de sécurité spécifiques de votre infrastructure en nuage

What effect does my geographic region have on the functionality of RHEL public cloud instances?

Vous pouvez utiliser des instances RHEL sur une plateforme de cloud public quelle que soit votre situation géographique. Par conséquent, vous pouvez exécuter vos instances dans la même région que votre serveur sur site.

Toutefois, l'hébergement de vos instances dans une région physiquement éloignée peut entraîner une latence élevée lors de leur fonctionnement. En outre, selon le fournisseur de cloud public, certaines régions peuvent offrir des fonctionnalités supplémentaires ou être plus rentables. Avant de créer vos instances RHEL, examinez les propriétés des régions d'hébergement disponibles pour le fournisseur de cloud choisi.

1.4. Obtenir RHEL pour les déploiements dans les nuages publics

Pour déployer un système RHEL dans un environnement de cloud public :

  1. Sélectionnez le fournisseur de services en nuage optimal pour votre cas d'utilisation, en fonction de vos besoins et de l'offre actuelle sur le marché.

    Les fournisseurs de services en nuage actuellement certifiés pour l'exécution d'instances RHEL sont les suivants :

  2. Créez une instance de cloud RHEL sur la plateforme de cloud choisie. Pour plus d'informations, voir Méthodes de création d'instances de cloud RHEL.
  3. Pour maintenir votre déploiement RHEL à jour, utilisez Red Hat Update Infrastructure (RHUI).

Ressources supplémentaires

1.5. Méthodes de création d'instances de cloud RHEL

Pour déployer une instance RHEL sur une plateforme de cloud public, vous pouvez utiliser l'une des méthodes suivantes :

Create a system image of RHEL and import it to the cloud platform.

  • Pour créer l'image système, vous pouvez utiliser le générateur d'images RHEL ou construire l'image manuellement.
  • Cette méthode utilise votre abonnement RHEL existant et est également appelée bring your own subscription (BYOS).
  • Vous payez à l'avance un abonnement annuel et vous pouvez utiliser votre réduction client Red Hat.
  • Votre service clientèle est assuré par Red Hat.
  • Pour créer plusieurs images de manière efficace, vous pouvez utiliser l'outil cloud-init.

Purchase a RHEL instance directly from the cloud provider marketplace.

  • Vous post-payez un taux horaire pour l'utilisation du service. Cette méthode est donc également appelée pay as you go (PAYG).
  • Votre service clientèle est assuré par le fournisseur de la plateforme en nuage.
Note

Pour obtenir des instructions détaillées sur l'utilisation des différentes méthodes de déploiement des instances RHEL sur Google Cloud Platform, reportez-vous aux chapitres suivants de ce document.

Chapitre 2. Téléchargement d'images sur GCP avec image builder

Avec le constructeur d'images, vous pouvez créer une image gce, fournir des informations d'identification pour votre utilisateur ou votre compte de service GCP, puis télécharger l'image gce directement dans l'environnement GCP.

2.1. Téléchargement d'une image gce sur GCP à l'aide de la CLI

Suivez la procédure pour configurer un fichier de configuration avec des informations d'identification pour télécharger votre image gce sur GCP.

Conditions préalables

  • Vous disposez d'un compte utilisateur ou d'un compte de service dont les identifiants Google vous permettent de télécharger des images vers GCP. Le compte associé aux informations d'identification doit avoir au moins les rôles IAM suivants attribués :

    • roles/storage.admin - pour créer et supprimer des objets de stockage
    • roles/compute.storageAdmin - pour importer une image de VM dans Compute Engine.
  • Vous disposez d'un panier GCP existant.

Procédure

  1. À l'aide d'un éditeur de texte, créez un fichier de configuration gcp-config.toml avec le contenu suivant :

    provider = "gcp"
    
    [settings]
    bucket = "GCP_BUCKET"
    region = "GCP_STORAGE_REGION"
    object = "OBJECT_KEY"
    credentials = "GCP_CREDENTIALS"

    Où ?

    • GCP_BUCKET pointe vers un godet existant. Il est utilisé pour stocker l'objet de stockage intermédiaire de l'image en cours de téléchargement.
    • GCP_STORAGE_REGION est à la fois une région de stockage Google normale et une région double ou multiple.
    • OBJECT_KEY est le nom d'un objet de stockage intermédiaire. Il ne doit pas exister avant le téléchargement et il est supprimé lorsque le processus de téléchargement est terminé. Si le nom de l'objet ne se termine pas par .tar.gz, l'extension est automatiquement ajoutée au nom de l'objet.
    • GCP_CREDENTIALS est un schéma encodé en Base64 du fichier JSON des informations d'identification téléchargé depuis le GCP. Les informations d'identification déterminent le projet vers lequel le GCP télécharge l'image.

      Note

      La spécification de GCP_CREDENTIALS dans gcp-config.toml est facultative si vous utilisez un mécanisme différent pour vous authentifier auprès de GCP. Pour plus de détails sur les différentes manières de s'authentifier avec GCP, voir Authentification avec GCP.

  2. Créez une composition avec un nom d'image supplémentaire et un profil de fournisseur de cloud :

    $ sudo composer-cli compose start BLUEPRINT-NAME gce IMAGE_KEY gcp-config.toml

    Remarque : la création et le téléchargement de l'image ainsi que l'enregistrement dans le nuage peuvent prendre jusqu'à dix minutes.

Vérification

  • Vérifiez que l'état de l'image est FINI :

    $ sudo composer-cli compose status

2.2. Authentification avec GCP

Vous pouvez utiliser différents types d'informations d'identification avec Image Builder pour vous authentifier auprès de GCP. Si la configuration d'image builder est définie pour s'authentifier auprès de GCP à l'aide de plusieurs jeux d'informations d'identification, elle utilise les informations d'identification dans l'ordre de préférence suivant :

  1. Informations d'identification spécifiées avec la commande composer-cli dans le fichier de configuration.
  2. Informations d'identification configurées dans la configuration du travailleur osbuild-composer.
  3. Application Default Credentials de la bibliothèque Google GCP SDK, qui tente de trouver automatiquement un moyen de s'authentifier à l'aide des options suivantes :

    1. Si la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS est définie, Application Default Credentials tente de charger et d'utiliser les informations d'identification du fichier indiqué par la variable.
    2. Application Default Credentials tente de s'authentifier à l'aide du compte de service attaché à la ressource qui exécute le code. Par exemple, Google Compute Engine VM.

      Note

      Vous devez utiliser les informations d'identification GCP pour déterminer le projet GCP dans lequel l'image doit être téléchargée. Par conséquent, à moins que vous ne souhaitiez télécharger toutes vos images vers le même projet GCP, vous devez toujours spécifier les informations d'identification dans le fichier de configuration gcp-config.toml à l'aide de la commande composer-cli.

2.2.1. Spécifier les informations d'identification avec la commande composer-cli

Vous pouvez spécifier les informations d'authentification GCP dans la configuration de la cible de téléchargement fournie gcp-config.toml. Utilisez un schéma codé Base64 du fichier JSON des informations d'identification du compte Google pour gagner du temps.

Procédure

  • Dans la configuration de la cible de téléchargement fournie gcp-config.toml, définissez les informations d'identification :

    provider = "gcp"
    
    [settings]
    provider = "gcp"
    
    [settings]
    ...
    credentials = "GCP_CREDENTIALS"
  • Pour obtenir le contenu codé du fichier d'informations d'identification du compte Google avec le chemin d'accès stocké dans la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS, exécutez la commande suivante :

    $ base64 -w 0 "${GOOGLE_APPLICATION_CREDENTIALS}"

2.2.2. Spécifier les informations d'identification dans la configuration du travailleur osbuild-composer

Vous pouvez configurer les informations d'authentification GCP de manière à ce qu'elles soient utilisées pour GCP de manière globale pour toutes les constructions d'images. Ainsi, si vous souhaitez importer des images dans le même projet GCP, vous pouvez utiliser les mêmes informations d'identification pour tous les téléchargements d'images vers GCP.

Procédure

  • Dans la configuration du travailleur /etc/osbuild-worker/osbuild-worker.toml, définissez la valeur d'identification suivante :

    [gcp]
    credentials = "PATH_TO_GCP_ACCOUNT_CREDENTIALS"

Chapitre 3. Déployer une image Red Hat Enterprise Linux en tant qu'instance Google Compute Engine sur Google Cloud Platform

Pour déployer une instance de Red Hat Enterprise Linux 9 (RHEL 9) en tant que Google Compute Engine (GCE) sur Google Cloud Platform (GCP), suivez les informations ci-dessous. Ce chapitre :

  • Examine les options qui s'offrent à vous pour le choix d'une image
  • Liste ou fait référence à la configuration requise pour votre système hôte et votre machine virtuelle (VM)
  • Fournit des procédures pour créer une VM personnalisée à partir d'une image ISO, la télécharger sur GCE et lancer une instance
Note

Pour une liste des certifications des produits Red Hat pour GCP, voir Red Hat on Google Cloud Platform.

Important

Vous pouvez créer une VM personnalisée à partir d'une image ISO, mais Red Hat vous recommande d'utiliser le produit Red Hat Image Builder pour créer des images personnalisées à utiliser sur des fournisseurs de cloud spécifiques. Voir Composer une image système RHEL personnalisée pour plus d'informations.

Conditions préalables

  • Vous devez disposer d'un compte Red Hat Customer Portal pour effectuer les procédures de ce chapitre.
  • Créez un compte auprès de GCP pour accéder à la console Google Cloud Platform. Voir Google Cloud pour plus d'informations.

3.1. Options d'images Red Hat Enterprise Linux sur GCP

Le tableau suivant répertorie les choix d'images pour RHEL 9 sur Google Cloud Platform et les différences entre les options d'images.

Tableau 3.1. Options d'images

Option d'imageAbonnementsExemple de scénarioConsidérations

Déployez une image Red Hat Gold.

Utilisez vos abonnements Red Hat existants.

Sélectionnez une Red Hat Gold Image sur Google Cloud Platform. Pour plus de détails sur les Gold Images et sur la manière d'y accéder sur Google Cloud Platform, consultez le Guide de référence de Red Hat Cloud Access.

L'abonnement comprend le coût du produit Red Hat ; vous payez Google pour tous les autres coûts d'instance. Red Hat fournit une assistance directe pour les images RHEL personnalisées.

Déployez une image personnalisée que vous déplacez vers GCP.

Utilisez vos abonnements Red Hat existants.

Téléchargez votre image personnalisée et joignez vos abonnements.

L'abonnement comprend le coût du produit Red Hat ; vous payez tous les autres coûts d'instance. Red Hat fournit une assistance directe pour les images RHEL personnalisées.

Déployer une image GCP existante qui inclut RHEL.

Les images GCP incluent un produit Red Hat.

Choisissez une image RHEL lorsque vous lancez une instance sur GCP Compute Engine, ou choisissez une image sur Google Cloud Platform Marketplace.

Vous payez GCP à l'heure sur la base d'un modèle de paiement à l'utilisation. Ces images sont appelées "images à la demande". GCP propose une assistance pour les images à la demande par le biais d'un contrat d'assistance.

Note

Vous pouvez créer une image personnalisée pour GCP à l'aide de Red Hat Image Builder. Voir Composer une image système RHEL personnalisée pour plus d'informations.

Important

Vous ne pouvez pas convertir une instance à la demande en une instance RHEL personnalisée. Pour passer d'une image à la demande à une image personnalisée RHEL bring-your-own-subscription (BYOS) :

  1. Créez une nouvelle instance RHEL personnalisée et migrez les données de votre instance à la demande.
  2. Annulez votre instance à la demande après avoir migré vos données pour éviter une double facturation.

3.2. Comprendre les images de base

Cette section contient des informations sur l'utilisation d'images de base préconfigurées et leurs paramètres de configuration.

3.2.1. Utilisation d'une image de base personnalisée

Pour configurer manuellement une machine virtuelle (VM), créez d'abord une image VM de base (starter). Vous pouvez ensuite modifier les paramètres de configuration et ajouter les paquets dont la VM a besoin pour fonctionner sur le nuage. Vous pouvez apporter des modifications supplémentaires à la configuration pour votre application spécifique après avoir téléchargé l'image.

Ressources supplémentaires

3.2.2. Paramètres de configuration de la machine virtuelle

Les VM du nuage doivent avoir les paramètres de configuration suivants.

Tableau 3.2. Paramètres de configuration de la VM

ParamètresRecommandation

ssh

ssh doit être activé pour permettre l'accès à distance à vos machines virtuelles.

dhcp

L'adaptateur virtuel primaire doit être configuré pour dhcp.

3.3. Création d'une VM de base à partir d'une image ISO

Suivez les procédures de cette section pour créer une image de base RHEL 9 à partir d'une image ISO.

Conditions préalables

3.3.1. Création d'une VM à partir de l'image ISO RHEL

Procédure

  1. Assurez-vous d'avoir activé la virtualisation de votre machine hôte. Voir Activation de la virtualisation dans RHEL 9 pour plus d'informations et de procédures.
  2. Créez et démarrez une VM Red Hat Enterprise Linux de base. Pour obtenir des instructions, voir Création de machines virtuelles.

    1. Si vous utilisez la ligne de commande pour créer votre VM, veillez à définir la mémoire et les processeurs par défaut en fonction de la capacité souhaitée pour la VM. Définissez votre interface réseau virtuelle sur virtio.

      Par exemple, la commande suivante crée une VM kvmtest à l'aide de l'image /home/username/Downloads/rhel9.iso:

      # virt-install \
          --name kvmtest --memory 2048 --vcpus 2 \
          --cdrom /home/username/Downloads/rhel9.iso,bus=virtio \
          --os-variant=rhel9.0
    2. Si vous utilisez la console web pour créer votre machine virtuelle, suivez la procédure décrite dans la section Création de machines virtuelles à l'aide de la console web, avec les mises en garde suivantes :

      • Ne pas vérifier Immediately Start VM.
      • Modifiez la taille de votre site Memory en fonction de vos préférences.
      • Avant de commencer l'installation, assurez-vous que vous avez changé Model sous Virtual Network Interface Settings en virtio et changez votre vCPUs en fonction des paramètres de capacité que vous souhaitez pour la VM.

3.3.2. Terminer l'installation de RHEL

Effectuez les étapes suivantes pour terminer l'installation et activer l'accès root une fois la VM lancée.

Procédure

  1. Choisissez la langue que vous souhaitez utiliser pendant la procédure d'installation.
  2. Sur la vue Installation Summary:

    1. Cliquez sur Software Selection et cochez Minimal Install.
    2. Cliquez sur Done.
    3. Cliquez sur Installation Destination et cochez Custom sous Storage Configuration.

      • Vérifiez qu'il y a au moins 500 Mo pour /boot. Vous pouvez utiliser l'espace restant pour la racine /.
      • Les partitions standard sont recommandées, mais vous pouvez utiliser la gestion des volumes logiques (LVM).
      • Vous pouvez utiliser xfs, ext4 ou ext3 pour le système de fichiers.
      • Cliquez sur Done lorsque vous avez terminé les modifications.
  3. Cliquez sur Begin Installation.
  4. Définir un Root Password. Créer d'autres utilisateurs le cas échéant.
  5. Redémarrez la VM et connectez-vous en tant que root une fois l'installation terminée.
  6. Configurer l'image.

    1. Enregistrez la VM et activez le référentiel Red Hat Enterprise Linux 9.

      # subscription-manager register --auto-attach
    2. Assurez-vous que le paquetage cloud-init est installé et activé.

      # dnf install cloud-init
      # systemctl enable --now cloud-init.service
  7. Mettez la VM hors tension.

3.4. Téléchargement de l'image RHEL sur GCP

Pour télécharger votre image RHEL 9 sur Google Cloud Platform (GCP), suivez les procédures de cette section.

3.4.1. Créer un nouveau projet sur GCP

Suivez les étapes suivantes pour créer un nouveau projet sur Google Cloud Platform (GCP).

Conditions préalables

  • Vous devez disposer d'un compte auprès de GCP. Si ce n'est pas le cas, consultez Google Cloud pour plus d'informations.

Procédure

  1. Lancez la console GCP.
  2. Cliquez sur le menu déroulant à droite de Google Cloud Platform.
  3. Dans le menu contextuel, cliquez sur NEW PROJECT.
  4. Dans la fenêtre New Project, saisissez un nom pour votre nouveau projet.
  5. Vérifiez Organization. Cliquez sur le menu déroulant pour modifier l'organisation, si nécessaire.
  6. Confirmez l'adresse Location de votre organisation ou dossier parent. Cliquez sur Browse pour rechercher et modifier cette valeur, si nécessaire.
  7. Cliquez sur CREATE pour créer votre nouveau projet GCP.

    Note

    Une fois le SDK Google Cloud installé, vous pouvez utiliser la commande CLI gcloud projects create pour créer un projet. Par exemple, vous pouvez créer un projet à l'aide de la commande CLI suivante

    # gcloud projects create my-gcp-project3 --name project3

    L'exemple crée un projet avec l'ID de projet my-gcp-project3 et le nom de projet project3. Voir gcloud project create pour plus d'informations.

3.4.2. Installation du SDK Google Cloud

Suivez les étapes suivantes pour installer le SDK Google Cloud.

Procédure

  1. Suivez les instructions du GCP pour télécharger et extraire l'archive Google Cloud SDK. Voir le document GCP Quickstart for Linux pour plus de détails.
  2. Suivez les mêmes instructions pour initialiser le SDK Google Cloud.

    Note

    Une fois que vous avez initialisé le SDK Google Cloud, vous pouvez utiliser les commandes CLI gcloud pour effectuer des tâches et obtenir des informations sur votre projet et vos instances. Par exemple, vous pouvez afficher des informations sur le projet à l'aide de la commande gcloud compute project-info describe --project <project-name>.

3.4.3. Création de clés SSH pour Google Compute Engine

Effectuez la procédure suivante pour générer et enregistrer des clés SSH avec la GCE afin de pouvoir accéder directement à une instance par SSH en utilisant son adresse IP publique.

Procédure

  1. Utilisez la commande ssh-keygen pour générer une paire de clés SSH à utiliser avec GCE.

    # ssh-keygen -t rsa -f ~/.ssh/google_compute_engine
  2. Sur la page du tableau de bord de la console GCP, cliquez sur le menu Navigation à gauche de Google Cloud Console banner et sélectionnez Compute Engine puis Metadata.
  3. Cliquez sur SSH Keys puis sur Edit.
  4. Saisissez le résultat généré par le fichier ~/.ssh/google_compute_engine.pub et cliquez sur Save.

    Vous pouvez maintenant vous connecter à votre instance en utilisant le protocole SSH standard.

    # ssh -i ~/.ssh/google_compute_engine <username>@<instance_external_ip>
Note

Vous pouvez exécuter la commande gcloud compute config-ssh pour remplir votre fichier de configuration avec des alias pour vos instances. Les alias permettent des connexions SSH simples par nom d'instance. Pour plus d'informations sur la commande gcloud compute config-ssh, voir gcloud compute config-ssh.

3.4.4. Création d'un godet de stockage dans GCP Storage

L'importation vers GCP nécessite un GCP Storage Bucket. Suivez les étapes suivantes pour créer un bac de stockage.

Procédure

  1. Si vous n'êtes pas encore connecté à GCP, connectez-vous à l'aide de la commande suivante.

    # gcloud auth login
  2. Créer un panier de stockage.

    # gsutil mb gs://bucket_name
    Note

    Vous pouvez également utiliser la Google Cloud Console pour créer un bac. Pour plus d'informations, reportez-vous à la section Créer un seau.

Ressources supplémentaires

3.4.5. Conversion et téléchargement de votre image dans votre GCP Bucket

Suivez la procédure suivante pour convertir et télécharger votre image dans votre GCP Bucket. Les échantillons sont représentatifs ; ils convertissent une image qcow2 au format raw, puis tarent cette image pour la télécharger.

Procédure

  1. Exécutez la commande qemu-img pour convertir votre image. L'image convertie doit porter le nom disk.raw.

    # qemu-img convert -f qcow2 -O raw rhel-{ProductNumber}.0-sample.qcow2 disk.raw
  2. Goudronner l'image.

    # tar --format=oldgnu -Sczf disk.raw.tar.gz disk.raw
  3. Téléchargez l'image dans le panier que vous avez créé précédemment. Le téléchargement peut prendre quelques minutes.

    # gsutil cp disk.raw.tar.gz gs://bucket_name
  4. Depuis l'écran d'accueil Google Cloud Platform, cliquez sur l'icône du menu réduit et sélectionnez Storage puis Browser.
  5. Cliquez sur le nom de votre seau.

    L'image tarrée est listée sous le nom de votre godet.

    Note

    Vous pouvez également télécharger votre image en utilisant le site GCP Console. Pour ce faire, cliquez sur le nom de votre seau, puis sur Upload files.

3.4.6. Création d'une image à partir de l'objet dans le seau GCP

Effectuez la procédure suivante pour créer une image à partir de l'objet dans votre panier GCP.

Procédure

  1. Exécutez la commande suivante pour créer une image pour GCE. Indiquez le nom de l'image que vous créez, le nom de l'unité de stockage et le nom de l'image tarée.

    # gcloud compute images create my-image-name --source-uri gs://my-bucket-name/disk.raw.tar.gz
    Note

    Vous pouvez également utiliser la Google Cloud Console pour créer une image. Pour plus d'informations, voir Création, suppression et dépréciation d'images personnalisées.

  2. Optionnellement, trouver l'image dans la console GCP.

    1. Cliquez sur le menu Navigation à gauche de la bannière Google Cloud Console.
    2. Sélectionnez Compute Engine puis Images.

3.4.7. Création d'une instance Google Compute Engine à partir d'une image

Effectuez les étapes suivantes pour configurer une instance de VM GCE à l'aide de la console GCP.

Note

La procédure suivante fournit des instructions pour créer une instance VM de base à l'aide de la console GCP. Voir Création et démarrage d'une instance VM pour plus d'informations sur les instances VM GCE et leurs options de configuration.

Procédure

  1. Sur la page du tableau de bord de la console GCP, cliquez sur le menu Navigation à gauche de Google Cloud Console banner et sélectionnez Compute Engine puis Images.
  2. Sélectionnez votre image.
  3. Cliquez sur Create Instance.
  4. Sur la page Create an instance, entrez un Name pour votre instance.
  5. Choisissez un site Region et Zone.
  6. Choisissez un site Machine configuration qui répond ou dépasse les exigences de votre charge de travail.
  7. Veillez à ce que Boot disk indique le nom de votre image.
  8. Si vous le souhaitez, sous Firewall, sélectionnez Allow HTTP traffic ou Allow HTTPS traffic.
  9. Cliquez sur Create.

    Note

    Il s'agit des options de configuration minimales nécessaires pour créer une instance de base. Examinez les options supplémentaires en fonction des exigences de votre application.

  10. Trouvez votre image sous VM instances.
  11. Dans le tableau de bord de la console GCP, cliquez sur le menu Navigation à gauche de Google Cloud Console banner et sélectionnez Compute Engine puis VM instances.

    Note

    Vous pouvez également utiliser la commande CLI gcloud compute instances create pour créer une instance de VM GCE à partir d'une image. Voici un exemple simple.

    gcloud compute instances create myinstance3 --zone=us-central1-a --image test-iso2-image

    L'exemple crée une instance VM nommée myinstance3 dans la zone us-central1-a sur la base de l'image existante test-iso2-image. Voir gcloud compute instances create pour plus d'informations.

3.4.8. Connexion à votre instance

Suivez la procédure suivante pour vous connecter à votre instance GCE à l'aide de son adresse IP publique.

Procédure

  1. Exécutez la commande suivante pour vous assurer que votre instance fonctionne. La commande répertorie les informations relatives à votre instance GCE, y compris si l'instance est en cours d'exécution et, le cas échéant, l'adresse IP publique de l'instance en cours d'exécution.

    # gcloud compute instances list
  2. Connectez-vous à votre instance en utilisant le protocole SSH standard. L'exemple utilise la clé google_compute_engine créée précédemment.

    # ssh -i ~/.ssh/google_compute_engine < nom_utilisateur>@<instance_externe_ip>
    Note

    GCP offre un certain nombre de moyens de se connecter à votre instance par SSH. Voir Connexion aux instances pour plus d'informations. Vous pouvez également vous connecter à votre instance en utilisant le compte et le mot de passe root que vous avez définis précédemment.

3.4.9. Attacher des abonnements Red Hat

Pour attacher votre abonnement Red Hat à une instance RHEL, suivez les étapes suivantes.

Conditions préalables

  • Vous devez avoir activé vos abonnements.

Procédure

  1. Enregistrez votre système.

    # subscription-manager register --auto-attach
  2. Joignez vos abonnements.

3.5. Ressources supplémentaires

Chapitre 4. Configuration de Red Hat High Availability Cluster sur Google Cloud Platform

Pour configurer un cluster Red Hat High Availability (HA) sur Google Cloud Platform (GCP) en utilisant des instances de machines virtuelles (VM) Google Compute Engine (GCE) comme nœuds de cluster, reportez-vous aux sections suivantes.

Ils fournissent des informations sur

  • Procédures préalables à la configuration de votre environnement pour GCP. Une fois votre environnement configuré, vous pouvez créer et configurer des instances de VM.
  • Procédures spécifiques à la création de clusters HA, qui transforment des nœuds individuels en un cluster de nœuds HA sur GCP. Il s'agit notamment des procédures d'installation des paquets et des agents de haute disponibilité sur chaque nœud de cluster, de la configuration de la clôture et de l'installation des agents de ressources réseau.

Conditions préalables

  • Serveur Red Hat Enterprise Linux 9 : rhel-9-server-rpms/8Server/x86_64
  • Serveur Red Hat Enterprise Linux 9 (haute disponibilité) : rhel-9-server-ha-rpms/8Server/x86_64

    • Vous devez appartenir à un projet GCP actif et disposer d'autorisations suffisantes pour créer des ressources dans le projet.
    • Votre projet doit avoir un compte de service qui appartient à une instance de VM et non à un utilisateur individuel. Voir Utilisation du compte de service par défaut du moteur de calcul pour plus d'informations sur l'utilisation du compte de service par défaut au lieu de créer un compte de service distinct.

Si vous ou votre administrateur de projet créez un compte de service personnalisé, celui-ci doit être configuré pour les rôles suivants.

  • Agent de traçage du nuage
  • Compute Admin
  • Administration du réseau informatique
  • Utilisateur du magasin de données dans le nuage
  • Logging Admin
  • Éditeur de suivi
  • Suivi de l'auteur de la métrique
  • Administrateur de compte de service
  • Storage Admin

4.1. Paquets système requis

Pour créer et configurer une image de base de RHEL, les paquets suivants doivent être installés sur votre système hôte.

Tableau 4.1. Paquets de systèmes

PaquetRéférentielDescription

libvirt

rhel-9-for-x86_64-appstream-rpms

API, démon et outil de gestion open source pour la gestion de la virtualisation des plateformes

virt-install

rhel-9-for-x86_64-appstream-rpms

Un utilitaire en ligne de commande pour construire des VM

libguestfs

rhel-9-for-x86_64-appstream-rpms

Une bibliothèque pour l'accès et la modification des systèmes de fichiers VM

guestfs-tools

rhel-9-for-x86_64-appstream-rpms

Outils d'administration du système pour les machines virtuelles ; comprend l'utilitaire virt-customize

4.2. Options d'images Red Hat Enterprise Linux sur GCP

Le tableau suivant répertorie les choix d'images pour RHEL 9 sur Google Cloud Platform et les différences entre les options d'images.

Tableau 4.2. Options d'images

Option d'imageAbonnementsExemple de scénarioConsidérations

Déployez une image Red Hat Gold.

Utilisez vos abonnements Red Hat existants.

Sélectionnez une Red Hat Gold Image sur Google Cloud Platform. Pour plus de détails sur les Gold Images et sur la manière d'y accéder sur Google Cloud Platform, consultez le Guide de référence de Red Hat Cloud Access.

L'abonnement comprend le coût du produit Red Hat ; vous payez Google pour tous les autres coûts d'instance. Red Hat fournit une assistance directe pour les images RHEL personnalisées.

Déployez une image personnalisée que vous déplacez vers GCP.

Utilisez vos abonnements Red Hat existants.

Téléchargez votre image personnalisée et joignez vos abonnements.

L'abonnement comprend le coût du produit Red Hat ; vous payez tous les autres coûts d'instance. Red Hat fournit une assistance directe pour les images RHEL personnalisées.

Déployer une image GCP existante qui inclut RHEL.

Les images GCP incluent un produit Red Hat.

Choisissez une image RHEL lorsque vous lancez une instance sur GCP Compute Engine, ou choisissez une image sur Google Cloud Platform Marketplace.

Vous payez GCP à l'heure sur la base d'un modèle de paiement à l'utilisation. Ces images sont appelées "images à la demande". GCP propose une assistance pour les images à la demande par le biais d'un contrat d'assistance.

Note

Vous pouvez créer une image personnalisée pour GCP à l'aide de Red Hat Image Builder. Voir Composer une image système RHEL personnalisée pour plus d'informations.

Important

Vous ne pouvez pas convertir une instance à la demande en une instance RHEL personnalisée. Pour passer d'une image à la demande à une image personnalisée RHEL bring-your-own-subscription (BYOS) :

  1. Créez une nouvelle instance RHEL personnalisée et migrez les données de votre instance à la demande.
  2. Annulez votre instance à la demande après avoir migré vos données pour éviter une double facturation.

4.3. Installation du SDK Google Cloud

Suivez les étapes suivantes pour installer le SDK Google Cloud.

Procédure

  1. Suivez les instructions du GCP pour télécharger et extraire l'archive Google Cloud SDK. Voir le document GCP Quickstart for Linux pour plus de détails.
  2. Suivez les mêmes instructions pour initialiser le SDK Google Cloud.

    Note

    Une fois que vous avez initialisé le SDK Google Cloud, vous pouvez utiliser les commandes CLI gcloud pour effectuer des tâches et obtenir des informations sur votre projet et vos instances. Par exemple, vous pouvez afficher des informations sur le projet à l'aide de la commande gcloud compute project-info describe --project <project-name>.

4.4. Création d'un panier d'images GCP

Le document suivant présente les conditions minimales requises pour créer un seau multirégional dans votre emplacement par défaut.

Conditions préalables

  • Utilitaire de stockage GCP (gsutil)

Procédure

  1. Si vous n'êtes pas encore connecté à Google Cloud Platform, connectez-vous à l'aide de la commande suivante.

    # gcloud auth login
  2. Créer un panier de stockage.

    $ gsutil mb gs://BucketName

    Exemple :

    $ gsutil mb gs://rhel-ha-bucket

Ressources supplémentaires

4.5. Création d'un réseau et d'un sous-réseau de nuage privé virtuel personnalisé

Effectuez les étapes suivantes pour créer un réseau et un sous-réseau de nuage privé virtuel (VPC) personnalisés.

Procédure

  1. Lancez la console GCP.
  2. Sélectionnez VPC networks sous Networking dans le volet de navigation gauche.
  3. Cliquez sur Create VPC Network.
  4. Entrez un nom pour le réseau VPC.
  5. Sous New subnet, créez un Custom subnet dans la région où vous souhaitez créer le cluster.
  6. Cliquez sur Create.

4.6. Préparation et importation d'une image GCP de base

Effectuez les étapes suivantes pour préparer une image Red Hat Enterprise Linux 9 pour GCP.

Procédure

  1. Convertir le fichier. Les images téléchargées vers le GCP doivent être au format raw et nommées disk.raw.

    $ qemu-img convert -f qcow2 ImageName.qcow2 -O raw disk.raw
  2. Compresser le fichier raw. Les images téléchargées sur GCP doivent être compressées.

    $ tar -Sczf ImageName.tar.gz disk.raw
  3. Importez l'image compressée dans le godet créé précédemment.

    $ gsutil cp ImageName.tar.gz gs://BucketName

4.7. Création et configuration d'une instance GCP de base

Effectuez les étapes suivantes pour créer et configurer une instance GCP conforme aux exigences de fonctionnement et de sécurité de GCP.

Procédure

  1. Créer une image à partir du fichier compressé dans le seau.

    $ gcloud compute images create BaseImageName --source-uri gs://BucketName/BaseImageName.tar.gz

    Exemple :

    [admin@localhost ~] $ gcloud compute images create rhel-76-server --source-uri gs://user-rhelha/rhel-server-76.tar.gz
    Created [https://www.googleapis.com/compute/v1/projects/MyProject/global/images/rhel-server-76].
    NAME            PROJECT                 FAMILY  DEPRECATED  STATUS
    rhel-76-server  rhel-ha-testing-on-gcp                      READY
  2. Créez une instance modèle à partir de l'image. La taille minimale requise pour une instance RHEL de base est n1-standard-2. Voir gcloud compute instances create pour des options de configuration supplémentaires.

    $ gcloud compute instances create BaseInstanceName --can-ip-forward --machine-type n1-standard-2 --image BaseImageName --service-account ServiceAccountEmail

    Exemple :

    [admin@localhost ~] $ gcloud compute instances create rhel-76-server-base-instance --can-ip-forward --machine-type n1-standard-2 --image rhel-76-server --service-account account@project-name-on-gcp.iam.gserviceaccount.com
    Created [https://www.googleapis.com/compute/v1/projects/rhel-ha-testing-on-gcp/zones/us-east1-b/instances/rhel-76-server-base-instance].
    NAME   ZONE   MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP     STATUS
    rhel-76-server-base-instance  us-east1-bn1-standard-2          10.10.10.3   192.227.54.211  RUNNING
  3. Connectez-vous à l'instance avec une session de terminal SSH.

    $ ssh root@PublicIPaddress
  4. Mettre à jour le logiciel RHEL.

    1. Enregistrez-vous auprès du gestionnaire d'abonnements Red Hat (RHSM).
    2. Activer un ID de pool d'abonnement (ou utiliser la commande --auto-attach ).
    3. Désactiver tous les dépôts.

      # subscription-manager repos --disable=*
    4. Activer le dépôt suivant.

      # subscription-manager repos --enable=rhel-9-server-rpms
    5. Exécutez la commande dnf update.

      # dnf update -y
  5. Installer l'environnement invité GCP Linux sur l'instance en cours d'exécution (installation sur place).

    Voir la section Installer l'environnement de l'invité sur place pour obtenir des instructions.

  6. Sélectionnez l'option CentOS/RHEL.
  7. Copiez le script de commande et collez-le à l'invite de commande pour l'exécuter immédiatement.
  8. Apportez les modifications de configuration suivantes à l'instance. Ces modifications sont basées sur les recommandations de GCP pour les images personnalisées. Voir la liste des images gcloudcompute pour plus d'informations.

    1. Modifiez le fichier /etc/chrony.conf et supprimez tous les serveurs NTP.
    2. Ajouter le serveur NTP suivant.

      metadata.google.internal iburst Serveur NTP de Google
    3. Supprimez toutes les règles persistantes relatives aux périphériques réseau.

      # rm -f /etc/udev/rules.d/70-persistent-net.rules
      
      # rm -f /etc/udev/rules.d/75-persistent-net-generator.rules
    4. Configurer le service réseau pour qu'il démarre automatiquement.

      # chkconfig network on
    5. Réglez le démarrage automatique du site sshd service.

      # systemctl enable sshd
      # systemctl is-enabled sshd
    6. Régler le fuseau horaire sur UTC.

      # ln -sf /usr/share/zoneinfo/UTC /etc/localtime
    7. (Facultatif) Modifiez le fichier /etc/ssh/ssh_config et ajoutez les lignes suivantes à la fin du fichier. Cela permet de maintenir votre session SSH active pendant de longues périodes d'inactivité.

      # Server times out connections after several minutes of inactivity.
      # Keep alive ssh connections by sending a packet every 7 minutes.
      ServerAliveInterval 420
    8. Modifiez le fichier /etc/ssh/sshd_config et effectuez les changements suivants, si nécessaire. Le paramètre ClientAliveInterval 420 est facultatif ; il permet de maintenir votre session SSH active pendant de longues périodes d'inactivité.

      PermitRootLogin no
      PasswordAuthentication no
      AllowTcpForwarding yes
      X11Forwarding no
      PermitTunnel no
      # Compute times out connections after 10 minutes of inactivity.
      # Keep ssh connections alive by sending a packet every 7 minutes.
      ClientAliveInterval 420
  9. Désactiver l'accès par mot de passe.

    ssh_pwauth from 1 to 0.
    ssh_pwauth: 0
    Important

    Auparavant, vous avez activé l'accès par mot de passe pour permettre l'accès à la session SSH afin de configurer l'instance. Vous devez désactiver l'accès par mot de passe. Tous les accès aux sessions SSH doivent se faire sans mot de passe.

  10. Désinscrire l'instance du gestionnaire d'abonnement.

    # subscription-manager unregister
  11. Nettoyez l'historique du shell. Laissez l'instance fonctionner pour la procédure suivante.

    # export HISTSIZE=0

4.8. Création d'une image instantanée

Effectuez les étapes suivantes pour préserver les paramètres de configuration de l'instance et créer un instantané.

Procédure

  1. Sur l'instance en cours d'exécution, synchroniser les données sur le disque.

    # sync
  2. Sur votre système hôte, créez l'instantané.

    $ gcloud compute disks snapshot InstanceName --snapshot-names SnapshotName
  3. Sur votre système hôte, créez l'image configurée à partir de l'instantané.

    $ gcloud compute images create ConfiguredImageFromSnapshot --source-snapshot SnapshotName

4.9. Création d'une instance de modèle de nœud HA et de nœuds HA

Une fois que vous avez configuré une image à partir de l'instantané, vous pouvez créer un modèle de nœud. Utilisez ce modèle pour créer tous les nœuds HA. Effectuez les étapes suivantes pour créer le modèle et les nœuds HA.

Procédure

  1. Créer un modèle d'instance.

    $ gcloud compute instance-templates create InstanceTemplateName --can-ip-forward --machine-type n1-standard-2 --image ConfiguredImageFromSnapshot --service-account ServiceAccountEmailAddress

    Exemple :

    [admin@localhost ~] $ gcloud compute instance-templates create rhel-91-instance-template --can-ip-forward --machine-type n1-standard-2 --image rhel-91-gcp-image --service-account account@project-name-on-gcp.iam.gserviceaccount.com
    Created [https://www.googleapis.com/compute/v1/projects/project-name-on-gcp/global/instanceTemplates/rhel-91-instance-template].
    NAME  MACHINE_TYPE   PREEMPTIBLE  CREATION_TIMESTAMP
    rhel-91-instance-template   n1-standard-2          2018-07-25T11:09:30.506-07:00
  2. Créer plusieurs nœuds dans une zone.

    # gcloud compute instances create NodeName01 NodeName02 --source-instance-template InstanceTemplateName --zone RegionZone --network=NetworkName --subnet=SubnetName

    Exemple :

    [admin@localhost ~] $ gcloud compute instances create rhel81-node-01 rhel81-node-02 rhel81-node-03 --source-instance-template rhel-91-instance-template --zone us-west1-b --network=projectVPC --subnet=range0
    Created [https://www.googleapis.com/compute/v1/projects/project-name-on-gcp/zones/us-west1-b/instances/rhel81-node-01].
    Created [https://www.googleapis.com/compute/v1/projects/project-name-on-gcp/zones/us-west1-b/instances/rhel81-node-02].
    Created [https://www.googleapis.com/compute/v1/projects/project-name-on-gcp/zones/us-west1-b/instances/rhel81-node-03].
    NAME            ZONE        MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
    rhel81-node-01  us-west1-b  n1-standard-2               10.10.10.4   192.230.25.81   RUNNING
    rhel81-node-02  us-west1-b  n1-standard-2               10.10.10.5   192.230.81.253  RUNNING
    rhel81-node-03  us-east1-b  n1-standard-2               10.10.10.6   192.230.102.15  RUNNING

4.10. Installation des paquets et des agents HA

Effectuez les étapes suivantes sur tous les nœuds.

Procédure

  1. Dans la Google Cloud Console, sélectionnez Compute Engine puis VM instances.
  2. Sélectionnez l'instance, cliquez sur la flèche à côté de SSH et sélectionnez l'option de commande View gcloud.
  3. Collez cette commande à l'invite de commande pour un accès sans mot de passe à l'instance.
  4. Activez l'accès au compte sudo et enregistrez-vous auprès du Gestionnaire d'abonnements Red Hat.
  5. Activer un ID de pool d'abonnement (ou utiliser la commande --auto-attach ).
  6. Désactiver tous les dépôts.

    # subscription-manager repos --disable=*
  7. Activer les référentiels suivants.

    # subscription-manager repos --enable=rhel-9-server-rpms
    # subscription-manager repos --enable=rhel-9-for-x86_64-highavailability-rpms
  8. Installez pcs pacemaker, les agents de clôture et les agents de ressources.

    # dnf install -y pcs pacemaker fence-agents-gce resource-agents-gcp
  9. Mettre à jour tous les paquets.

    # dnf update -y

4.11. Configuration des services HA

Effectuez les étapes suivantes sur tous les nœuds pour configurer les services HA.

Procédure

  1. L'utilisateur hacluster a été créé lors de l'installation de pcs et pacemaker à l'étape précédente. Créez un mot de passe pour l'utilisateur hacluster sur tous les nœuds du cluster. Utilisez le même mot de passe pour tous les nœuds.

    # passwd hacluster
  2. Si le service firewalld est installé, ajoutez le service HA.

    # firewall-cmd --permanent --add-service=high-availability
    
    # firewall-cmd --reload
  3. Démarrer le service pcs et l'autoriser à démarrer au démarrage.

    # systemctl start pcsd.service
    
    # systemctl enable pcsd.service
    
    Created symlink from /etc/systemd/system/multi-user.target.wants/pcsd.service to /usr/lib/systemd/system/pcsd.service.

Vérification

  1. Assurez-vous que le service pcsd est en cours d'exécution.

    # systemctl status pcsd.service
    
    pcsd.service - PCS GUI and remote configuration interface
    Loaded: loaded (/usr/lib/systemd/system/pcsd.service; enabled; vendor preset: disabled)
    Active: active (running) since Mon 2018-06-25 19:21:42 UTC; 15s ago
    Docs: man:pcsd(8)
    man:pcs(8)
    Main PID: 5901 (pcsd)
    CGroup: /system.slice/pcsd.service
    └─5901 /usr/bin/ruby /usr/lib/pcsd/pcsd > /dev/null &
  2. Modifiez le fichier /etc/hosts. Ajoutez les noms d'hôtes RHEL et les adresses IP internes pour tous les nœuds.

4.12. Création d'un cluster

Effectuez les étapes suivantes pour créer la grappe de nœuds.

Procédure

  1. Sur l'un des nœuds, authentifiez l'utilisateur pcs. Spécifiez le nom de chaque nœud du cluster dans la commande.

    # pcs host auth hostname1 hostname2 hostname3
    Username: hacluster
    Password:
    hostname1: Authorized
    hostname2: Authorized
    hostname3: Authorized
  2. Create the cluster.

    # pcs cluster setup cluster-name hostname1 hostname2 hostname3

Vérification

  1. Exécutez la commande suivante pour permettre aux nœuds de rejoindre automatiquement le cluster lorsqu'ils sont démarrés.

    # pcs cluster enable --all
  2. Démarrer le cluster.

    # pcs cluster start --all

4.13. Création d'un dispositif de clôture

Suivez les étapes suivantes pour créer un dispositif de clôture.

Notez que pour la plupart des configurations par défaut, les noms d'instance GCP et les noms d'hôte RHEL sont identiques.

Procédure

  1. Obtenir les noms des instances GCP. Notez que la sortie de la commande suivante indique également l'ID interne de l'instance.

    # fence_gce --zone us-west1-b --project=rhel-ha-on-gcp -o list

    Exemple :

    [root@rhel81-node-01 ~]# fence_gce --zone us-west1-b --project=rhel-ha-testing-on-gcp -o list
    
    4435801234567893181,InstanceName-3
    4081901234567896811,InstanceName-1
    7173601234567893341,InstanceName-2
  2. Créer un dispositif de clôture.

    # pcs stonith create FenceDeviceName fence_gce zone=Region-Zone project=MyProject

Vérification

  • Vérifiez que les dispositifs de clôture ont démarré.

    # pcs status

    Exemple :

    [root@rhel81-node-01 ~]# pcs status
    
    Cluster name: gcp-cluster
    Stack: corosync
    Current DC: rhel81-node-02 (version 1.1.18-11.el7_5.3-2b07d5c5a9) - partition with quorum
    Last updated: Fri Jul 27 12:53:25 2018
    Last change: Fri Jul 27 12:51:43 2018 by root via cibadmin on rhel81-node-01
    
    3 nodes configured
    3 resources configured
    
    Online: [ rhel81-node-01 rhel81-node-02 rhel81-node-03 ]
    
    Full list of resources:
    
    us-west1-b-fence    (stonith:fence_gce):    Started rhel81-node-01
    
    Daemon Status:
    corosync: active/enabled
    pacemaker: active/enabled
    pcsd: active/enabled

4.14. Configuration de l'autorisation des nœuds GCP

Configurez les outils SDK pour utiliser les informations d'identification de votre compte pour accéder à GCP.

Procédure

Saisissez la commande suivante sur chaque nœud pour initialiser chaque nœud avec votre ID de projet et les informations d'identification de votre compte.

# gcloud-ra init

4.15. Configuration de l'agent de ressource gcp-vcp-move-vip

L'agent de ressources gcp-vpc-move-vip associe une adresse IP secondaire (alias IP) à une instance en cours d'exécution. Il s'agit d'une adresse IP flottante qui peut être transmise entre différents nœuds du cluster.

Pour afficher plus d'informations sur cette ressource :

# pcs resource describe gcp-vpc-move-vip

Vous pouvez configurer l'agent de ressources pour qu'il utilise une plage d'adresses de sous-réseau primaire ou une plage d'adresses de sous-réseau secondaire :

Primary subnet address range

Effectuez les étapes suivantes pour configurer la ressource pour le sous-réseau VPC primaire.

Procédure

  1. Créer la ressource aliasip. Inclure une adresse IP interne inutilisée. Inclure le bloc CIDR dans la commande.

    # pcs resource create aliasip gcp-vpc-move-vip alias_ip=UnusedIPaddress/CIDRblock

    Exemple :

    [root@rhel81-node-01 ~]# pcs resource create aliasip gcp-vpc-move-vip alias_ip=10.10.10.200/32
  2. Créer une ressource IPaddr2 pour gérer l'IP sur le nœud.

    # pcs resource create vip IPaddr2 nic=interface ip=AliasIPaddress cidr_netmask=32

    Exemple :

    [root@rhel81-node-01 ~]# pcs resource create vip IPaddr2 nic=eth0 ip=10.10.10.200 cidr_netmask=32
  3. Regrouper les ressources du réseau sous vipgrp.

    # pcs resource group add vipgrp aliasip vip

Vérification

  1. Vérifiez que les ressources ont démarré et sont regroupées sous vipgrp.

    # pcs status
  2. Vérifier que la ressource peut être déplacée vers un autre nœud.

    # pcs resource move vip Node

    Exemple :

    [root@rhel81-node-01 ~]# pcs resource move vip rhel81-node-03
  3. Vérifiez que le site vip a bien démarré sur un autre nœud.

    # pcs status

Secondary subnet address range

Effectuez les étapes suivantes pour configurer la ressource pour une plage d'adresses de sous-réseau secondaire.

Procédure

  1. Créez une plage d'adresses de sous-réseau secondaire.

    # gcloud-ra compute networks subnets update SubnetName --region RegionName --add-secondary-ranges SecondarySubnetName=SecondarySubnetRange

    Exemple :

    # gcloud-ra compute networks subnets update range0 --region us-west1 --add-secondary-ranges range1=10.10.20.0/24
  2. Créez la ressource aliasip. Créez une adresse IP interne inutilisée dans la plage d'adresses du sous-réseau secondaire. Inclure le bloc CIDR dans la commande.

    # pcs resource create aliasip gcp-vpc-move-vip alias_ip=UnusedIPaddress/CIDRblock

    Exemple :

    [root@rhel81-node-01 ~]# pcs resource create aliasip gcp-vpc-move-vip alias_ip=10.10.20.200/32
  3. Créer une ressource IPaddr2 pour gérer l'IP sur le nœud.

    # pcs resource create vip IPaddr2 nic=interface ip=AliasIPaddress cidr_netmask=32

    Exemple :

    [root@rhel81-node-01 ~]# pcs resource create vip IPaddr2 nic=eth0 ip=10.10.20.200 cidr_netmask=32
  4. Regrouper les ressources du réseau sous vipgrp.

    # pcs resource group add vipgrp aliasip vip

Vérification

  1. Vérifiez que les ressources ont démarré et sont regroupées sous vipgrp.

    # pcs status
  2. Vérifier que la ressource peut être déplacée vers un autre nœud.

    # pcs resource move vip Node

    Exemple :

    [root@rhel81-node-01 ~]# pcs resource move vip rhel81-node-03
  3. Vérifiez que le site vip a bien démarré sur un autre nœud.

    # pcs status

4.16. Ressources supplémentaires

Note légale

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.