gitlab-workhorse 502 badgateway: failed to receive response: EOF
Summary
After deploying the last GitLab Helm chart release (v6.11.5) on my Kubernetes cluster, all pods are running and working but I get sometimes 502 error "502 Whoops, GitLab is taking too much time to respond." while navigating through the GitLab UI. A simple browser refresh (F5) and the page is loading correctly. The error happens about one time every 30 page loads, it seems quite random.
gitlab-workhorse container has the "bad gateway" log as described bellow.
Here are some related issues but the error message is not the same :
“502 Whoops, GitLab is taking too much time to respond.” after 13.x update
502-Whoops, GitLab is taking too much time to respond
Steps to reproduce
Navigate through the deployed GitLab web service.
Configuration used
certmanager:
install: false
installCRDs: false
gitlab:
toolbox:
enabled: false
kas:
ingress:
tls:
secretName: gitlab-kas-tls
migrations:
enabled: true
sidekiq:
minReplicas: 1
registry:
enabled: false
resources:
limits:
memory: 1.5G
requests:
cpu: 50m
memory: 625M
unicorn:
registry:
enabled: false
webservice:
enabled: true
minReplicas: 1
workhorse:
resources:
limits:
memory: 100M
requests:
cpu: 10m
memory: 10M
resources:
limits:
memory: 1.5G
requests:
cpu: 100m
memory: 900M
ingress:
tls:
enabled: true
secretName: gitlab-gitlab-tls
registry:
enabled: false
gitlab-shell:
minReplicas: 1
gitlab-runner:
runners:
config: |
[[runners]]
[runners.kubernetes]
image = "ubuntu:22.04"
{{- if .Values.global.minio.enabled }}
[runners.cache]
Type = "s3"
Path = "gitlab-runner"
Shared = true
[runners.cache.s3]
ServerAddress = {{ include "gitlab-runner.cache-tpl.s3ServerAddress" . }}
BucketName = "runner-cache"
BucketLocation = "us-east-1"
Insecure = false
{{ end }}
[[runners.kubernetes.volumes.empty_dir]]
name = "docker-certs"
mount_path = "/certs/client"
medium = "Memory"
privileged: true
global:
rails:
bootsnap:
enabled: false
edition: ce
registry:
enabled: false
appConfig:
defaultProjectsFeatures:
containerRegistry: false
email:
display_name: 'GitLab'
from: 'gitlab@example.com'
reply_to: 'no-reply@example.com'
hosts:
domain: example.com
https: true
ingress:
annotations:
cert-manager.io/cluster-issuer: letsencrypt
kubernetes.io/tls-acme: true
class: nginx
configureCertmanager: false
enabled: true
provider: nginx
tls:
enabled: true
secretName: gitlab-wildcard-tls
kas:
enabled: true
smtp:
address: 'ssl0.ovh.net'
enabled: true
tls: true
password:
key: password
secret: smtp-password
port: 465
authentication: "login"
starttls_auto: false
user_name: example.com
openssl_verify_mode: "none"
psql:
host: postgresql.postgresql.svc.cluster.local
password:
secret: postgresql-password
key: password
redis:
password:
enabled: true
secret: redis-password
key: password
host: redis-master.redis.svc.cluster.local
grafana:
enabled: false
nginx-ingress:
enabled: false
prometheus:
enabled: false
install: false
registry:
enabled: false
postgresql:
install: false
redis:
install: false
minio:
resources:
requests:
cpu: 10m
memory: 64Mi
Versions
- Chart: 6.11.5
- Platform:
- Cloud: OVH Public Cloud Managed Kubernetes Service
- Kubernetes: (
kubectl version)- Client: Major:"1", Minor:"25", GitVersion:"v1.25.9", GoVersion:"go1.19.8", Compiler:"gc", Platform:"darwin/amd64"
- Server: Major:"1", Minor:"25", GitVersion:"v1.25.9", GoVersion:"go1.19.8", Compiler:"gc", Platform:"linux/amd64"
- Helm: (
helm version)- Client: v3.11.0
- Server: v3.11.0
Relevant logs
{
"correlation_id": "01H11KCBBZ19JX2RGRBF9XMQCP",
"duration_ms": 108,
"error": "badgateway: failed to receive response: EOF",
"level": "error",
"method": "GET",
"msg": "",
"time": "2023-05-22T11:26:44Z",
"uri": "/api/v4/internal/kubernetes/modules/starboard_vulnerability/policies_configuration"
}
{
"content_type": "text/plain",
"correlation_id": "01H11KCBBZ19JX2RGRBF9XMQCP",
"duration_ms": 109,
"host": "gitlab-webservice-default.gitlab.svc:8181",
"level": "info",
"method": "GET",
"msg": "access",
"proto": "HTTP/1.1",
"referrer": "",
"remote_addr": "10.2.0.229:51654",
"remote_ip": "10.2.0.229",
"route": "^/api/",
"status": 502,
"system": "http",
"time": "2023-05-22T11:26:44Z",
"ttfb_ms": 109,
"uri": "/api/v4/internal/kubernetes/modules/starboard_vulnerability/policies_configuration",
"user_agent": "gitlab-kas/v15.11.0/v15.11.0",
"written_bytes": 24
}
Edited by Jason Plum