Unable to expose Sonarqube via Istio virtual service

I am installing Sonarqube using helm charts in my kubernetes cluster. The deployment is working and the pod is up successfully. Here is my values.yaml file for helm stable/sonarqube.

replicaCount: 1

deploymentStrategy: {}

image:
  repository: sonarqube
  tag: 7.9.2-community

securityContext:
  fsGroup: 999

elasticsearch:
  configureNode: true
  bootstrapChecks: true

service:
  type: ClusterIP
  externalPort: 9000
  internalPort: 9000
  labels:
  annotations: {}
ingress:
  enabled: false

  hosts:
    - name: sonar.organization.com
      path: /
  annotations: {}
  tls: []

affinity: {}

tolerations: []

nodeSelector: {}

hostAliases: []

readinessProbe:
  initialDelaySeconds: 60
  periodSeconds: 30
  failureThreshold: 6
  sonarWebContext: /

livenessProbe:
  initialDelaySeconds: 60
  periodSeconds: 30
  sonarWebContext: /

extraEnv: {}

annotations: {}

resources:
 limits:
  cpu: 2
  memory: 8Gi
 requests:
  cpu: 1
  memory: 4Gi
persistence:
  enabled: false
  annotations: {}

  storageClass:
  accessMode: ReadWriteOnce
  size: 10Gi

  volumes: []
  mounts: []

plugins:
  install: []
  lib: []

  resources: {}

customCerts:
  enabled: false
  secretName: my-cacerts

database:
  type: "postgresql"

postgresql:
  enabled: true
  
  postgresqlUsername: "root"
  postgresqlPassword: "sonarPass"
  postgresqlDatabase: "sonarDB"

  service:
    port: 5432

mysql:
  enabled: false
  mysqlUser: "sonarUser"
  mysqlPassword: "sonarPass"
  mysqlDatabase: "sonarDB"
  service:
    port: 3306
podLabels: {}
sonarqubeFolder: /opt/sonarqube

I have then created an istio virtual service and routed the port of the pod to the virtual service. Here is my virtual service yaml file:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: sonarqube-internal
  namespace: sonarqube
spec:
  hosts:
    - sonarqube.staging.xxxx.internal
    - sonarqube
  gateways:
    - default/ilb-gateway
    - mesh
  http:
    - route:
        - destination:
            host: sonarqube-sonarqube
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: sonarqube-external
  namespace: sonarqube
spec:
  hosts:
    - sonarqube.staging.xxxx.com
  gateways:
    - default/elb-gateway
  http:
    - route:
        - destination:
            host: sonarqube-sonarqube
---

I am receiving a very weird error where sometimes my service is accessible in the defined host but sometimes it just gives me an upstream error. I am not sure why this is happening. It should be exposed to the host I have defined.

Why I need this?
I am trying to connect Jenkins to Sonarqube to scan my projects using a declarative pipeline. The error I am getting in Jenkins is that the Jenkins server could not find the sonarqube host URL that I entered while configuring Jenkins with Sonarqube in Jenkins configurations.