GitLab Helm 서브차트

GitLab Helm 차트는 여러 개의 서브차트로 구성되어 있으며,
핵심 GitLab 구성 요소를 제공합니다:

각 서브차트의 매개변수는 gitlab 키 아래에 있어야 합니다. 예를 들어,
GitLab Shell 매개변수는 다음과 유사합니다:

gitlab:
  gitlab-shell:
    ...

선택적 종속성으로 다음 차트를 사용하세요:

선택적 추가 기능으로 다음 차트를 사용하세요:

GitLab Helm 서브차트 선택적 매개변수

affinity

  • GitLab 17.3 (Charts 8.3)에서 webservicesidekiq를 제외한 모든 GitLab Helm 서브차트에 도입되었습니다.

affinity는 모든 GitLab Helm 서브차트의 선택적 매개변수입니다. 설정하면 전역 affinity 값보다 우선합니다.
affinity에 대한 자세한 내용은 관련 Kubernetes 문서를 참조하세요.

note
webservicesidekiq Helm 차트는 전역 affinity 값만 사용할 수 있습니다.
webservicesidekiq의 로컬 affinity가 구현되는 시점에 대한 정보는 issue 25403를 참조하세요.

affinity를 사용하면 다음 중 하나 또는 둘 다를 설정할 수 있습니다:

  • podAntiAffinity 규칙:
    • 특정 topology key에 해당하는 표현식과 일치하는 포드와 동일한 도메인에 포드를 예약하지 않음.
    • podAntiAffinity 규칙의 두 가지 모드 설정: 필수(requiredDuringSchedulingIgnoredDuringExecution) 및 선호(preferredDuringSchedulingIgnoredDuringExecution).
      values.yaml에서 antiAffinity 변수를 사용하여 선호 모드가 적용되도록 설정하려면 soft로 설정하거나
      필수 모드가 적용되도록 hard로 설정합니다.
  • nodeAffinity 규칙:
    • 특정 지역이나 지역에 속하는 노드에 포드를 예약합니다.
    • nodeAffinity 규칙의 두 가지 모드 설정: 필수(requiredDuringSchedulingIgnoredDuringExecution) 및 선호(preferredDuringSchedulingIgnoredDuringExecution).
      soft로 설정하면 선호 모드가 적용됩니다. hard로 설정하면 필수 모드가 적용됩니다.
      이 규칙은 registry 차트와 gitlab 차트 및 모든 서브차트(webservicesidekiq 제외)에만 구현됩니다.

nodeAffinityIn operator만 구현합니다.

다음 예제는 affinity를 설정하며, nodeAffinityantiAffinity를 모두 hard로 설정합니다:

nodeAffinity: "hard"
antiAffinity: "hard"
affinity:
  nodeAffinity:
    key: "test.com/zone"
    values:
    - us-east1-a
    - us-east1-b
  podAntiAffinity:
    topologyKey: "test.com/hostname"