Version -
sonarqube:10.7.0-community
Helm Chart - 10.7.0+3598
Sonarqube is deployed via Helm.
I am trying to install sonarqube on AWS EKS cluster and installing it in the exact same manner which is followed in this issue ticket as well LTS deployed via helm; Stuck on "Loading..."
Moreover I am not using any plugins yet, also defining path as “/*” as suggested in above blog but still I just see Loading…
Also my values.yaml file looks like
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: sonarqube
namespace: sonarqube
spec:
releaseName: sonarqube
chart:
spec:
chart: sonarqube
version: 10.7.0+3598
sourceRef:
kind: HelmRepository
name: sonarqube
namespace: flux-system
interval: 5m
install:
remediation:
retries: 3
crds: CreateReplace
upgrade:
crds: CreateReplace
values:
replicaCount: 1
elasticsearch:
# DEPRECATED: Use initSysctl.enabled instead
configureNode: false
bootstrapChecks: false
ingress:
enabled: true
#className: alb
annotations:
kubernetes.io/ingress.class: alb
#ingressClassName: alb
alb.ingress.kubernetes.io/ssl-redirect: "443"
alb.ingress.kubernetes.io/healthcheck-path: /
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS": 443}]'
alb.ingress.kubernetes.io/load-balancer-attributes: access_logs.s3.enabled=true,access_logs.s3.bucket=xxx-xxx-yyy-aaa-logs
alb.ingress.kubernetes.io/scheme: internal
alb.ingress.kubernetes.io/security-groups: sg-1234,sg-5678
alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS-1-2-2017-01
alb.ingress.kubernetes.io/success-codes: "200,303,301"
alb.ingress.kubernetes.io/target-type: ip
hosts:
- name: sonarqube.xx.k8s.yy.io
#path: /*
paths:
- path: /*
pathType: ImplementationSpecific
#pathType: Prefix
## Override JDBC values
## for external Databases
jdbcOverwrite:
# (DEPRECATED) Please use jdbcOverwrite.enabled instead
# enable: false
# If enable the JDBC Overwrite, make sure to set `postgresql.enabled=false`
enabled: true
# The JDBC url of the external DB
jdbcUrl: "jdbc:postgresql://xx-yyy-db-eks.ct1234.us-east-1.rds.amazonaws.com/sonar?currentSchema=public"
# The DB user that should be used for the JDBC connection
jdbcUsername: "sonar"
# Use this if you don't mind the DB password getting stored in plain text within the values file
jdbcPassword: "sonar"
postgresql:
# Enable to deploy the bitnami PostgreSQL chart
enabled: false
readinessProbe:
exec:
command:
- sh
- -c
- |
#!/bin/bash
# A Sonarqube container is considered ready if the status is UP, DB_MIGRATION_NEEDED or DB_MIGRATION_RUNNING
# status about migration are added to prevent the node to be kill while sonarqube is upgrading the database.
if wget --no-proxy -qO- http://localhost:{{ .Values.service.internalPort }}{{ .Values.readinessProbe.sonarWebContext | default (include "sonarqube.webcontext" .) }}api/system/status | grep -q -e '"status":"UP"' -e '"status":"DB_MIGRATION_NEEDED"' -e '"status":"DB_MIGRATION_RUNNING"'; then
exit 0
fi
exit 1
initialDelaySeconds: 60
periodSeconds: 30
failureThreshold: 6
# Note that timeoutSeconds was not respected before Kubernetes 1.20 for exec probes
timeoutSeconds: 1
livenessProbe:
exec:
command:
- sh
- -c
- |
wget --no-proxy --quiet -O /dev/null --timeout={{ .Values.livenessProbe.timeoutSeconds }} --header="X-Sonar-Passcode: $SONAR_WEB_SYSTEMPASSCODE" "http://localhost:{{ .Values.service.internalPort }}{{ .Values.livenessProbe.sonarWebContext | default (include "sonarqube.webcontext" .) }}api/system/liveness"
initialDelaySeconds: 60
periodSeconds: 30
failureThreshold: 6
# Note that timeoutSeconds was not respected before Kubernetes 1.20 for exec probes
timeoutSeconds: 1
startupProbe:
initialDelaySeconds: 30
periodSeconds: 10
failureThreshold: 24
# Note that timeoutSeconds was not respected before Kubernetes 1.20 for exec probes
timeoutSeconds: 1
What have I tried so far to achieve this?
- I created a
sonarqube
kubernetes namespace. - I have deployed an external RDS postgres database dedicated to hosting the sonarqube database (and a security group which allows 5432 port traffic from the
sonarqube
autoscaling group private subnets) and I believe the sonarqube pod is connecting to the External Database without any issue. - The kubernetes cluster has an AWS Load Balancer Controller
v1.7.1
deployed which manages AWS Application Load Balancers to satisfy kubernetes ingresses. It looks like this configuration is all working properly. - I configured a Route 53 A record pointing my desired url hostname to the application load balancer that was configured by the Kubernetes ingress.
- I have a customized helm chart
values.yaml
which I attached above and I installed the helm chart using fluxcd.
Sonarqube is working on localhost on port forwarding but its not loading with ingress.
Though my ingress setup is consistent along with my other applications which are working as expected.
When I inspect on chrome browser I see below error
Failed to load resource: the server responded with a status of 404 ()Understand this errorAI
outIIC4BPOF.js:1
Failed to load resource: the server responded with a status of 404 ()Understand this errorAI
outAPPHAF2J.css:1
Failed to load resource: the server responded with a status of 404 ()
Also I see similar behaviour on other browsers as well like Safari.