패키지 레지스트리의 Helm 차트
- GitLab 14.1에서 소개되었습니다.
GitLab의 Helm 차트 레지스트리는 기능이 제한적이어서 프로덕션 환경에 사용하기에 준비되지 않았으며 개발 중입니다. 이 epic에서 나머지 작업 및 프로덕션 사용 준비에 대한 타임라인에 대해 자세히 설명하고 있습니다.
프로젝트의 패키지 레지스트리에 Helm 패키지를 게시하고, 필요할 때마다 해당 패키지를 설치하세요.
Helm 패키지 관리자 클라이언트가 사용하는 특정 API 엔드포인트에 대한 설명은 Helm API 문서를 참조하세요.
Helm 패키지 빌드
다음 주제에 대한 Helm 문서에서 자세히 알아보세요:
Helm 리포지터리 인증
Helm 리포지터리에 인증하려면 다음 중 하나가 필요합니다:
-
api
로 스코프가 설정된 개인 액세스 토큰. -
read_package_registry
,write_package_registry
또는 둘 다로 스코프가 설정된 배포 토큰. - CI/CD 작업 토큰.
더 알아보기: 본 문서에서 직접 연결
패키지 게시
차트 또는 버전의 중복이 있는 Helm 차트를 게시할 수 있습니다. 중복이 있는 경우 GitLab은 항상 최신 버전의 차트를 반환합니다.
mychart-0.1.0.tgz
를 원하는 채널로 업로드하려면 다음을 사용하세요:
-
curl
:
curl --request POST \
--form 'chart=@mychart-0.1.0.tgz' \
--user <username>:<access_token> \
https://gitlab.example.com/api/v4/projects/<project_id>/packages/helm/api/<channel>/charts
- 또는
helm cm-push
플러그인:
helm repo add --username <username> --password <access_token> project-1 https://gitlab.example.com/api/v4/projects/<project_id>/packages/helm/<channel>
helm cm-push mychart-0.1.0.tgz project-1
더 알아보기: 본 문서에서 직접 연결
릴리스 채널
GitLab에서 Helm 차트를 채널에 게시할 수 있습니다. 채널은 Helm 차트 리포지터리를 구분하는 데 사용할 수 있는 방법입니다.
더 알아보기: 본 문서에서 직접 연결
CI/CD를 사용하여 Helm 패키지 게시
GitLab CI/CD를 통해 자동으로 Helm 패키지를 게시하려면 명령어에서 CI_JOB_TOKEN
을 사용할 수 있습니다.
# 명령어 예시
더 알아보기: 본 문서에서 직접 연결
패키지 설치
최신 버전의 차트를 설치하려면 다음 명령을 사용하세요:
helm repo add --username <username> --password <access_token> project-1 https://gitlab.example.com/api/v4/projects/<project_id>/packages/helm/<channel>
helm install my-release project-1/mychart
더 알아보기: 본 문서에서 직접 연결
문제 해결
패키지 레지스트리에 업로드한 차트가 표시되지 않음
sidekiq log
를 확인하여 관련 오류를 찾으세요. Validation failed: Version is invalid
라는 오류가 표시되면 Chart.yaml
파일에 있는 버전이 Helm Chart 버전 지정 사항에 따르지 않았다는 것을 의미합니다. 오류를 해결하려면 올바른 버전 구문을 사용하고 차트를 다시 업로드하세요.
더 알아보기: 본 문서에서 직접 연결
helm push
로 인해 오류 발생
Helm 3.7
에서 helm-push
플러그인에 대한 중단 변경 사항이 도입되었습니다. Chart Museum 플러그인을 업데이트하여 helm cm-push
를 사용하도록 업데이트하세요.