차트 의존성

차트 의존성 (Dependencies)

이 문서는 Chart.yaml에 선언된 dependencies에 대한 모범 사례를 다뤄요. 차트 의존성의 버전 지정, 조건, 태그를 올바르게 설정하는 방법을 설명해요.

출처: 문서

본문

⚠️ 이 페이지는 아직 Helm 4용으로 업데이트되지 않았어요. 일부 내용이 부정확하거나 Helm 4에 적용되지 않을 수 있어요. Helm 4의 새 기능, 개선 사항, 호환성 깨짐 변경에 대한 자세한 내용은 Helm 4 개요를 참조하세요.

이 가이드의 이 섹션에서는 Chart.yaml에 선언된 dependencies에 대한 모범 사례를 다뤄요.

버전 (Versions)

가능하다면 정확한 버전 하나로 고정하지 말고 버전 범위를 사용하세요. 추천되는 기본값은 패치 수준(patch-level)의 버전 일치를 사용하는 거예요:

version: ~1.2.3

이것은 버전 1.2.3과 해당 릴리스의 모든 패치를 일치시켜요. 즉, ~1.2.3>= 1.2.3, < 1.3.0과 동일해요.

완전한 버전 일치 구문을 보려면 semver 문서를 참조하세요.

프리릴리즈 버전 (Prerelease versions)

위의 버전 제약 조건은 프리릴리즈 버전과는 일치하지 않아요. 예를 들어 version: ~1.2.3version: ~1.2.4와는 일치하지만 version: ~1.2.3-1과는 일치하지 않아요. 다음은 프리릴리즈와 패치 수준 일치를 모두 제공해요:

version: ~1.2.3-0

저장소 URL (Repository URLs)

가능하다면 저장소 URL은 https://를 사용하고, 그다음 http:// URL을 사용하세요.

저장소가 저장소 인덱스 파일에 추가되어 있다면 저장소 이름을 URL의 별칭으로 사용할 수 있어요. alias: 또는 저장소 이름 앞에 붙는 @를 사용하세요.

file://... 같은 파일 URL은 고정된 배포 파이프라인으로 조합되는 차트의 "특수한 경우"로 간주돼요.

다운로더 플러그인을 사용할 때 URL 스킴은 플러그인에 따라 다를 수 있어요. 차트 사용자는 의존성을 업데이트하거나 빌드하려면 해당 스킴을 지원하는 플러그인이 설치되어 있어야 해요.

repository 필드를 비워 두면 Helm은 그 의존성에 대해 의존성 관리 작업을 수행할 수 없어요. 그 경우 Helm은 의존성이 charts 폴더의 하위 디렉터리에 있으며 이름이 그 의존성의 name 속성과 같은 것으로 가정해요.

조건과 태그 (Conditions and Tags)

선택 사항인 모든 의존성에는 조건(condition)이나 태그(tag)를 추가해야 해요. 기본적으로 conditiontrue라는 점에 유의하세요.

조건의 권장 형태는 다음과 같아요:

condition: somechart.enabled

여기서 somechart는 의존성의 차트 이름이에요.

여러 서브차트(의존성)가 함께 선택적이거나 교체 가능한 기능을 제공할 때, 그 차트들은 같은 태그를 공유해야 해요.

예를 들어 nginxmemcached가 함께 차트 안 메인 앱의 성능 최적화를 제공하고, 그 기능이 활성화될 때 둘 다 반드시 존재해야 한다면, 두 차트 모두 다음과 같은 tags 섹션을 가져야 해요:

tags:
  - webaccelerator

이렇게 하면 사용자가 하나의 태그로 그 기능을 켜고 끌 수 있어요.

더 알아보기 (Learn more)