使用k8s安装Sonarqube

张开发
2026/6/10 12:53:15 15 分钟阅读

分享文章

使用k8s安装Sonarqube
1. 相应的yamldevops-test-ns.yamlapiVersion:v1kind:Namespacemetadata:name:devops-testsonarqube.yamlapiVersion:v1kind:PersistentVolumeClaimmetadata:name:sonarqube-datanamespace:devops-testspec:accessModes:-ReadWriteOncestorageClassName:local-pathresources:requests:storage:1Gi---apiVersion:apps/v1kind:Deploymentmetadata:name:sonarqubenamespace:devops-testlabels:app:sonarqubespec:replicas:1selector:matchLabels:app:sonarqubetemplate:metadata:labels:app:sonarqubespec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:-matchExpressions:-key:node-role.kubernetes.io/masteroperator:Invalues:[true]tolerations:# 允许调度到master节点-key:node-role.kubernetes.io/control-plane# 控制平面节点effect:NoSchedule# 容忍该污点的影响NoScheduleoperator:Exists# 该标签存在initContainers:-name:init-sysctlimage:busybox:1.28.4imagePullPolicy:IfNotPresentcommand:-sysctl--w-vm.max_map_count262144securityContext:privileged:truecontainers:-name:sonarqubeimage:sonarqubeimagePullPolicy:IfNotPresentports:-containerPort:9000env:-name:SONARQUBE_JDBC_USERNAMEvalue:sonarUser-name:SONARQUBE_JDBC_PASSWORDvalue:123456-name:SONARQUBE_JDBC_URLvalue:jdbc:postgresql://postgres-sonar:5432/sonarDBlivenessProbe:httpGet:path:/sessions/newport:9000initialDelaySeconds:30periodSeconds:30readinessProbe:httpGet:path:/sessions/newport:9000initialDelaySeconds:60periodSeconds:30failureThreshold:6volumeMounts:-mountPath:/opt/sonarqube/confname:data-mountPath:/opt/sonarqube/dataname:data-mountPath:/opt/sonarqube/extensionsname:datavolumes:-name:datapersistentVolumeClaim:claimName:sonarqube-data---apiVersion:v1kind:Servicemetadata:name:sonarqubenamespace:devops-testlabels:app:sonarqubespec:type:NodePortports:-name:sonarqubeport:9000targetPort:9000protocol:TCPselector:app:sonarqubepgsql.yaml---apiVersion:v1kind:PersistentVolumeClaimmetadata:name:postgres-datanamespace:devops-testspec:accessModes:-ReadWriteOncestorageClassName:local-pathresources:requests:storage:1Gi---apiVersion:apps/v1kind:Deploymentmetadata:name:postgres-sonarnamespace:devops-testspec:replicas:1selector:matchLabels:app:postgres-sonartemplate:metadata:labels:app:postgres-sonarspec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:-matchExpressions:-key:node-role.kubernetes.io/masteroperator:Invalues:[true]tolerations:# 允许调度到master节点-key:node-role.kubernetes.io/control-plane# 控制平面节点effect:NoSchedule# 容忍该污点的影响NoScheduleoperator:Exists# 该标签存在# imagePullSecrets:# - name: harbor-secretcontainers:-name:postgres-sonarimage:postgres:14.2imagePullPolicy:IfNotPresentports:-containerPort:5432env:-name:POSTGRES_DBvalue:sonarDB-name:POSTGRES_USERvalue:sonarUser-name:POSTGRES_PASSWORDvalue:123456volumeMounts:-mountPath:/var/lib/postgresql/dataname:datavolumes:-name:datapersistentVolumeClaim:claimName:postgres-data---apiVersion:v1kind:Servicemetadata:name:postgres-sonarnamespace:devops-testlabels:app:postgres-sonarspec:type:NodePortports:-name:postgres-sonarport:5432targetPort:5432protocol:TCPselector:app:postgres-sonar2. 安装#创建资源kubectl create-fdevops-test-ns.yaml-fpgsql.yaml-fsonarqube.yaml#查看资源kubectl get deploy,po,svc-ndevops-test3. 访问Sonarqubekubectl get service/sonarqube-ndevops-test获取到sonarqube对应的svc的端口为32700因此访问链接为http://{master-host}:32700/, 此处的host为k8s任意一个master节点的ip默认的用户名密码为admin/admin第一次登录之后会要求修改密码此处修改密码为Reset_password1http://{host}:32700/ admin/Reset_password14. 配置登录到 sonarqube 后台http://{master-host}/{sonarqube-svc-nodeport}admin/Reset_password1生成token点击头像 MyAccount Security Generate Tokens Type选择User Token generate 生成 token 并复制创建webhook服务点击菜单栏Administration Configuration Webhooks Create Name: jenkinsURL: http://{master-host}:{jenkins-svc-nodeport}/sonarqube-webhook/Secret: 空置

更多文章