일반 규칙

일반 규칙 (General Conventions)

이 문서는 모범 사례 가이드에서 차트에 적용되는 일반 규칙을 설명해요. 차트 이름, 버전 표기, YAML 포맷, Helm과 Chart 용어 사용법, 네임스페이스 처리 방법을 다뤄요.

출처: 문서

본문

이 모범 사례 가이드의 이 부분은 일반 규칙을 설명해요.

차트 이름 (Chart Names)

차트 이름은 DNS-1123 라벨 규칙을 따라야 해요. 즉, 소문자와 숫자, 대시만 허용되고, 이름은 소문자나 숫자로 시작하고 끝나야 하며, 63자를 넘을 수 없어요:

예시:

drupal
nginx-lego
aws-cluster-autoscaler

잘못된 차트 이름에는 다음이 포함돼요:

  • 대문자가 포함된 이름 (예: MyChart)

  • 밑줄이 포함된 이름 (예: my_chart)

  • 점이 포함된 이름 (예: my.chart)

  • 대시로 시작하는 이름 (예: -mychart)

  • 대시로 끝나는 이름 (예: mychart-)

  • 63자를 초과하는 이름

helm lint 명령은 이러한 규칙에 대해 차트 이름을 검증해요.

버전 번호 (Version Numbers)

가능하면 Helm은 버전 번호를 나타내는 데 SemVer 2를 사용해요. (Docker 이미지 태그는 반드시 SemVer를 따르는 것은 아니므로, 규칙에 대한 아쉬운 예외로 간주된다는 점에 유의하세요.)

SemVer 버전을 Kubernetes 라벨에 저장할 때는 라벨 값에 + 부호를 허용하지 않기 때문에 관례적으로 + 문자를 _ 문자로 변경해요.

YAML 포맷 (Formatting YAML)

YAML 파일은 두 칸 공백으로 들여쓰기해야 해요 (탭은 절대 안 됨).

Helm과 Chart라는 단어의 사용 (Usage of the Words Helm and Chart)

Helmhelm이라는 단어를 사용하는 데 몇 가지 규칙이 있어요.

  • Helm은 프로젝트 전체를 가리켜요

  • helm은 클라이언트 측 명령을 가리켜요

  • chart라는 용어는 고유명사가 아니므로 대문자로 쓸 필요가 없어요

  • 하지만 Chart.yaml은 파일 이름이 대소문자를 구분하므로 대문자로 써야 해요

의심스러울 때는 Helm (대문자 'H')을 사용하세요.

차트 템플릿과 네임스페이스 (Chart templates and namespaces)

차트 템플릿의 metadata 섹션에 namespace 속성을 정의하지 마세요. 렌더링된 템플릿을 적용할 네임스페이스는 --namespace 같은 플래그를 통해 Kubernetes 클라이언트 호출에 지정해야 해요. Helm은 템플릿을 그대로 렌더링해서 Helm 자신이든 다른 프로그램(kubectl, flux, spinnaker 등)이든 Kubernetes 클라이언트로 보내요.

더 알아보기 (Learn more)