InfoGrab Docs

패키지 레지스트리의 Helm 차트

요약

프로젝트의 패키지 레지스트리에 Helm 패키지를 게시합니다. Helm 패키지 관리자 클라이언트가 사용하는 특정 API 엔드포인트 문서는 Helm API 문서를 참조하세요. 다음 주제에 대한 Helm 문서에서 자세히 알아보세요:

프로젝트의 패키지 레지스트리에 Helm 패키지를 게시합니다. 그런 다음 의존성으로 사용해야 할 때마다 패키지를 설치합니다.

Helm 패키지 관리자 클라이언트가 사용하는 특정 API 엔드포인트 문서는 Helm API 문서를 참조하세요.

Helm 패키지 빌드#

다음 주제에 대한 Helm 문서에서 자세히 알아보세요:

Helm 리포지터리 인증#

Helm 리포지터리에 인증하려면 다음 중 하나가 필요합니다:

패키지 게시#

Note

중복된 이름이나 버전의 Helm 차트를 게시할 수 있습니다. 중복이 존재하는 경우 GitLab은 항상 최신 버전의 차트를 반환합니다.

빌드된 차트는 curl 또는 helm cm-push를 사용하여 원하는 채널에 업로드할 수 있습니다:

  • curl을 사용하는 경우:

    curl --fail-with-body --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
    
    • <username>: GitLab 사용자 이름 또는 배포 토큰 사용자 이름.
    • <access_token>: 개인 액세스 토큰 또는 배포 토큰.
    • <project_id>: 프로젝트 ID(42와 같이) 또는 프로젝트의 URL 인코딩된 경로(group%2Fproject와 같이).
    • <channel>: 채널 이름(stable과 같이).
  • 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
    
    • <username>: GitLab 사용자 이름 또는 배포 토큰 사용자 이름.
    • <access_token>: 개인 액세스 토큰 또는 배포 토큰.
    • <project_id>: 프로젝트 ID(42와 같이).
    • <channel>: 채널 이름(stable과 같이).

릴리스 채널#

GitLab의 채널에 Helm 차트를 게시할 수 있습니다. 채널은 Helm 차트 리포지터리를 구분하는 방법입니다. 예를 들어 stabledevel을 채널로 사용하여 사용자가 stable 리포지터리를 추가하는 동안 devel 차트를 격리할 수 있습니다.

CI/CD를 사용하여 Helm 패키지 게시#

GitLab CI/CD를 통해 자동으로 Helm 패키지를 게시하려면 명령어에서 개인 액세스 토큰 대신 CI_JOB_TOKEN을 사용할 수 있습니다.

예를 들어:

stages:
  - upload

upload:
  image: curlimages/curl:latest
  stage: upload
  script:
    - 'curl --fail-with-body --request POST --user gitlab-ci-token:$CI_JOB_TOKEN --form "chart=@mychart-0.1.0.tgz" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/api/<channel>/charts"'
  • <username>: GitLab 사용자 이름 또는 배포 토큰 사용자 이름.
  • <access_token>: 개인 액세스 토큰 또는 배포 토큰.
  • <channel>: 채널 이름(stable과 같이).

패키지 설치#

Note

각 패키지에 대해 가장 최근의 패키지 파일만 반환됩니다.

최신 버전의 차트를 설치하려면 다음 명령어를 사용하세요:

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
  • <username>: GitLab 사용자 이름 또는 배포 토큰 사용자 이름.
  • <access_token>: 개인 액세스 토큰 또는 배포 토큰.
  • <project_id>: 프로젝트 ID(42와 같이).
  • <channel>: 채널 이름(stable과 같이).

리포지터리가 이전에 추가된 경우 다음을 실행해야 할 수 있습니다:

helm repo update

Helm 클라이언트를 가장 현재 사용 가능한 차트로 업데이트하려면.

자세한 내용은 Helm 사용하기를 참조하세요.

Helm 패키지 삭제#

사전 요구 사항:

  • Maintainer 또는 Owner 권한이 있어야 합니다.

패키지를 삭제하기 전에 관련 보안 위험을 이해하고 있는지 확인하세요.

패키지를 삭제하려면 다음 중 하나를 사용할 수 있습니다:

트러블슈팅#

업로드 후 패키지 레지스트리에 차트가 표시되지 않음#

관련 오류가 있는지 Sidekiq 로그를 확인하세요. Validation failed: Version is invalid가 표시되면 Chart.yaml 파일의 버전이 Helm Chart 버전 관리 사양을 따르지 않는 것을 의미합니다. 오류를 수정하려면 올바른 버전 구문을 사용하고 차트를 다시 업로드하세요.

helm push 오류 발생#

Helm 3.7에서 helm-push 플러그인의 호환성을 깨는 변경이 도입되었습니다. helm cm-push를 사용하도록 Chart Museum 플러그인을 업데이트할 수 있습니다.

패키지 레지스트리의 Helm 차트

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

프로젝트의 패키지 레지스트리에 Helm 패키지를 게시합니다. Helm 패키지 관리자 클라이언트가 사용하는 특정 API 엔드포인트 문서는 Helm API 문서를 참조하세요. 다음 주제에 대한 Helm 문서에서 자세히 알아보세요:

프로젝트의 패키지 레지스트리에 Helm 패키지를 게시합니다. 그런 다음 의존성으로 사용해야 할 때마다 패키지를 설치합니다.

Helm 패키지 관리자 클라이언트가 사용하는 특정 API 엔드포인트 문서는 Helm API 문서를 참조하세요.

Helm 패키지 빌드#

다음 주제에 대한 Helm 문서에서 자세히 알아보세요:

Helm 리포지터리 인증#

Helm 리포지터리에 인증하려면 다음 중 하나가 필요합니다:

패키지 게시#

Note

중복된 이름이나 버전의 Helm 차트를 게시할 수 있습니다. 중복이 존재하는 경우 GitLab은 항상 최신 버전의 차트를 반환합니다.

빌드된 차트는 curl 또는 helm cm-push를 사용하여 원하는 채널에 업로드할 수 있습니다:

  • curl을 사용하는 경우:

    curl --fail-with-body --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
    
    • <username>: GitLab 사용자 이름 또는 배포 토큰 사용자 이름.
    • <access_token>: 개인 액세스 토큰 또는 배포 토큰.
    • <project_id>: 프로젝트 ID(42와 같이) 또는 프로젝트의 URL 인코딩된 경로(group%2Fproject와 같이).
    • <channel>: 채널 이름(stable과 같이).
  • 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
    
    • <username>: GitLab 사용자 이름 또는 배포 토큰 사용자 이름.
    • <access_token>: 개인 액세스 토큰 또는 배포 토큰.
    • <project_id>: 프로젝트 ID(42와 같이).
    • <channel>: 채널 이름(stable과 같이).

릴리스 채널#

GitLab의 채널에 Helm 차트를 게시할 수 있습니다. 채널은 Helm 차트 리포지터리를 구분하는 방법입니다. 예를 들어 stabledevel을 채널로 사용하여 사용자가 stable 리포지터리를 추가하는 동안 devel 차트를 격리할 수 있습니다.

CI/CD를 사용하여 Helm 패키지 게시#

GitLab CI/CD를 통해 자동으로 Helm 패키지를 게시하려면 명령어에서 개인 액세스 토큰 대신 CI_JOB_TOKEN을 사용할 수 있습니다.

예를 들어:

stages:
  - upload

upload:
  image: curlimages/curl:latest
  stage: upload
  script:
    - 'curl --fail-with-body --request POST --user gitlab-ci-token:$CI_JOB_TOKEN --form "chart=@mychart-0.1.0.tgz" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/api/<channel>/charts"'
  • <username>: GitLab 사용자 이름 또는 배포 토큰 사용자 이름.
  • <access_token>: 개인 액세스 토큰 또는 배포 토큰.
  • <channel>: 채널 이름(stable과 같이).

패키지 설치#

Note

각 패키지에 대해 가장 최근의 패키지 파일만 반환됩니다.

최신 버전의 차트를 설치하려면 다음 명령어를 사용하세요:

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
  • <username>: GitLab 사용자 이름 또는 배포 토큰 사용자 이름.
  • <access_token>: 개인 액세스 토큰 또는 배포 토큰.
  • <project_id>: 프로젝트 ID(42와 같이).
  • <channel>: 채널 이름(stable과 같이).

리포지터리가 이전에 추가된 경우 다음을 실행해야 할 수 있습니다:

helm repo update

Helm 클라이언트를 가장 현재 사용 가능한 차트로 업데이트하려면.

자세한 내용은 Helm 사용하기를 참조하세요.

Helm 패키지 삭제#

사전 요구 사항:

  • Maintainer 또는 Owner 권한이 있어야 합니다.

패키지를 삭제하기 전에 관련 보안 위험을 이해하고 있는지 확인하세요.

패키지를 삭제하려면 다음 중 하나를 사용할 수 있습니다:

트러블슈팅#

업로드 후 패키지 레지스트리에 차트가 표시되지 않음#

관련 오류가 있는지 Sidekiq 로그를 확인하세요. Validation failed: Version is invalid가 표시되면 Chart.yaml 파일의 버전이 Helm Chart 버전 관리 사양을 따르지 않는 것을 의미합니다. 오류를 수정하려면 올바른 버전 구문을 사용하고 차트를 다시 업로드하세요.

helm push 오류 발생#

Helm 3.7에서 helm-push 플러그인의 호환성을 깨는 변경이 도입되었습니다. helm cm-push를 사용하도록 Chart Museum 플러그인을 업데이트할 수 있습니다.