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"