正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

GitLab Helmサブチャート

GitLab Helm Chartは複数のサブチャートで構成されており、これらがコアのGitLabコンポーネントを提供します:

各サブチャートのパラメータは、gitlabキーの下にある必要があります。たとえば、GitLab Shellのパラメータは次のようになります:

gitlab:
  gitlab-shell:
    ...

これらのチャートは、オプションの依存関係に使用します:

これらのチャートは、オプションの追加として使用します:

GitLab Helmサブチャートのオプションのパラメータ

アフィニティ

affinityは、すべてのGitLab Helmサブチャートのオプションのパラメータです。設定すると、グローバルaffinityの値よりも優先されます。affinityの詳細については、関連するKubernetesドキュメントを参照してください。

webserviceおよびsidekiq Helmチャートは、グローバルaffinityの値のみを使用できます。ローカルaffinitywebserviceおよびsidekiqに実装される時期については、イシュー25403に従ってください。

affinityを使用すると、次のいずれかまたは両方を設定できます:

  • 次のpodAntiAffinityルール:
    • topology keyに対応する式に一致するポッドと同じドメインにポッドをスケジュール設定しません。
    • 2つのモードのpodAntiAffinityルールを設定します。必須(requiredDuringSchedulingIgnoredDuringExecution)と推奨(preferredDuringSchedulingIgnoredDuringExecution)。antiAffinity変数をvalues.yamlで使用して、設定をsoftに設定して推奨モードを適用するか、hardに設定して必須モードを適用します。
  • 次のnodeAffinityルール:
    • 特定のゾーンに属するノードにポッドをスケジュール設定します。
    • 2つのモードのnodeAffinityルールを設定します。必須(requiredDuringSchedulingIgnoredDuringExecution)と推奨(preferredDuringSchedulingIgnoredDuringExecution)。softに設定すると、推奨モードが適用されます。hardに設定すると、必須モードが適用されます。このルールは、registryチャートと、webserviceおよびsidekiqを除くすべてのサブチャートとともにgitlabチャートにのみ実装されます。

nodeAffinityは、In演算子のみを実装します。

次の例では、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"