当前位置: 首页 > 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.cnnetsun.cn/news/2858788.html

相关文章:

  • 微微信朋友圈广告投放开户,朋友圈广告投放流程、收费标准详解,全国可投
  • 微信小程序计算机毕设之基于spring boot的校园二手交易平台系统小程序基于微信小程序校园二手交易平台系统小程序(完整前后端代码+说明文档+LW,调试定制等)
  • 基于知识图谱(Neo4j)和大语言模型(LLM)的图检索增强(GraphRAG)的数控车床主轴系统故障诊断智能问答系统
  • # Claude Code + Playwright MCP 使用
  • LaTeX 绘图单位避坑指南:为什么你的 Draw.io / Matplotlib 导入后字体总是不对?
  • Granite Time Series TTM R2 时间序列大模型交通流量预测实战教学
  • 【新版 SeaTunnel Web 最佳实践9】:11 个场景讲清楚 MySQL 到 Oracle 单表同步
  • 【技术干货】深度解析 Frontier Code: AI 代码生成的新基准与可合并性评测
  • Django 框架 深度学习
  • 匠心智造赋能发酵产业 信安诺亮相 2026 第 17 届杭州生物发酵展
  • OpenClaw连接使用chrome浏览器共享缓存cookie的方法
  • 公众号无限回调系统二开实战:破除域名限制的商用 PHP 方案
  • 百度内部启动青木、风雷两大计划,百度大动作该咋看?
  • 从唐诗到商品推荐:我用Neo4j Desktop给电商数据做了个“知识图谱”实验
  • 别再只会用插值了!用PyTorch的PixelShuffle给图像超分换个思路(附代码示例)
  • STM32H7超频到480MHz?聊聊时钟配置里的那些“潜规则”与稳定性测试
  • 告别“啥啥啥”:快速上手Xilinx MMCM原语,搞定多路时钟生成与相位调整
  • 保姆级教程:手把手教你从零写一个Rimworld 1.4 Mod的About.xml配置文件
  • 别再只用默认值了!深入解读达梦DM8的V$CIPHERS加密算法视图
  • 文本任务评估指标选择指南:匹配、生成、排序三类问题的正确解法
  • GPT-4的1.8万亿参数与2%激活率:硬件代价与工程真相
  • STM32项目实战:用NRF24L01+和HAL库DIY一个简易无线遥控器(带按键和LED反馈)
  • 别再让雷劈坏你的设备了!手把手教你为RS485接口选配TVS、GDT和TBU(附IEC标准解读)
  • 当自监督学习遇上OoD检测:不用人工标注,用CSI和SSD算法发现数据中的‘未知数’
  • 别再为PDF乱码发愁!Elsevier投稿时LaTeX的.cls文件保姆级获取指南
  • 警惕技术术语虚构:MCP并非真实存在的LLM通信协议
  • 用Python的tifffile库搞定病理大图:从生成带金字塔的OME-TIFF到用QuPath流畅查看
  • 3Dmax ProOptimizer自动减面脚本避坑指南:解决‘Calculate’不执行和UV丢失问题
  • LCD屏冬天‘拖影’、黑色不纯还漏光?从液晶分子偏转速度聊透这些老毛病
  • STM32H7实战:如何为你的25MHz外部晶振配置出400MHz系统时钟(附性能测试对比)