15.8. Exécution de tests de latence dans un cluster déconnecté


L'image de tests CNF peut exécuter des tests dans un cluster déconnecté qui n'est pas en mesure d'accéder à des registres externes. Cela nécessite deux étapes :

  1. Mise en miroir de l'image cnf-tests avec le registre personnalisé déconnecté.
  2. Demander aux tests de consommer les images du registre personnalisé déconnecté.

Mise en miroir des images dans un registre personnalisé accessible depuis le cluster

Un exécutable mirror est livré avec l'image afin de fournir les données requises par oc pour reproduire l'image de test dans un registre local.

  1. Exécutez cette commande à partir d'une machine intermédiaire qui a accès au cluster et au registre.redhat.io:

    $ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \
    registry.redhat.io/openshift4/cnf-tests-rhel8:v4.12 \
    /usr/bin/mirror -registry <disconnected_registry> | oc image mirror -f -
    Copy to Clipboard Toggle word wrap

    où :

    <registre_déconnecté>
    Le registre du miroir déconnecté est-il celui que vous avez configuré, par exemple, my.local.registry:5000/.
  2. Lorsque vous avez mis en miroir l'image cnf-tests dans le registre déconnecté, vous devez remplacer le registre d'origine utilisé pour récupérer les images lors de l'exécution des tests, par exemple :

    $ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \
    -e DISCOVERY_MODE=true -e FEATURES=performance -e IMAGE_REGISTRY="<disconnected_registry>" \
    -e CNF_TESTS_IMAGE="cnf-tests-rhel8:v4.12" \
    /usr/bin/test-run.sh -ginkgo.focus="\[performance\]\ Latency\ Test"
    Copy to Clipboard Toggle word wrap

Configurer les tests pour qu'ils consomment des images provenant d'un registre personnalisé

Vous pouvez exécuter les tests de latence à l'aide d'une image de test personnalisée et d'un registre d'images en utilisant les variables CNF_TESTS_IMAGE et IMAGE_REGISTRY.

  • Pour configurer les tests de latence afin d'utiliser une image de test personnalisée et un registre d'images, exécutez la commande suivante :

    $ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \
    -e IMAGE_REGISTRY="<custom_image_registry>" \
    -e CNF_TESTS_IMAGE="<custom_cnf-tests_image>" \
    -e FEATURES=performance \
    registry.redhat.io/openshift4/cnf-tests-rhel8:v4.12 /usr/bin/test-run.sh
    Copy to Clipboard Toggle word wrap

    où :

    <registre_d'images_personnalisé>
    est le registre de l'image personnalisée, par exemple, custom.registry:5000/.
    <custom_cnf-tests_image>
    est l'image personnalisée de cnf-tests, par exemple, custom-cnf-tests-image:latest.

Mise en miroir des images vers le registre d'images OpenShift du cluster

OpenShift Container Platform fournit un registre d'images de conteneurs intégré, qui s'exécute comme une charge de travail standard sur le cluster.

Procédure

  1. Obtenir un accès externe au registre en l'exposant à l'aide d'une route :

    $ oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"defaultRoute":true}}' --type=merge
    Copy to Clipboard Toggle word wrap
  2. Récupérez le point de terminaison du registre en exécutant la commande suivante :

    $ REGISTRY=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')
    Copy to Clipboard Toggle word wrap
  3. Créer un espace de noms pour exposer les images :

    $ oc create ns cnftests
    Copy to Clipboard Toggle word wrap
  4. Mettre le flux d'images à la disposition de tous les espaces de noms utilisés pour les tests. Cela est nécessaire pour permettre aux espaces de noms de tests de récupérer les images du flux d'images cnf-tests. Exécutez les commandes suivantes :

    $ oc policy add-role-to-user system:image-puller system:serviceaccount:cnf-features-testing:default --namespace=cnftests
    Copy to Clipboard Toggle word wrap
    $ oc policy add-role-to-user system:image-puller system:serviceaccount:performance-addon-operators-testing:default --namespace=cnftests
    Copy to Clipboard Toggle word wrap
  5. Récupérez le nom secret de docker et le jeton d'authentification en exécutant les commandes suivantes :

    $ SECRET=$(oc -n cnftests get secret | grep builder-docker | awk {'print $1'}
    Copy to Clipboard Toggle word wrap
    $ TOKEN=$(oc -n cnftests get secret $SECRET -o jsonpath="{.data['\.dockercfg']}" | base64 --decode | jq '.["image-registry.openshift-image-registry.svc:5000"].auth')
    Copy to Clipboard Toggle word wrap
  6. Créez un fichier dockerauth.json, par exemple :

    $ echo "{\"auths\": { \"$REGISTRY\": { \"auth\": $TOKEN } }}" > dockerauth.json
    Copy to Clipboard Toggle word wrap
  7. Effectuer la mise en miroir de l'image :

    $ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \
    registry.redhat.io/openshift4/cnf-tests-rhel8:4.12 \
    /usr/bin/mirror -registry $REGISTRY/cnftests |  oc image mirror --insecure=true \
    -a=$(pwd)/dockerauth.json -f -
    Copy to Clipboard Toggle word wrap
  8. Exécutez les tests :

    $ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \
    -e DISCOVERY_MODE=true -e FEATURES=performance -e IMAGE_REGISTRY=image-registry.openshift-image-registry.svc:5000/cnftests \
    cnf-tests-local:latest /usr/bin/test-run.sh -ginkgo.focus="\[performance\]\ Latency\ Test"
    Copy to Clipboard Toggle word wrap

Miroir d'un ensemble différent d'images de test

Vous pouvez éventuellement modifier les images en amont par défaut qui sont mises en miroir pour les tests de latence.

Procédure

  1. La commande mirror tente par défaut de refléter les images en amont. Ceci peut être surchargé en passant un fichier au format suivant à l'image :

    [
        {
            "registry": "public.registry.io:5000",
            "image": "imageforcnftests:4.12"
        }
    ]
    Copy to Clipboard Toggle word wrap
  2. Transmettez le fichier à la commande mirror, par exemple en l'enregistrant localement sous images.json. Avec la commande suivante, le chemin local est monté dans /kubeconfig à l'intérieur du conteneur et peut être transmis à la commande mirror.

    $ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \
    registry.redhat.io/openshift4/cnf-tests-rhel8:v4.12 /usr/bin/mirror \
    --registry "my.local.registry:5000/" --images "/kubeconfig/images.json" \
    |  oc image mirror -f -
    Copy to Clipboard Toggle word wrap
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat