当前位置: 首页 > news >正文

使用k8s安装Sonarqube

1. 相应的yaml

devops-test-ns.yaml

apiVersion:v1kind:Namespacemetadata:name:devops-test

sonarqube.yaml

apiVersion:v1kind:PersistentVolumeClaimmetadata:name:sonarqube-datanamespace:devops-testspec:accessModes:-ReadWriteOncestorageClassName:"local-path"resources: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_count=262144securityContext: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/sonarDB"livenessProbe: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:sonarqube

pgsql.yaml

---apiVersion:v1kind:PersistentVolumeClaimmetadata:name:postgres-datanamespace:devops-testspec:accessModes:-ReadWriteOncestorageClassName:"local-path"resources: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:"123456"volumeMounts:-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-sonar

2. 安装

#创建资源kubectl create-fdevops-test-ns.yaml-fpgsql.yaml-fsonarqube.yaml#查看资源kubectl get deploy,po,svc-ndevops-test

3. 访问Sonarqube

kubectl get service/sonarqube-ndevops-test

获取到sonarqube对应的svc的端口为32700
因此,访问链接为http://{master-host}:32700/, 此处的host为k8s任意一个master节点的ip
默认的用户名密码为admin/admin,第一次登录之后会要求修改密码,此处修改密码为Reset_password1

http://{host}:32700/ admin/Reset_password1

4. 配置

登录到 sonarqube 后台http://{master-host}/{sonarqube-svc-nodeport}admin/Reset_password1

  1. 生成token
    点击头像 > MyAccount > Security > Generate Tokens > Type选择User Token > generate 生成 token 并复制
  2. 创建webhook服务
    点击菜单栏Administration >Configuration > Webhooks > Create >
    Name: jenkins
    URL: http://{master-host}:{jenkins-svc-nodeport}/sonarqube-webhook/
    Secret: 空置
http://www.zskr.cn/news/1497566.html

相关文章:

  • 【无人机】基于matlab多架悬挂缆绳无人机协同有效载荷提升【含Matlab源码 15606期】
  • Linux环境下Apache Web服务器部署与配置指南
  • 【毕业设计】基于springboot+微信小程序的智能停车场管理系统小程序基于微信小程序的智能停车场管理系统(源码+文档+远程调试,全bao定制等)
  • 2026年6月铝圆片厂家怎么选?5家靠谱生产企业横向测评对比 - 外贸老黄
  • 冥想第一千九百零五天(1905)
  • 小红书矩阵运营,正在悄悄改变内容行业
  • laravel的Blade 的源码解读的庖丁解牛牛
  • TSN恶劣环境鲁棒性测试全攻略:从实验室到工业现场的确定性验证
  • Ceph分布式存储核心知识点与实验总结
  • # Claude Code + Playwright MCP 使用
  • 马鞍山市2026年本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 千叶啊
  • 食品造型玩具为什么在北美走红?从IP授权角度看一门正在变大的生意
  • 【新版 SeaTunnel Web 最佳实践9】:11 个场景讲清楚 MySQL 到 Oracle 单表同步
  • 美州手工牛肉汉堡2026年合作政策解析
  • python DNN反向链推理
  • Spring AI 1.x 系列【56】用大模型评判大模型:递归顾问实现自动化评估方案
  • MySQL的学习之路:存储引擎、数据类型与表设计规范
  • 解决jenkins(本机部署或容器部署)安全机制【CSP】问题
  • 柳州泰遇尚养生馆:探寻龙城身心灵放松的静谧之所
  • 10万QPS下,Redis缓存如何避免雪崩?
  • 多件装组合SKU图的批量生产效率分析:从PS手工到AI自动化的工作流改造
  • 2026 岳阳厨卫屋面地下室漏水瓷砖空鼓测评:吉修匠 99.8 分五星榜首 - 吉修匠
  • 从0到1:阿里云宝塔面板部署SpringBoot+Vue能源管理系统保姆级教程
  • 063、NPU的YOLO加速:目标检测网络的硬件优化
  • 【无标题】谁有这种移动网络代理IP 不要城域网的
  • 【docker】docker技术介绍
  • vue3路由的replace属性(四)
  • AI技能平台横向盘点:觅游、携程、飞猪等5家拆解
  • OpenAI秘密递交IPO申请,股市上市进程提速
  • Dify 智能视频生成工作流:从脚本到视频的全自动化实现