21.7. 연결이 끊긴 클러스터에서 대기 시간 테스트 실행


CNF 테스트 이미지는 외부 레지스트리에 접속할 수 없는 연결이 끊긴 클러스터에서 테스트를 실행할 수 있습니다. 여기에는 두 단계가 필요합니다.

  1. cnf-tests 이미지를 사용자 정의 연결 해제 레지스트리로 미러링합니다.
  2. 사용자 정의 연결 해제 레지스트리에서 이미지를 사용하도록 테스트에 지시합니다.

클러스터에서 액세스할 수 있는 사용자 정의 레지스트리로 이미지 미러링

테스트 이미지를 로컬 레지스트리에 미러링하기 위해 oc 에서 필요한 입력을 제공하기 위해 미러 실행 파일이 이미지에 포함되어 제공됩니다.

  1. 클러스터와 registry.redhat.io 에 액세스할 수 있는 중간 머신에서 다음 명령을 실행합니다.

    $ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \
    registry.redhat.io/openshift4/cnf-tests-rhel9:v4.19 \
    /usr/bin/mirror -registry <disconnected_registry> | oc image mirror -f -

    다음과 같습니다.

    <disconnected_registry>
    연결이 끊긴 미러 레지스트리가 구성되었습니까(예: my.local.registry:5000/ ).
  2. 연결이 끊긴 레지스트리에 cnf-tests 이미지를 미러링한 경우 테스트를 실행할 때 이미지를 가져오는 데 사용된 원래 레지스트리를 재정의해야 합니다. 예:

    podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \
    -e IMAGE_REGISTRY="<disconnected_registry>" \
    -e CNF_TESTS_IMAGE="cnf-tests-rhel9:v4.19" \
    -e LATENCY_TEST_RUNTIME=<time_in_seconds> \
    <disconnected_registry>/cnf-tests-rhel9:v4.19 /usr/bin/test-run.sh --ginkgo.v --ginkgo.timeout="24h"

사용자 정의 레지스트리의 이미지를 사용하도록 테스트 구성

CNF_TESTS_IMAGEIMAGE_REGISTRY 변수를 사용하여 사용자 정의 테스트 이미지와 이미지 레지스트리를 사용하여 지연 테스트를 실행할 수 있습니다.

  • 사용자 지정 테스트 이미지와 이미지 레지스트리를 사용하도록 대기 시간 테스트를 구성하려면 다음 명령을 실행하세요.

    $ 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 LATENCY_TEST_RUNTIME=<time_in_seconds> \
    registry.redhat.io/openshift4/cnf-tests-rhel9:v4.19 /usr/bin/test-run.sh --ginkgo.v --ginkgo.timeout="24h"

    다음과 같습니다.

    <custom_image_registry>
    사용자 정의 이미지 레지스트리는 다음과 같습니다. custom.registry:5000/ .
    <custom_cnf-tests_image>
    사용자 정의 cnf-tests 이미지입니다(예: custom-cnf-tests-image:latest ) .

클러스터 OpenShift 이미지 레지스트리에 이미지 미러링

OpenShift Container Platform은 클러스터에서 표준 워크로드로 실행되는 내장 컨테이너 이미지 레지스트리를 제공합니다.

프로세스

  1. 경로를 통해 레지스트리를 공개하여 레지스트리에 대한 외부 액세스 권한을 얻습니다.

    $ oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"defaultRoute":true}}' --type=merge
  2. 다음 명령을 실행하여 레지스트리 엔드포인트를 가져옵니다.

    $ REGISTRY=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')
  3. 이미지를 공개하는 데 사용할 네임스페이스를 생성합니다.

    $ oc create ns cnftests
  4. 테스트에 사용되는 모든 네임스페이스에서 해당 이미지 스트림을 사용할 수 있도록 합니다. 테스트 네임스페이스가 cnftests 이미지 스트림에서 이미지를 가져올 수 있도록 하는 데 필요합니다. 다음 명령을 실행합니다.

    $ oc policy add-role-to-user system:image-puller system:serviceaccount:cnf-features-testing:default --namespace=cnftests
    $ oc policy add-role-to-user system:image-puller system:serviceaccount:performance-addon-operators-testing:default --namespace=cnftests
  5. 다음 명령을 실행하여 docker 비밀 이름과 인증 토큰을 검색합니다.

    $ SECRET=$(oc -n cnftests get secret | grep builder-docker | awk {'print $1'}
    $ TOKEN=$(oc -n cnftests get secret $SECRET -o jsonpath="{.data['\.dockercfg']}" | base64 --decode | jq '.["image-registry.openshift-image-registry.svc:5000"].auth')
  6. 예를 들어 dockerauth.json 파일을 만듭니다.

    $ echo "{\"auths\": { \"$REGISTRY\": { \"auth\": $TOKEN } }}" > dockerauth.json
  7. 이미지 미러링을 수행합니다.

    $ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \
    registry.redhat.io/openshift4/cnf-tests-rhel9:v4.19 \
    /usr/bin/mirror -registry $REGISTRY/cnftests |  oc image mirror --insecure=true \
    -a=$(pwd)/dockerauth.json -f -
  8. 테스트를 실행합니다.

    $ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \
    -e LATENCY_TEST_RUNTIME=<time_in_seconds> \
    -e IMAGE_REGISTRY=image-registry.openshift-image-registry.svc:5000/cnftests cnf-tests-local:latest /usr/bin/test-run.sh --ginkgo.v --ginkgo.timeout="24h"

다른 테스트 이미지 세트 미러링

지연 테스트를 위해 미러링되는 기본 업스트림 이미지를 선택적으로 변경할 수 있습니다.

프로세스

  1. mirror 명령은 기본적으로 업스트림 이미지를 미러링하려고 시도합니다. 다음 형식의 파일을 이미지에 전달하여 재정의할 수 있습니다.

    [
        {
            "registry": "public.registry.io:5000",
            "image": "imageforcnftests:4.19"
        }
    ]
  2. 예를 들어, 파일을 로컬에 images.json 으로 저장하는 것처럼 미러 명령에 전달합니다. 다음 명령을 사용하면 로컬 경로가 컨테이너 내 /kubeconfig에 마운트되어 mirror 명령에 전달될 수 있습니다.

    $ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \
    registry.redhat.io/openshift4/cnf-tests-rhel9:v4.19 /usr/bin/mirror \
    --registry "my.local.registry:5000/" --images "/kubeconfig/images.json" \
    |  oc image mirror -f -
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동