21.7. 연결이 끊긴 클러스터에서 대기 시간 테스트 실행
CNF 테스트 이미지는 외부 레지스트리에 접속할 수 없는 연결이 끊긴 클러스터에서 테스트를 실행할 수 있습니다. 여기에는 두 단계가 필요합니다.
-
cnf-tests이미지를 사용자 정의 연결 해제 레지스트리로 미러링합니다. - 사용자 정의 연결 해제 레지스트리에서 이미지를 사용하도록 테스트에 지시합니다.
클러스터에서 액세스할 수 있는 사용자 정의 레지스트리로 이미지 미러링
테스트 이미지를 로컬 레지스트리에 미러링하기 위해 oc 에서 필요한 입력을 제공하기 위해 미러 실행 파일이 이미지에 포함되어 제공됩니다.
클러스터와 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/).
연결이 끊긴 레지스트리에
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_IMAGE 및 IMAGE_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은 클러스터에서 표준 워크로드로 실행되는 내장 컨테이너 이미지 레지스트리를 제공합니다.
프로세스
경로를 통해 레지스트리를 공개하여 레지스트리에 대한 외부 액세스 권한을 얻습니다.
$ oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"defaultRoute":true}}' --type=merge다음 명령을 실행하여 레지스트리 엔드포인트를 가져옵니다.
$ REGISTRY=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')이미지를 공개하는 데 사용할 네임스페이스를 생성합니다.
$ oc create ns cnftests테스트에 사용되는 모든 네임스페이스에서 해당 이미지 스트림을 사용할 수 있도록 합니다. 테스트 네임스페이스가
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다음 명령을 실행하여 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')예를 들어
dockerauth.json파일을 만듭니다.$ echo "{\"auths\": { \"$REGISTRY\": { \"auth\": $TOKEN } }}" > dockerauth.json이미지 미러링을 수행합니다.
$ 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 -테스트를 실행합니다.
$ 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"
다른 테스트 이미지 세트 미러링
지연 테스트를 위해 미러링되는 기본 업스트림 이미지를 선택적으로 변경할 수 있습니다.
프로세스
mirror명령은 기본적으로 업스트림 이미지를 미러링하려고 시도합니다. 다음 형식의 파일을 이미지에 전달하여 재정의할 수 있습니다.[ { "registry": "public.registry.io:5000", "image": "imageforcnftests:4.19" } ]예를 들어, 파일을 로컬에
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 -