极狐GitLab Helm 子 chart
极狐GitLab Helm chart 由多个子 chart 组成,提供极狐GitLab 的核心组件:
- Gitaly
- 极狐GitLab Exporter
- 极狐GitLab Pages
- 极狐GitLab Runner
- 极狐GitLab Shell
- 极狐GitLab agent server (KAS)
- Mailroom
- Migrations
- Praefect
- Sidekiq
- Spamcheck
- Toolbox
- Webservice
每个子 chart 的参数必须在 gitlab 键下。例如,极狐GitLab Shell 参数类似于:
yamlgitlab: gitlab-shell: ...
使用这些 chart 作为可选依赖项:
使用这些 chart 作为可选附加项:
- Prometheus
- Unprivileged 极狐GitLab Runner 使用 Kubernetes 执行器
- 自动配置的 SSL 来自 Let's Encrypt,它使用 Jetstack 的 cert-manager 与 certmanager-issuer
极狐GitLab Helm 子 chart 可选参数
亲和性
History
- 在极狐GitLab 17.3 (Charts 8.3) 中为除 webservice 和 sidekiq 之外的所有极狐GitLab Helm 子 chart 引入。
affinity 是所有极狐GitLab Helm 子 chart 中的一个可选参数。当您设置它时,它优先于 全局 affinity 值。有关 affinity 的更多信息,请参阅 相关的 Kubernetes 文档。
webservice 和 sidekiq Helm chart 只能使用 全局 affinity 值。
通过 affinity,您可以设置以下任意或全部内容:
- podAntiAffinity 规则:
- 不在与匹配表达式对应的 topology key 相同域中调度 pod。
- 设置两种模式的 podAntiAffinity 规则:必需的 (requiredDuringSchedulingIgnoredDuringExecution) 和首选的 (preferredDuringSchedulingIgnoredDuringExecution)。使用 values.yaml 中的变量 antiAffinity,设置为 soft 以应用首选模式,或设置为 hard 以应用必需模式。
- nodeAffinity 规则:
- 将 pod 调度到属于特定区域或区域的节点。
- 设置两种模式的 nodeAffinity 规则:必需的 (requiredDuringSchedulingIgnoredDuringExecution) 和首选的 (preferredDuringSchedulingIgnoredDuringExecution)。当设置为 soft 时,应用首选模式。设置为 hard 时,应用必需模式。此规则仅对 registry chart 和 gitlab chart 以及其所有子 chart(除 webservice 和 sidekiq 外)实施。
nodeAffinity 仅实现 In 运算符。
以下示例设置了 affinity,同时将 nodeAffinity 和 antiAffinity 设置为 hard:
yaml1nodeAffinity: "hard" 2antiAffinity: "hard" 3affinity: 4 nodeAffinity: 5 key: "test.com/zone" 6 values: 7 - us-east1-a 8 - us-east1-b 9 podAntiAffinity: 10 topologyKey: "test.com/hostname"