GitLab Helm 차트 3.0

우리는 차트 의존성에 몇 가지 주요 변경 사항을 수용하기 위해 차트 버전을 3.0으로 올렸습니다. 이 변경 중 일부는 업그레이드를 완료하기 위해 수동 조치가 필요합니다.

주요 변경 사항 요약

문제가 있는 Helm 2.15

Helm v2.15.x에는 심각한 버그가 있으며 절대로 사용해서는 안 됩니다.

Helm 2를 사용해야 한다면 2.14.3이나 >= 2.16.1을 사용하세요.

2.x에서의 업그레이드 경로

차트의 3.0 버전으로 업그레이드하려면 먼저 차트의 최신 2.6.x 릴리스로 업그레이드해야 합니다. 최신 패치에 대한 버전 매핑 세부 정보를 확인하세요.

만약 최신 2.6.x 패치로 먼저 업그레이드하지 않으면 helm upgrade에서 다음과 같은 오류가 발생합니다.

Error: UPGRADE FAILED: Job failed: BackoffLimitExceeded

이 상황에 있는지 확인하려면 이름에 gitlab-upgrade-check 텍스트가 포함된 에러 포드를 찾아보세요.

만일 이러한 상황인 경우 로그를 확인하면 버전 업그레이드 오류 메시지가 표시됩니다.

GitLab Helm 차트를 X (GitLab X)에서 3.0.0 (GitLab 12.7.0)로 업그레이드하는 것으로 보입니다. 
다음 주 버전 시리즈에서 마지막 마이너 버전으로 먼저 업그레이드하는 것이 필요합니다. 
다음 주 버전으로 뛰기 전에 GitLab Helm 차트 버전 2.6.0으로 업그레이드하도록 필요합니다. 
업그레이드 문서를 따르시고 3.0.0으로 업그레이드하기 전에 GitLab Helm 차트 버전 2.6.0으로 업그레이드하세요. 
문서는 https://docs.gitlab.com/charts/releases/3_0.html에서 확인할 수 있으며 GitLab Helm 차트 버전 2.6.0으로 업그레이드하세요.

2.6.x에서의 업그레이드

3.0 차트로 업그레이드하려면 일부 구성 요소를 업데이트하기 위해 수동 업그레이드 단계가 필요합니다. 3.0 릴리즈에 대한 업그레이드 단계를 따라주십시오.

주요 변경 사항

PostgreSQL

이 차트의 3.0.0 릴리스에 포함되어 있는 것으로, 번들 PostgreSQL 차트를 0.11.0에서 7.7.3으로 업그레이드했습니다. 이로써 데이터베이스 버전이 9.6에서 10.9로 업데이트되었습니다. 이것은 단순히 대체가 불가능합니다. 데이터베이스를 업그레이드하기 위해 수동 단계를 수행해야 합니다.

3.0 업그레이드 단계에는 업그레이드 중에 필요한 수동 단계에 대한 정보가 포함되어 있습니다.

더 많은 세부 정보는 PostgreSQL 업그레이드 이슈에서 찾을 수 있습니다.

참고: 외부 PostgreSQL 차트를 사용 중이라면 이 릴리스를 위해 데이터베이스를 변경할 필요가 없습니다. 9.6은 여전히 지원되지만 PostgreSQL을 10으로 업그레이드하는 것을 권장합니다.

NGINX Ingress

우리는 이슈 #1710를 해결했으며, 해당 변경 사항은 미래 업그레이드를 수정하지만 3.0 이전 버전의 차트에서 업그레이드하는 경우 수동 개입이 필요합니다.

3.0 업그레이드 단계에는 업그레이드 중에 필요한 수동 단계에 대한 정보가 포함되어 있습니다.

이에 대한 자세한 정보는 문제 해결 문서인 Immutable Field Error, spec.clusterIP를 참고하세요.

Redis

우리의 Redis 업그레이드의 일환으로 우리는 Redis 및 Redis HA 차트를 포기하고 대신 업스트림 Redis 차트의 최신 버전을 사용하도록 전환했습니다.

이것은 향상된 성능을 가진 Redis 5.x를 사용하도록 업그레이드됩니다.

  • 이전 번들 Redis 차트 사용자는 새로운 Redis 버전으로 업그레이드하기 위해 추가로 필요한 변경 사항이 없습니다.
  • 이전 Redis HA 차트 사용자는 Redis를 HA 구성으로 전환하기 위해 추가 플래그를 활성화해야 합니다.
  • 외부 Redis 데이터베이스 사용자는 번들 데이터베이스 비활성화 구문이 redis.enabled=false로 변경되었습니다. (이전에는 redis.install=false였음)

참고: 번들 Redis는 이전 설치와는 다른 새로운 Persistent Volume을 사용할 것입니다. 이는 업그레이드 중에 다운타임이 발생하며, 모든 사용자 세션이 로그아웃될 것입니다.

프로메테우스

프로메테우스 차트가 10.0.0로 업데이트되었습니다. 이로써 차트의 최신 변경 사항이 포함되었는데, 이는 Kubernetes 1.16에 설치를 방해하던 사용되지 않는 API를 제거하는 것입니다.

이 컴포넌트는 수동 업그레이드 단계가 필요하지 않지만, 사용자들은 이미 9.0 프로메테우스 차트로 업그레이드되어 있어야 했습니다. 우리는 9.0을 GitLab Helm 차트 2.5.0에 포함시켰기 때문에, 이 3.0 릴리스에 새 버전을 배치했는데, 이는 업그레이드하는 사용자들이 GitLab Helm 차트 2.6.0 릴리스 이상이어야 한다는 것을 의미합니다.

더 많은 세부 정보는 프로메테우스 업그레이드 이슈에서 확인하세요.

Sidekiq 셀렉터

이전에, Sidekiq 차트는 배포에 고유한 셀렉터를 할당하지 않았습니다. 이는 배포가 자신의 Sidekiq 팟을 제대로 식별하고 필요한 정리를 할 수 없게 했습니다.

이러한 선별자들은 배포 사양의 변경할 수 없는 필드이기 때문에, 업데이트를 하려면 Sidekiq 배포를 삭제한 후 다시 만들어야 합니다. 3.0.0 릴리스의 일환으로, Helm이 Sidekiq Deployments, HPAs, 및 Pods의 이름 뒤에 -v1을 추가함으로써 이를 자동으로 수행합니다.

자세한 내용은 Immutable Field Error, spec.selector에 대한 문제 해결 문서에서 찾을 수 있습니다.

1.x에서의 업그레이드 경로

3.0으로 업그레이드하기 전에 차트의 2.6.x 릴리스로 먼저 업그레이드해야 합니다. 2.0 업그레이드 문서를 따라 주세요.

알려진 문제 및 제한 사항

아래는 알려진 문제 및 제한 사항 목록입니다. 모두를 열거한 것은 아닐 수 있습니다.

Helm 차트 문제/제한 사항:

현재 범위를 벗어나 있는 기능:

릴리스 주기

우리는 각 새로운 GitLab 패치와 함께 차트의 새 버전을 릴리스할 것입니다.

차트 버전을 어떻게 관리하고 있는지에 대한 더 자세한 정보는 릴리스 문서에서 확인할 수 있습니다.

이 저장소의 이슈 및 머지 리퀘스트와 함께 changelog를 통해 업데이트를 더 쉽게 따라갈 수 있습니다.

Kubernetes 배포 지원

GitLab은 다음에서 테스트되었습니다:

다른 Kubernetes 배포도 작동해야 합니다. 특정 비-GKE 배포 문제 발생 시, 이슈를 제기해 주세요.

우리는 현재 자동화된 테스트에서 Kubernetes 버전 1.12.10을 사용하고 있으며, 개발에서는 1.13.11을 사용하고 있습니다.

기술 지원

이슈를 열기 전에 반드시 알려진 문제 및 제한 사항을 검토하시고, 유사한 이슈가 이미 존재하는지 검색해 주세요.

우리는 커뮤니티의 넓은 테스트를 매우 감사히 받고 있으며, 보고된 자세한 이슈들을 해결할 수 있도록 보고되는 이슈에 대한 상세 정보 제출을 장려합니다.

우리는 머지 리퀘스트 형태로 기여된 개선 사항을 환영합니다.