오퍼레이터 업그레이드

다음은 GitLab 오퍼레이터를 업그레이드하는 방법입니다.

업그레이드 전에 백업을 수행하는 것이 강력히 권장됩니다.

단계 1: 가장 최신 차트 버전으로 업그레이드

오퍼레이터를 업그레이드하기 전에, 현재 GitLab 인스턴스가 가장 최신 차트 버전으로 업그레이드되었는지 GitLab 업그레이드 가이드를 따라 확인하세요. 이러한 버전들은 버전 매핑(Version mapping) 헤딩 아래의 릴리스 페이지에 개요로 나와 있습니다.

예를 들어, 현재 오퍼레이터 버전이 릴리스 0.4.0인 경우, 가능한 차트 업그레이드를 순서대로 진행해야 합니다: 5.5.3 -> 5.6.3 -> 5.7.0.

단계 2: 원하는 오퍼레이터 버전 식별

GitLab 오퍼레이터의 사용 가능한 버전 전체 디렉터리을 확인하려면 릴리스 페이지를 참조하세요.

예를 들어, 현재 오퍼레이터 버전이 릴리스 0.4.0인 경우, 릴리스 0.4.1로 업그레이드할 수 있습니다.

단계 3: 원하는 버전 설치

다음 단계는 kubectl을 사용하여 원하는 오퍼레이터 버전의 매니페스트를 적용하는 것입니다.

VERSION=X.Y.Z
kubectl apply -f \
  https://gitlab.com/api/v4/projects/18899486/packages/generic/gitlab-operator/${VERSION}/gitlab-operator-kubernetes-${VERSION}.yaml

이 명령은 새로운 배포 이미지와 같이 해당 매니페스트에 대한 모든 변경 사항을 적용합니다.

단계 4: 새로운 오퍼레이터 버전이 리더가 되는지 확인

오퍼레이터 배포는 이 변경사항과 함께 새로운 ReplicaSet을 생성하여 새로운 오퍼레이터 파드를 생성할 것입니다. 한편, 이전 오퍼레이터 파드는 종료되어 리더 자격을 포기합니다. 이렇게 되면 새로운 오퍼레이터 파드가 리더가 됩니다.

단계 5: GitLab 사용자 정의 리소스(CR)에서 차트 버전 업데이트

대부분의 경우, 오퍼레이터 버전 간에 사용 가능한 차트 버전이 완전히 일치하지는 않을 것입니다. 새로운 오퍼레이터 버전이 시작되면, 기존의 GitLab 사용자 정의 리소스(CR)를 조정하려고 할 것입니다. 아마도 다음과 같은 오류 메시지가 표시될 것입니다:

구성 오류가 감지되었습니다: 차트 버전 5.7.0은 지원되지 않습니다. 다음 중 하나를 사용하십시오: 5.7.1, 5.6.4, 5.5.4

이를 해결하기 위해, 해당 릴리스의 사용 가능한 차트 버전 중 가장 가까운 유효한 버전을 식별하세요.

예를 들어: 오퍼레이터 0.4.0에서 0.4.1로 업그레이드할 때, 이 경우에 가장 가까운 5.7.0 차트 버전에 해당하는 사용 가능한 차트 버전을 GitLab CR을 업데이트합니다. 이 경우에는 5.7.1이 될 것입니다.

단계 6: 오퍼레이터가 기대대로 GitLab을 조정하는지 확인

새로운 오퍼레이터 파드의 로그를 확인하세요. 정의한 차트 버전으로의 업그레이드를 수행하는 것을 볼 수 있어야 합니다.

업그레이드가 성공적으로 수행되었는지 확인하려면 GitLab CR의 상태를 확인하세요:

$ kubectl get gitlabs -n gitlab-system
이름     상태      버전
gitlab   실행 중   5.7.1

상태가 실행 중(Running)인 경우, 오퍼레이터가 인스턴스의 변경사항을 조정하는 데 성공했다는 것을 의미합니다. 버전은 오퍼레이터 업그레이드 후에 지정한 차트 버전과 일치해야 합니다.

만약 오류를 발견하면, 먼저 문제 해결 문서를 참조하세요. 만일 여기서 답을 찾지 못하면, 기존 문제를 확인하거나 새 문제를 문제 트래커에 오픈하세요.

관련 독해 자료

다음은 GitLab 업그레이드와 관련된 자료들입니다.