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.