테스트 OLM 번들
사전 요구 사항
디렉터리에 나열된 버전은 작동이 확인된 버전이며, 낮은 버전은 작동할 수 있지만 테스트되지 않았습니다.
-
task-3.17.0
(asdf
) -
operator-sdk-1.32.0
(asdf
) -
kubectl-1.25.3
(asdf
) -
helm-3.10.1
(asdf
) -
kustomize-4.5.7
(asdf
) -
yq-4.29.2
(asdf
) -
opm-1.26.2
(스크립트에 의해 자동으로 다운로드되거나asdf
를 통해 asdf-opm 플러그인을 사용하여 설치할 수 있음) -
kind-0.17.0
(asdf
) -
docker
(DOCKER="podman"
을 통해podman
으로 대체할 수 있음) -
podman
(OperatorSDK 도구 체인 중 일부는 podman을 사용함) -
k9s-0.26.7
(asdf
선택 사항)
환경 설정
Podman 설정
podman login registry.gitlab.com
Docker 설정
모든 작업에 podman
을 사용하지 않는 경우 Docker가 registry.gitlab.com
에 액세스할 수 있도록 허용하세요:
docker login registry.gitlab.com
Git 설정
Git에서 user.name
및 user.email
이 구성되어 있는지 확인하세요.
환경 설정
변수 이름 | 필수 여부 | 기본값 | 설명 |
---|---|---|---|
OPERATOR_VERSION
| yes | 업그레이드할 Operator 버전 | |
PREVIOUS_OPERATOR_VERSION
| yes | 업그레이드하기 전의 Operator 버전 | |
LOCAL_IP
| yes | 127.0.0.1
|
GITLAB_OPERATOR_DOMAIN 에 필요한 로컬 머신 IP. GITLAB_OPERATOR_DOMAIN 을 제공할 경우 LOCAL_IP 는 생략할 수 있음
|
GITLAB_OPERATOR_OLM_REGISTRY
| yes | registry.gitlab.com/gitlab-org/cloud-native/gitlab-operator/bundle
| 릴리스된 번들과 카탈로그가 있는 OLM 번들 및 카탈로그 레지스트리 |
BUNDLE_REGISTRY
| yes | 중간 OLM 번들 및 카탈로그를 게시하기 위한 스테이징 컨테이너 레지스트리 | |
… (이하 생략) |
Provision and deploy 및 OperatorHub publishing를 참조하여 추가 변수를 확인하세요.
오퍼레이터의 루트 디렉터리에 test_olm.env
를 생성하세요(또는 ${OLM_TESTING_ENVIRONMENT}
환경 변수를 사용하여 사용자 지정 위치에 있는 파일을 가리킴).
다음과 같이 각 사용자 지정 라인이 개인적인 설정을 반영하는지 확인하세요:
export OPERATOR_VERSION="0.10.2"
export BUNDLE_REGISTRY="registry.gitlab.com/dmakovey/gitlab-operator-bundle"
export PREVIOUS_OPERATOR_VERSION="0.9.1"
export LOCAL_IP="192.168.3.194"
export DO_NOT_PUBLISH="yes" # 번들/카탈로그를 다시 컴파일하고 게시하지 않음
# 이미 공개 레지스트리에서 게시된 것을 사용함
KinD 클러스터 준비 (선택 사항)
OLM이 설정된 KinD 클러스터에서 테스트를 실행하려면:
scripts/test_olm.sh setup_kind_cluster
그렇지 않은 경우 현재 kubectl
컨텍스트는 OLM이 이미 설치된 기존 클러스터를 가리켜야 함
테스트 실행
-
KinD 클러스터를 설정하고 거기에 Operator를 배포하세요:
scripts/test_olm.sh upgrade_test_step1
Operator Pod가 실행 중인지 확인하세요. 다음을 실행하여 확인하세요:
kubectl get pod -n gitlab-system -l control-plane=controller-manager
-
Operator를 통해 “이전” 버전의 GitLab을 배포하세요:
scripts/test_olm.sh upgrade_test_step2
GitLab이 배포되었는지 확인하세요:
kubectl get -n gitlab-system gitlab
-
Operator를 업그레이드하세요:
scripts/test_olm.sh upgrade_test_step3
Operator가 업그레이드되었는지 확인하세요.
다음 단계로 넘어가기 전에 업그레이드가 완료될 때까지 기다리세요
-
GitLab을 업그레이드하세요:
scripts/test_olm.sh upgrade_test_step4
GitLab이 업그레이드되고 작동 중인지 확인하세요.
업그레이드가 완료될 때까지 기다리세요
-
GitLab이 실행 중인지 확인하세요:
scripts/test_olm.sh check_gitlab
상기 명령은 Operator에서 GitLab 상태를 쿼리하며, 대체로 아래와 같이 사용할 수 있습니다:
scripts/test_olm.sh check_gitlab2