使用 Shared-Secrets 作业

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: 私有化部署

shared-secrets 任务负责为整个安装过程中使用的各种密钥进行配置,除非手动指定。这包括:

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

安装命令行选项#

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

参数默认值描述
enabledtrue参见下文
envproductionRails 环境
podLabels补充 Pod 标签。不会用于选择器。
annotations补充 Pod 注释。
image.pullPolicyAlways已弃用:请改用 global.kubectl.image.pullPolicy
image.pullSecrets已弃用:请改用 global.kubectl.image.pullSecrets
image.repositoryregistry.gitlab.com/gitlab-org/build/cng/kubectl已弃用:请改用 global.kubectl.image.repository
image.tag1f8690f03f7aeef27e727396927ab3cc96ac89e7已弃用:请改用 global.kubectl.image.tag
priorityClassName分配给 pods 的 优先级类
rbac.createtrue创建 RBAC 角色和绑定
resources资源请求,限制
securityContext.fsGroup65534用户 ID 用于挂载文件系统
securityContext.runAsUser65534用户 ID 用于运行容器
selfsign.caSubjectGitLab Helm Chart自签名 CA 主题
selfsign.image.repositoryregistry.gitlab.com/gitlab-org/build/cnf/cfssl-self-sign自签名镜像仓库
selfsign.image.pullSecrets镜像仓库的密钥
selfsign.image.tag自签名镜像标签
selfsign.keyAlgorithmrsa自签名证书密钥算法
selfsign.keySize4096自签名证书密钥大小
serviceAccount.enabledtrue在任务上定义 serviceAccountName
serviceAccount.createtrue创建 ServiceAccount
serviceAccount.nameRELEASE_NAME-shared-secrets要在任务上指定的服务账户名称(如果 serviceAccount.create=true,也在 serviceAccount 本身上指定)
tolerations[]Pod 分配的容忍标签

任务配置示例#

容忍#

tolerations 允许您在受污点的工作节点上调度 pods

下面是使用 tolerations 的示例:

yaml
1tolerations: 2- key: "node_label" 3 operator: "Equal" 4 value: "true" 5 effect: "NoSchedule" 6- key: "node_label" 7 operator: "Equal" 8 value: "true" 9 effect: "NoExecute"

禁用功能#

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

要禁用该任务,请传递 --set shared-secrets.enabled=false,或通过 -f 标志传递以下 YAML 到 helm

yaml
shared-secrets: enabled: false
如果您禁用此任务,您 **必须** 手动创建所有密钥,并提供所有必要的密钥内容。有关更多详细信息,请参见 [installation/secrets](../installation/secrets.md#manual-secret-creation-optional)。