共有シークレットジョブの使用
shared-secrets
ジョブは、手動で指定しない限り、インストール全体で使用される様々なシークレットのプロビジョニングを担当します。これには以下が含まれます:
- 初期 root パスワード
- すべての公開サービスの自己署名TLS証明書:GitLab、MinIO、レジストリ。
- レジストリ認証証明書
- MinIO、レジストリ、GitLab Shell、Gitalyのシークレット
- RedisとPostgreSQLのパスワード
- SSHホストキー
- 暗号化された認証情報用の GitLab Rails シークレット
インストールのコマンドラインオプション
以下の表は、--set
フラグを使用してhelm install
コマンドに指定できるすべての設定です:
パラメータ | デフォルト | 説明 |
---|---|---|
enabled | true | 下記参照 |
env | production | Rails環境 |
podLabels | ポッドラベルの補足。セレクタには使用されません。 | |
annotations | ポッド注釈の補足。 | |
image.pullPolicy | Always | Gitalyイメージプルポリシー |
image.pullSecrets | 画像リポジトリのシークレット | |
image.repository | registry.gitlab.com/gitlab-org/build/cng/kubectl | Gitaly画像リポジトリ |
image.tag | 1f8690f03f7aeef27e727396927ab3cc96ac89e7 | Gitaly画像タグ |
priorityClassName | ポッドに割り当てられた優先クラス | |
rbac.create | true | RBACロールとバインディングの作成 |
resources | リソース要求、制限 | |
securitContext.fsGroup | 65534 | ファイルシステムをマウントするユーザーID |
securitContext.runAsUser | 65534 | コンテナを実行するユーザーID |
selfsign.caSubject | GitLab Helm Chart | セルフサイン CA Subject |
selfsign.image.repository | registry.gitlab.com/gitlab-org/build/cnf/cfssl-self-sign | selfsign 画像リポジトリ |
selfsign.image.pullSecrets | 画像リポジトリのシークレット | |
selfsign.image.tag | セルフサイン画像タグ | |
selfsign.keyAlgorithm | rsa | selfsign 認証鍵アルゴリズム |
selfsign.keySize | 4096 | selfsign 証明書の鍵サイズ |
serviceAccount.enabled | true | ジョブのserviceAccountNameの定義 |
serviceAccount.create | true | ServiceAccountの作成 |
serviceAccount.name | RELEASE_NAME-shared-secrets | ジョブに指定するサービスアカウント名 (serviceAccount.create=true の場合は serviceAccount 自体にも) |
tolerations | [] | ポッド割り当て用のトレラベル |
ジョブ設定例
許容範囲
tolerations
汚染されたワーカーノードでポッドのスケジューリングが可能
以下は、tolerations
の使用例です:
tolerations:
- key: "node_label"
operator: "Equal"
value: "true"
effect: "NoSchedule"
- key: "node_label"
operator: "Equal"
value: "true"
effect: "NoExecute"
機能の無効化
ユーザーによっては、このジョブが提供する機能を明示的に無効にしたいかもしれません。そのために、enabled
フラグをブール値で指定します。デフォルトはtrue
です。
ジョブを無効にするには、--set shared-secrets.enabled=false
を渡すか、-f
フラグを通した YAML でhelm
に次のように渡します:
shared-secrets:
enabled: false
このジョブを無効にする場合、すべてのシークレットを手動で作成し、必要なすべてのシークレットコンテンツを提供しなければなりません。詳細はインストール/シークレットを参照してください。