Ajouter ou mettre à jour votre secret d’extraction Red Hat sur un cluster Azure Red Hat OpenShift 4

Ce guide décrit l’ajout ou la mise à jour de votre secret d’extraction Red Hat pour un cluster Azure Red Hat OpenShift (ARO) 4.x existant.

Si vous créez un cluster pour la première fois, vous pouvez ajouter votre secret d’extraction lors de la création de votre cluster. Pour plus d’informations sur la création d’un cluster ARO avec un secret d’extraction Red Hat, consultez Créer un cluster Azure Red Hat OpenShift 4.

Avant de commencer

Ce guide part du principe que vous disposez d’un cluster Azure Red Hat OpenShift 4 existant. Vérifiez que vous disposez d’un accès administrateur à votre cluster.

Préparer votre secret d’extraction

Lorsque vous créez un cluster ARO sans ajouter de secret d’extraction Red Hat, un secret d’extraction est toujours créé automatiquement sur votre cluster. Toutefois, ce secret d’extraction n’est pas entièrement rempli.

Cette section décrit la mise à jour de cette clé d’extraction avec des valeurs supplémentaires à partir de votre clé secrète d’extraction Red Hat.

  1. Récupérez le secret nommé pull-secret dans l’espace de noms openshift-config et enregistrez-le dans un fichier distinct en exécutant la commande suivante :

    oc get secrets pull-secret -n openshift-config -o template='{{index .data ".dockerconfigjson"}}' | base64 -d > pull-secret.json
    

    Le résultat doit ressembler à ce qui suit. (Notez que la valeur réelle du secret a été supprimée.)

    {
        "auths": {
            "arosvc.azurecr.io": {
                "auth": "<my-aroscv.azurecr.io-secret>"
            }
        }
    }
    
  2. Accédez au portail du gestionnaire de cluster Red Hat OpenShift et sélectionnez Télécharger le secret d’extraction. Votre secret d’extraction Red Hat ressemble à ce qui suit. (Notez que les valeurs de secret réelles ont été supprimées.)

    {
        "auths": {
            "cloud.openshift.com": {
                "auth": "<my-crc-secret>",
                "email": "klamenzo@redhat.com"
            },
            "quay.io": {
                "auth": "<my-quayio-secret>",
                "email": "klamenzo@redhat.com"
            },
            "registry.connect.redhat.com": {
                "auth": "<my-registry.connect.redhat.com-secret>",
                "email": "klamenzo@redhat.com"
            },
            "registry.redhat.io": {
                "auth": "<my-registry.redhat.io-secret>",
                "email": "klamenzo@redhat.com"
            }
        }
    }
    
  3. Modifiez le fichier de secret d’extraction que vous avez obtenu à partir de votre cluster en ajoutant les entrées trouvées dans votre clé secrète d’extraction Red Hat.

    Important

    L’inclusion de l’entrée cloud.openshift.com de votre secret d’extraction Red Hat entraînera le démarrage de l’envoi de données de télémétrie vers Red Hat par votre cluster. Incluez cette section uniquement si vous souhaitez envoyer des données de télémétrie. Dans le cas contraire, ignorez la section suivante.

    {
            "cloud.openshift.com": {
                "auth": "<my-crc-secret>",
                "email": "klamenzo@redhat.com"
            }
    

    Attention

    Ne supprimez pas et ne modifiez pas l’entrée arosvc.azurecr.io de votre secret d’extraction. Cette section est nécessaire pour que votre cluster fonctionne correctement.

    "arosvc.azurecr.io": {
                "auth": "<my-aroscv.azurecr.io-secret>"
            }
    

    Votre fichier final doit ressembler à ce qui suit. (Notez que les valeurs de secret réelles ont été supprimées.)

    {
        "auths": {
            "cloud.openshift.com": {
                "auth": "<my-crc-secret>",
                "email": "klamenzo@redhat.com"
            },
            "quay.io": {
                "auth": "<my-quayio-secret>",
                "email": "klamenzo@redhat.com"
            },
            "registry.connect.redhat.com": {
                "auth": "<my-registry.connect.redhat.com-secret>",
                "email": "klamenzo@redhat.com"
            },
            "registry.redhat.io": {
                "auth": "<my-registry.redhat.io-secret>",
                "email": "klamenzo@redhat.com"
            },
            "arosvc.azurecr.io": {
                "auth": "<my-aroscv.azurecr.io-secret>"
            }
        }
    }
    
  4. Assurez-vous que le fichier est dans un format JSON valide. Il existe de nombreuses façons de valider votre fichier JSON. L’exemple suivant utilise jq:

    cat pull-secret.json | jq
    

    Remarque

    Si une erreur se produit dans le fichier, elle s’affiche ainsi : parse error.

Ajouter votre secret d’extraction à votre cluster

Exécutez la commande suivante pour mettre à jour votre secret d’extraction.

Remarque

Dans ARO 4.9 ou versions antérieures, l’exécution de cette commande entraîne le redémarrage de vos nœuds de cluster un par un au fur et à mesure qu’ils sont mis à jour. Dans ARO 4.10 version ou ultérieure, un redémarrage ne sera pas déclenché.

oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=./pull-secret.json

Vérifier que le secret d’extraction est en place

oc exec -n openshift-apiserver $(oc get pod -n openshift-apiserver -o jsonpath="{.items[0].metadata.name}") -- cat /var/lib/kubelet/config.json

Après avoir défini le secret, vous êtes prêt à activer les opérateurs certifiés Red Hat.

Modifier le fichier de configuration

Modifiez les objets suivants pour activer les opérateurs Red Hat.

Tout d’abord, modifiez le fichier de configuration d’opérateur d’exemples. Vous pouvez ensuite modifier le fichier de configuration en exécutant la commande suivante :

oc edit configs.samples.operator.openshift.io/cluster -o yaml

Modifiez la valeur spec.managementState de Removed à Managed.

L’extrait de code YAML suivant montre uniquement les sections pertinentes du fichier YAML modifié :

apiVersion: samples.operator.openshift.io/v1
kind: Config
metadata:
  
  ...
  
spec:
  architectures:
  - x86_64
  managementState: Managed

Ensuite, exécutez la commande suivante pour modifier le fichier de configuration de l’opérateur du hub :

oc edit operatorhub cluster -o yaml

Changez les valeurs Spec.Sources.Disabled de true à false pour toutes les sources à activer.

L’extrait de code YAML suivant montre uniquement les sections pertinentes du fichier YAML modifié :

Name:         cluster

...
                 dd3310b9-e520-4a85-98e5-8b4779ee0f61
Spec:
  Sources:
    Disabled:  false
    Name:      certified-operators
    Disabled:  false
    Name:      redhat-operators

Enregistrez le fichier pour appliquer vos modifications.

Vérifier que votre clé secrète fonctionne

Après avoir ajouté votre secret d’extraction et modifié les fichiers de configuration appropriés, la mise à jour de votre cluster peut prendre plusieurs minutes. Pour vérifier que votre cluster a été mis à jour, exécutez la commande suivante pour afficher les opérateurs certifiés et les sources des opérateurs Red Hat disponibles :

$ oc get catalogsource -A
NAMESPACE               NAME                  DISPLAY               TYPE   PUBLISHER   AGE
openshift-marketplace   certified-operators   Certified Operators   grpc   Red Hat     10s
openshift-marketplace   community-operators   Community Operators   grpc   Red Hat     18h
openshift-marketplace   redhat-operators      Red Hat Operators     grpc   Red Hat     11s

Si vous ne voyez pas les opérateurs certifiés et les opérateurs Red Hat, patientez quelques minutes et réessayez.

Pour vous assurer que votre secret d’extraction a été mis à jour et qu’il fonctionne correctement, ouvrez OperatorHub et recherchez un opérateur Red Hat vérifié. Par exemple, assurez-vous que l’opérateur de stockage de conteneurs OpenShift est disponible et vérifiez que vous disposez des autorisations nécessaires pour l’installer.

Étapes suivantes

Pour en savoir plus sur les secrets d’extraction Red Hat, consultez Utiliser les secrets d’extraction d’image.

Pour en savoir plus sur Red Hat OpenShift 4, consultez la documentation Red Hat OpenShift Container Platform.