使用 Shared-Secrets Job

shared-secrets job 负责提供整个安装过程中使用的各种 secret,除非另外手动指定。包括:

  1. 初始 root 密码
  2. 所有公共服务的自签名 TLS 证书:GitLab、MinIO 和 Registry
  3. Registry 认证证书
  4. MinIO、Registry、GitLab Shell 和 Gitaly 的 Secret
  5. Redis 和 PostgreSQL 密码
  6. SSH 主机密钥
  7. 用于加密凭证的 GitLab Rails secret。

安装命令行选项

下表包含可以使用 --set 标志提供给 helm install 命令的所有可能的配置:

参数 默认值 说明
enabled true 查看下方文档
env production Rails 环境
podLabels   补充 Pod 标签。不会用于选择器。
annotations   补充 Pod annotations
image.pullPolicy Always Gitaly 镜像拉取策略
image.pullSecrets   用于镜像仓库的 Secrets
image.repository registry.jihulab.com/gitlab-cn/build/cng-images/kubectl Gitaly 镜像仓库
image.tag 1f8690f03f7aeef27e727396927ab3cc96ac89e7 Gitaly 镜像标签
priorityClassName   指派给 Pod 的 Priority class
rbac.create true 创建RBAC角色和绑定
resources   资源请求值、限制值
securitContext.fsGroup 65534 用于挂载文件系统的 User ID
securitContext.runAsUser 65534 用于运行容器的 User ID
selfsign.caSubject GitLab Helm Chart selfsign CA 主题
selfsign.image.repository registry.jihulab.com/gitlab-cn/build/cng-images/cfssl-self-sign selfsign 镜像仓库
selfsign.image.pullSecrets   用于拉取镜像仓库的 secrets
selfsign.image.tag   selfsign 镜像标签
selfsign.keyAlgorithm rsa selfsign 证书密钥算法
selfsign.keySize 4096 selfsign 证书密钥大小
serviceAccount.enabled true 定义 Job 中的 serviceAccountName
serviceAccount.create true 创建 ServiceAccount
serviceAccount.name RELEASE_NAME-shared-secrets Job 中指定的 Service account 名称 (如果 serviceAccount.create=true,在 serviceAccount 中)
tolerations [] 分配给 Pod 的容忍标签

Job 配置示例

tolerations

tolerations 允许您调度 Pod 到受污染的工作节点上。

下面是一个使用 tolerations 的例子:

tolerations:
- key: "node_label"
  operator: "Equal"
  value: "true"
  effect: "NoSchedule"
- key: "node_label"
  operator: "Equal"
  value: "true"
  effect: "NoExecute"

禁用功能

某些用户可能希望明确禁用此 Job 提供的功能。 为此,我们提供了 enabled 标志布尔值,默认为 true

要禁用该 Job,请传递 --set shared-secrets.enabled=false,或通过 -f 标志在 YAML 中将以下内容传递给 helm

shared-secrets:
  enabled: false
note 如果禁用此 Job,则必须手动创建所有 secret,并提供所有必要的 secret 内容。有关更多详细信息,请参阅相关文档