Configuration du registre d'images interne pour les clusters Satellite

Satellite

Par défaut, le registre interne ne s'exécute pas dans votre cluster Satellite car aucun stockage de secours n'est configuré pour le registre interne. Suivez le tutoriel suivant pour configurer le registre d'images interne dans votre cluster Satellite avec IBM Cloud Object Storage comme stockage de secours.

Ce tutoriel traite de la configuration du registre d'images à l'aide de IBM Cloud Object Storage. Toutefois, vous pouvez également utiliser du stockage non persistant sur le noeud worker. Pour plus d'informations, voir Stockage d'images dans le répertoire vide du noeud worker.

Créez une instance IBM Cloud Object Storage qui répond aux exigences

  1. Dans la console IBM Cloud, accédez au menu Ressources et répertoriez vos instances de stockage.
  2. Identifiez vos instances Object Storage et recherchez la colonne Emplacement. Si une instance a été créée dans IBM Cloud, son emplacement est répertorié en tant que Global.
  3. Si vous ne disposez pas d'une instance Global qui répond aux exigences, suivez les étapes pour en créer une.
    1. Dans IBM Cloud Object Storage, cliquez sur Créer une instance.
    2. Sous Choisir une infrastructure, sélectionnez l'option IBM Cloud.
    3. Sélectionnez un plan de tarification et un nom de service.
    4. Choisissez le groupe de ressources dans lequel vos composants Satellite sont stockés.
    5. Cliquez sur Créer. Notez que la mise à disposition de votre instance peut prendre plusieurs minutes.

Créez un compartiment à utiliser pour votre registre d'images

Créez un compartiment à utiliser lorsque vous configurez votre registre d'images. Votre compartiment doit être configuré avec une résilience régionale. Pour plus d'informations sur la création d'un compartiment, voir Configuration de IBM Cloud Object Storage.

  1. Cliquez sur votre instance d' Object Storage.
  2. Cliquez sur Créer un compartiment.
  3. Sélectionnez l'option permettant de personnaliser votre compartiment.
  4. Sous Résilience, sélectionnez Régionale.
  5. Dans le menu déroulant Emplacement, choisissez la région la plus proche de celle à partir de laquelle votre emplacement est géré. Par exemple, si votre emplacement est géré depuis wdc (Washington, DC), choisissez la région us-east. Pour vérifier l'emplacement à partir duquel un emplacement Satellite est géré, exécutez ibmcloud sat location ls dans l'interface de ligne de commande.
  6. Sous Classe de stockage, sélectionnez Standard.
  7. Configurez les catégories restantes en fonction de vos préférences.
  8. Cliquez sur Créer un compartiment.
  9. Créez des données d'identification de service qui permettent à votre cluster de communiquer avec votre instance Object Storage.
  10. Dans le panneau de navigation, cliquez sur Données d'identification du service, puis sur Nouvelles données d'identification.
  11. Entrez un nom pour les nouvelles données d'identification.
  12. Dans le menu déroulant, sélectionnez le rôle Auteur.
  13. Cliquez sur Options avancées, puis sélectionnez l'option Inclure les données d'identification HMAC.
  14. Cliquez sur Ajouter.
  15. Dans le tableau Données d'identification pour le service, développez vos nouvelles données d'identification. Notez le access_key_id et le secret_access_key_id. Ne partagez ces données d'identification avec personne. Exemple de données d'identification à sauvegarder.
    "cos_hmac_keys": {
        "access_key_id": "1111111a1111111a11aa1a111111111a11aa1a111a11a1a1",
        "secret_access_key": "222222b222222b22bb2b22222222b22bb2b222b22b2b2"
    }
    

Créez un secret qui contient vos données d'identification de service COS

Dans l'interface de ligne de commande, créez un secret avec les données d'identification de service que vous avez créées et enregistrées.

  1. Connectez-vous à votre compte. Le cas échéant, ciblez le groupe de ressources approprié. Définissez le contexte de votre cluster.
  2. Créez le secret.
    oc create secret generic image-registry-private-configuration-user --from-literal=REGISTRY_STORAGE_S3_ACCESSKEY=<access_key_id> --from-literal=REGISTRY_STORAGE_S3_SECRETKEY=<secret_access_key> --namespace openshift-image-registry
    

Mise à jour des CRD de l'opérateur de registre Red Hat OpenShift

  1. Modifiez l'état de gestion de l'opérateur Red Hat OpenShift Register.
    oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"managementState":"Managed"}}'
    
  2. Editez les attributs de stockage de configuration pour stocker des images dans votre compartiment Object Storage.
    1. Recherchez et sauvegardez le noeud final de lien régional de votre emplacement Satellite. Dans la sortie, le noeud final est répertorié sous la colonne Adresse.
      ibmcloud sat endpoint ls --location <location_name> | grep satellite-cosRegional
      
      Exemple de sortie
      ID                           Name                                              Destination Type   Address       
      cavvku1p1h1gcfgk1kn1_uwokw   satellite-cosRegional-cavvku1p1h1gcfgk1kn1        cloud              TLS   i11aa11a1a1a11a11-1a11a1aaa1a1a1a1a-c000.us-east.satellite.appdomian.cloud:11111
      
    2. Ouvrez l'éditeur de fichier dans l'interface de ligne de commande.
      oc edit configs.imageregistry.operator.openshift.io/cluster
      
    3. Recherchez la section suivante à éditer.
      storage:
          emptyDir: {}
          managementState: Managed
      storageManaged: true
      
    4. Remplacez emptyDir: {} par les informations de votre compartiment et les noeuds finaux d'emplacement.
      s3:
        bucket: <bucket_name>
        region: <bucket_region>
        regionEndpoint: <location_link_endpoint>
        virtualHostedStyle: false
      
      Exemple de section après l'ajout des informations de compartiment et d'emplacement.
        storage:
          managementState: Managed
          s3:
            bucket: my_bucket
            region: us-east
            regionEndpoint: https://i11aa11a1a1a11a11-1a11a1aaa1a1a1a1a-c000.us-east.satellite.appdomian.cloud:11111
            virtualHostedStyle: false
        storageManaged: true
      
    5. Sauvegardez et appliquez les modifications.

Vérifiez vos modifications

Vérifiez que le registre d'images a été configuré en recherchant un pod commençant par image-registry- dans l'espace de nom openshift-image-registry.

  1. Exécutez la commande suivante.

    oc get pod -n openshift-image-registry
    
  2. Examinez la sortie et confirmez que le pod de registre est Running.

    Exemple de sortie

    NAME                                               READY   STATUS      RESTARTS      AGE
    image-registry-63p54b8add-vkjju                    1/1      Running      0              16m