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 문서를 참조하세요.

참고: webservicesidekiq Helm 차트는 전역 affinity 값만 사용할 수 있습니다. webservicesidekiq에 대한 지역 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 차트와 webservicesidekiq를 제외한 모든 하위 GitLab 차트에만 적용됩니다.

nodeAffinityIn 연산자만을 구현합니다.

다음 예제는 affinitynodeAffinityantiAffinity 모두 hard로 설정하는 방법을 보여줍니다:

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