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"