GitLab Helm 하위 차트
GitLab Helm 차트는 여러 하위 차트로 구성되어 있으며, 이는 핵심 GitLab 구성 요소를 제공합니다:
- Gitaly
- GitLab Exporter
- GitLab Pages
- GitLab Runner
- GitLab Shell
- GitLab 에이전트 서버 (KAS)
- Mailroom
- 마이그레이션
- Praefect
- Sidekiq
- 스팸체크
- Toolbox
- Webservice
각 하위 차트의 매개변수는 gitlab 키 아래에 있어야 합니다. 예를 들어, GitLab Shell 매개변수는 다음과 유사해야 합니다:
gitlab:
gitlab-shell:
...
이러한 차트는 선택적 종속 항목으로 사용할 수 있습니다:
이러한 차트는 선택적인 추가로 사용할 수 있습니다:
- Prometheus
- 쿠버네티스 실행기를 사용하는 Unprivileged GitLab Runner
- Let’s Encrypt에서 자동으로 프로비저닝된 SSL(cert-manager의 certmanager-issuer 사용)
GitLab Helm 하위 차트 선택적 매개변수
affinity
- GitLab 17.3 (Charts 8.3)에서 도입됨.
webservice및sidekiq를 제외한 모든 GitLab Helm 하위 차트에 대한 것입니다.
affinity는 모든 GitLab Helm 하위 차트에서 선택적인 매개변수입니다. 설정하면 전역 affinity 값보다 우선시됩니다.
affinity에 대한 자세한 정보는 관련 Kubernetes 문서를 참조하세요.
참고:
webservice 및 sidekiq Helm 차트는 전역 affinity 값만 사용할 수 있습니다. webservice 및 sidekiq에 대한 지역 affinity가 구현되는 시기를 알아보려면 이슈 25403를 따르세요.
affinity를 사용하면 다음 중 하나 또는 양쪽을 설정할 수 있습니다:
-
podAntiAffinity규칙:- 토폴로지 키에 해당하는 표현과 일치하는 팟과 동일한 도메인에 팟을 예약하지 않음.
-
podAntiAffinity규칙의 두 가지 모드 설정: required (requiredDuringSchedulingIgnoredDuringExecution) 및 preferred (preferredDuringSchedulingIgnoredDuringExecution).values.yaml에서soft로 설정하여 preferred 모드를 적용하거나hard로 설정하여 required 모드를 적용합니다.
-
nodeAffinity규칙:- 특정 영역 또는 영역에 속하는 노드에 팟을 예약함.
-
nodeAffinity규칙의 두 가지 모드 설정: required (requiredDuringSchedulingIgnoredDuringExecution) 및 preferred (preferredDuringSchedulingIgnoredDuringExecution).soft로 설정하면 preferred 모드가 적용됩니다.hard로 설정하면 required 모드가 적용됩니다. 이 규칙은registry차트와webservice및sidekiq를 제외한 모든 하위 GitLab 차트에만 적용됩니다.
nodeAffinity는 In 연산자만을 구현합니다.
다음 예제는 affinity를 nodeAffinity와 antiAffinity 모두 hard로 설정하는 방법을 보여줍니다:
nodeAffinity: "hard"
antiAffinity: "hard"
affinity:
nodeAffinity:
key: "test.com/zone"
values:
- us-east1-a
- us-east1-b
podAntiAffinity:
topologyKey: "test.com/hostname"
도움말