使用 Shared-Secrets 作业
- Tier: 基础版, 专业版, 旗舰版
- Offering: 私有化部署
shared-secrets 任务负责为整个安装过程中使用的各种密钥进行配置,除非手动指定。这包括:
- 初始 root 密码
- 所有公共服务的自签名 TLS 证书:极狐GitLab、MinIO 和 Registry
- Registry 认证证书
- MinIO、Registry、极狐GitLab Shell 和 Gitaly 密钥
- Redis 和 PostgreSQL 密码
- SSH 主机密钥
- 用于 加密凭证 的极狐GitLab Rails 密钥
安装命令行选项
下表包含可以使用 --set 标志提供给 helm install 命令的所有可能配置:
| 参数 | 默认值 | 描述 |
|---|---|---|
| enabled | true | 参见下文 |
| env | production | Rails 环境 |
| podLabels | 补充 Pod 标签。不会用于选择器。 | |
| annotations | 补充 Pod 注释。 | |
| image.pullPolicy | Always | 已弃用:请改用 global.kubectl.image.pullPolicy。 |
| image.pullSecrets | 已弃用:请改用 global.kubectl.image.pullSecrets。 | |
| image.repository | registry.gitlab.com/gitlab-org/build/cng/kubectl | 已弃用:请改用 global.kubectl.image.repository。 |
| image.tag | 1f8690f03f7aeef27e727396927ab3cc96ac89e7 | 已弃用:请改用 global.kubectl.image.tag。 |
| priorityClassName | 分配给 pods 的 优先级类 | |
| rbac.create | true | 创建 RBAC 角色和绑定 |
| resources | 资源请求,限制 | |
| securityContext.fsGroup | 65534 | 用户 ID 用于挂载文件系统 |
| securityContext.runAsUser | 65534 | 用户 ID 用于运行容器 |
| selfsign.caSubject | GitLab Helm Chart | 自签名 CA 主题 |
| selfsign.image.repository | registry.gitlab.com/gitlab-org/build/cnf/cfssl-self-sign | 自签名镜像仓库 |
| selfsign.image.pullSecrets | 镜像仓库的密钥 | |
| selfsign.image.tag | 自签名镜像标签 | |
| selfsign.keyAlgorithm | rsa | 自签名证书密钥算法 |
| selfsign.keySize | 4096 | 自签名证书密钥大小 |
| serviceAccount.enabled | true | 在任务上定义 serviceAccountName |
| serviceAccount.create | true | 创建 ServiceAccount |
| serviceAccount.name | RELEASE_NAME-shared-secrets | 要在任务上指定的服务账户名称(如果 serviceAccount.create=true,也在 serviceAccount 本身上指定) |
| tolerations | [] | Pod 分配的容忍标签 |
任务配置示例
容忍
tolerations 允许您在受污点的工作节点上调度 pods
下面是使用 tolerations 的示例:
yaml1tolerations: 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:
yamlshared-secrets: enabled: false
如果您禁用此任务,您 **必须** 手动创建所有密钥,并提供所有必要的密钥内容。有关更多详细信息,请参见 [installation/secrets](../installation/secrets.md#manual-secret-creation-optional)。