Shared-Secrets Job 사용

Tier: Free, Premium, Ultimate Offering: Self-Managed

shared-secrets job은 설치 전체에 사용되는 다양한 시크릿을 프로비저닝하는 역할을 합니다.

이는 다음을 포함합니다: 1. 초기 루트 패스워드 1. GitLab, MinIO, 및 레지스트리를 위한 자체 서명 TLS 인증서 1. 레지스트리 인증서 1. MinIO, 레지스트리, GitLab Shell, 및 Gitaly 시크릿 1. Redis 및 PostgreSQL 패스워드 1. SSH 호스트 키 1. 암호화된 자격 증명을 위한 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   Pod에 할당된 우선순위 클래스
rbac.create true RBAC 역할 및 바인딩 생성
resources   자원 요청, 제한
securitContext.fsGroup 65534 파일 시스템을 마운트할 사용자 ID
securitContext.runAsUser 65534 컨테이너를 실행할 사용자 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   이미지 저장소를 위한 비밀
selfsign.image.tag   selfsign 이미지 태그
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일 경우 서비스 어카운트 자체)
tolerations [] Pod 할당을 위한 참을 설정합니다

Job 구성 예시

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를 전달하거나 다음을 helm-f 플래그를 통해 YAML로 전달하세요:

shared-secrets:
  enabled: false

참고: 이 작업을 비활성화하는 경우 모든 시크릿을 수동으로 생성하고 모든 필요한 시크릿 콘텐츠를 제공해야 합니다. 자세한 내용은 installation/secrets에서 확인하세요.