共有シークレットジョブの使用

shared-secrets ジョブは、手動で指定しない限り、インストール全体で使用される様々なシークレットのプロビジョニングを担当します。これには以下が含まれます:

  1. 初期 root パスワード
  2. すべての公開サービスの自己署名TLS証明書:GitLab、MinIO、レジストリ。
  3. レジストリ認証証明書
  4. MinIO、レジストリ、GitLab Shell、Gitalyのシークレット
  5. RedisとPostgreSQLのパスワード
  6. SSHホストキー
  7. 暗号化された認証情報用の GitLab Rails シークレット

インストールのコマンドラインオプション

以下の表は、--set フラグを使用してhelm install コマンドに指定できるすべての設定です:

パラメータデフォルト説明
enabledtrue下記参照
envproductionRails環境
podLabels ポッドラベルの補足。セレクタには使用されません。
annotations ポッド注釈の補足。
image.pullPolicyAlwaysGitalyイメージプルポリシー
image.pullSecrets 画像リポジトリのシークレット
image.repositoryregistry.gitlab.com/gitlab-org/build/cng/kubectlGitaly画像リポジトリ
image.tag1f8690f03f7aeef27e727396927ab3cc96ac89e7Gitaly画像タグ
priorityClassName ポッドに割り当てられた優先クラス
rbac.createtrueRBACロールとバインディングの作成
resources リソース要求、制限
securitContext.fsGroup65534ファイルシステムをマウントするユーザーID
securitContext.runAsUser65534コンテナを実行するユーザーID
selfsign.caSubjectGitLab Helm Chartセルフサイン CA Subject
selfsign.image.repositoryregistry.gitlab.com/gitlab-org/build/cnf/cfssl-self-signselfsign 画像リポジトリ
selfsign.image.pullSecrets 画像リポジトリのシークレット
selfsign.image.tag セルフサイン画像タグ
selfsign.keyAlgorithmrsaselfsign 認証鍵アルゴリズム
selfsign.keySize4096selfsign 証明書の鍵サイズ
serviceAccount.enabledtrueジョブのserviceAccountNameの定義
serviceAccount.createtrueServiceAccountの作成
serviceAccount.nameRELEASE_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
note
このジョブを無効にする場合、すべてのシークレットを手動で作成し、必要なすべてのシークレットコンテンツを提供しなければなりません。詳細はインストール/シークレットを参照してください。