使用 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.gitlab.com/gitlab-org/build/cng/kubectl Gitaly 镜像仓库
image.tag 1f8690f03f7aeef27e727396927ab3cc96ac89e7 Gitaly 镜像标签
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.gitlab.com/gitlab-org/build/cnf/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 内容。有关更多详细信息,请参阅相关文档