GitLab Cloud Native Chart 7.0
GitLab 16.0 릴리스와 함께 차트 버전을 7.0
으로 업그레이드했습니다.
주요 변경 사항 요약
- 권장하는 PostgreSQL 데이터베이스가 14.8으로 업그레이드되었습니다.
- 번들된 certmanager 차트가 1.5.4에서 1.11.1로 업그레이드되었습니다.
6.x에서의 업그레이드 경로
차트의 7.0
버전으로 업그레이드하려면 먼저 차트의 최신 6.11.x
릴리스로 업그레이드해야 합니다. 최신 패치에 대한 버전 맵핑 상세 정보를 확인하세요.
GitLab은 이제 기본적으로 두 개의 데이터베이스 연결을 사용합니다. 업그레이드 전에 PostgreSQL max_connections
가 충분히 높은지 확인할 수 있습니다 (사용 가능한 최대 연결의 50% 이상 사용). 이를 확인하려면 Toolbox 컨테이너를 사용하여 다음 Rake 태스크를 실행하여 확인할 수 있습니다.
gitlab-rake gitlab:db:decomposition:connection_status
태스크에서 max_connections
가 충분히 높다는 것을 나타내면 업그레이드를 진행할 수 있습니다. 그렇지 않거나 단일 연결을 유지하려는 경우, 업그레이드 전에 ci.enabled
키를 false
로 설정할 수 있습니다.
6.11.x에서의 업그레이드
7.0 릴리스에 대한 업그레이드 단계를 따르세요.
주요 변경 사항
PostgreSQL
이 차트의 7.0.0
릴리스의 일환으로 기본 PostgreSQL 버전을 12.7
에서 14.8
로 업그레이드했습니다. 이를 위해 PostgreSQL 차트 버전을 8.9.4
에서 12.5.2
로 업그레이드했습니다.
이는 대체 가능한 것이 아닙니다. 데이터베이스를 업그레이드하려면 수동 단계가 수행되어야 합니다. 이러한 단계는 업그레이드 단계에 문서화되어 있습니다.
참고: PostgreSQL 13은 GitLab 16.0에서 요구되는 최소한의 PostgreSQL 버전입니다. PostgreSQL 12는 GitLab 16.0 이후로 더 이상 지원되지 않습니다.
Bundled certmanager
번들된 certmanager 차트가 1.5.4에서 1.11.1로 업그레이드되었습니다. 클러스터 및 툴링에 따라 이는 업그레이드 전에 수동 상호 작용이 필요할 수 있습니다.
certmanager 1.11을 지원하는 클러스터 버전이 되도록 확인하세요. 릴리즈는 Kubernetes 1.21부터 1.26 및 OpenShift 4.8부터 4.13를 지원합니다. 자세한 내용은 certmanager 지원되는 릴리즈를 참조하세요.
기본 certmanager 구성은 이제 acme.cert-manager.io/http01-edit-in-place
주석을 사용합니다. 결과적으로 certmanager는 새로운 것을 만들지 않고 기존 Ingress를 사용하여 ACME 도전을 완료합니다. 이 변경으로 Ingress 컨트롤러가 ingressClassName
을 설정해야 하는 경우에 호환성이 보장됩니다.
OpenShift 사용자는 certmanager 1.10+를 배포하기 위해 보안 컨텍스트 제약 조건을 수정해야 할 수 있습니다. 자세한 내용은 certmanager 1.10 릴리스 노트를 참조하세요.
GitLab 차트에서 관리되지 않는 certmanager 사용자 정의 리소스를 배포하거나 cert-manager와 관련된 추가 스크립트 또는 툴링을 사용하는 경우, 업그레이드하기 전에 certmanager 1.6에서 1.11로의 잠재적으로 파괴적인 변경 내용을 읽어보세요.
In-Place Ingress 수정 비활성화
가끔 기존 Ingress를 재사용하여 유효성을 검사하는 논리가 적합하지 않을 수 있습니다. 예를 들어 Ingress에 IP 허용 목록 또는 기타 제한이 있는 경우에는 공개 인터넷에서 이용할 수 없습니다.
7.7.0
버전부터 global.issuer.useNewIngressForCerts
값을 true
로 설정하여 ACME 도전 검증을 매번 동적으로 생성된 Ingress로 수행할 수 있습니다 (기본값: false
).
useNewIngressForCerts
를 true
로 설정하려면 Ingress 컨트롤러에서 ingressClassName
필드를 지원해야 합니다. 이 필드는 Kubernetes 1.18부터 사용 가능하지만 모든 컨트롤러에서 지원되지 않습니다. 예를 들어 GKE Ingress를 사용하는 경우 아직 지원되지 않습니다.
기존 클러스터에서 GitLab 차트 7.0-7.6
를 실행 중인 경우 이 필드를 업그레이드 중에 활성화해야 하는 경우에는 업그레이드 지침을 따르세요.
Redis
포함된 bitnami/Redis
서브 차트가 이전에 설치된 11.3.4
에서 버전 16.13.2
로 업데이트되었습니다. 이로써 Redis 버전도 6.0.9
에서 6.2.7
로 업그레이드되었습니다.
번들된 Redis를 사용하는 경우 업그레이드하기 전에 수동 단계가 필요합니다. 번들된 Redis 서브 차트 업그레이드를 참조하세요.