GitLab Helm 서브차트
GitLab Helm 차트는 여러 개의 서브차트로 구성되어 있으며,
핵심 GitLab 구성 요소를 제공합니다:
- Gitaly
- GitLab Exporter
- GitLab Pages
- GitLab Runner
- GitLab Shell
- GitLab 에이전트 서버 (KAS)
- Mailroom
- Migrations
- Praefect
- Sidekiq
- Spamcheck
- Toolbox
- Webservice
각 서브차트의 매개변수는 gitlab 키 아래에 있어야 합니다. 예를 들어,
GitLab Shell 매개변수는 다음과 유사합니다:
gitlab:
gitlab-shell:
...
선택적 종속성으로 다음 차트를 사용하세요:
선택적 추가 기능으로 다음 차트를 사용하세요:
- Prometheus
- Unprivileged GitLab Runner로 Kubernetes executor 사용
-
Let’s Encrypt에서 자동으로 프로비저닝된 SSL,
Jetstack‘의 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가 구현되는 시점에 대한 정보는 issue 25403를 참조하세요.affinity를 사용하면 다음 중 하나 또는 둘 다를 설정할 수 있습니다:
-
podAntiAffinity규칙:- 특정
topology key에 해당하는 표현식과 일치하는 포드와 동일한 도메인에 포드를 예약하지 않음. -
podAntiAffinity규칙의 두 가지 모드 설정: 필수(requiredDuringSchedulingIgnoredDuringExecution) 및 선호(preferredDuringSchedulingIgnoredDuringExecution).
values.yaml에서antiAffinity변수를 사용하여 선호 모드가 적용되도록 설정하려면soft로 설정하거나
필수 모드가 적용되도록hard로 설정합니다.
- 특정
-
nodeAffinity규칙:- 특정 지역이나 지역에 속하는 노드에 포드를 예약합니다.
-
nodeAffinity규칙의 두 가지 모드 설정: 필수(requiredDuringSchedulingIgnoredDuringExecution) 및 선호(preferredDuringSchedulingIgnoredDuringExecution).
soft로 설정하면 선호 모드가 적용됩니다.hard로 설정하면 필수 모드가 적용됩니다.
이 규칙은registry차트와gitlab차트 및 모든 서브차트(webservice와sidekiq제외)에만 구현됩니다.
nodeAffinity는 In operator만 구현합니다.
다음 예제는 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"
도움말