GitLab CE(버전 18.0)를 Helm chart를 통해 K3s 클러스터에 배포하려고 합니다. 환경은 Cloud의 단일 노드이며, 리소스가 부족하기 때문에 최소 구성으로 GitLab을 배포하고자 합니다. Ingress는 Traefik으로 처리하고, PostgreSQL, 오브젝트 스토리지, Redis는 외부 서비스를 사용하지만 동일한 클러스터 내에서 구동됩니다.
문제는 Redis와 PostgreSQL에 비밀번호를 설정하면, GitLab에서 인증 실패 오류가 발생하면서 사용자 이름과 비밀번호가 잘못되었다는 메시지가 출력된다는 점입니다. 하지만 동일한 사용자명과 비밀번호로 직접 두 서비스에 수동 접속해본 결과, 정상적으로 연결이 됩니다.
Kubernetes Secret을 생성해 보거나, 비밀번호를 values.yaml에 직접 하드코딩해보는 등의 시도를 했지만 여전히 같은 인증 실패 오류만 반복됩니다.
아래는 제가 사용한 values.yaml 파일입니다:
# --- GLOBAL INSTALL/DISABLE FLAGS (TOP LEVEL) ---
installCertmanager: false
certmanager-issuer:
install: false
email: "myemail"
postgresql:
install: false
redis:
install: false
minio:
install: false
nginx-ingress:
install: false
controller:
ingressClassResource:
enabled: false
prometheus:
install: false
grafana:
install: false
kube-state-metrics:
install: false
node-exporter:
install: false
kas:
install: false
toolbox:
install: false
# --- SINGLE GLOBAL SETTINGS BLOCK ---
global:
hosts:
gitlab:
name: gitlab.testrack.co
# PostgreSQL
postgresql:
host: "postgresql.postgresql.svc.cluster.local"
port: 5432
database: gitlabhq_production
user: gitlab
password:
secret: gitlab-postgresql-password
key: password # Key within that secret
# Redis NO AUTH
redis:
host: "redis-master.redis.svc.cluster.local"
port: 6379
auth:
enabled: false
minio:
enabled: false
ingress:
enabled: true
configureCertmanager: false
class: "traefik"
kas:
enabled: false
# --- Object Storage Configuration ---
object_store:
enabled: false
appConfig:
artifacts:
enabled: false
lfs:
enabled: false
uploads:
enabled: false
packages:
enabled: false
dependency_proxy:
object_store:
enabled: false
container_registry:
object_store:
enabled: false
initialRootPassword:
secret: gitlab-initial-root-password
key: password
# --- COMPONENT SPECIFIC CONFIGURATION (TOP LEVEL) ---
gitlab:
toolbox:
backups:
objectStorage:
enabled: false
config:
secret: "dummy-object-storage-secret"
key: "dummy-key"
# --- COMPONENT SPECIFIC RESOURCE REQUESTS/LIMITS ---
gitlab-shell:
resources:
requests:
cpu: 50m
memory: 64Mi
limits:
cpu: 100m
memory: 128Mi
sidekiq:
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 250m
memory: 512Mi
gitlab-exporter:
resources:
requests:
cpu: 25m
memory: 32Mi
limits:
cpu: 50m
memory: 64Mi
gitaly:
persistence:
size: 20Gi
resources:
requests:
cpu: 250m
memory: 512Mi
limits:
cpu: 500m
memory: 1Gi
webservice:
minReplicas: 1
maxReplicas: 1
resources:
requests:
cpu: 250m
memory: 512Mi
limits:
cpu: 500m
memory: 1Gi
gitlab-runner:
install: false