首页 > 其他分享 >六、sonarqube 安装部署

六、sonarqube 安装部署

时间:2024-01-26 11:01:41浏览次数:15  
标签:postgres 部署 sonarqube app sonar k8s 安装 name

安装postgres

PVC,PV 使用NFS 存储(NFS 服务部署方式自行查询)

# [root@master sonarqube]# more pvc.yaml 
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: postgres-pvc
  namespace: sonarqube-k8s
spec:
  resources:
    requests:
      storage: 20Gi
  accessModes:
  - ReadWriteMany
[root@master sonarqube]# more pv.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:
  name: sonarqube-k8s-pv
spec:
  capacity:
    storage: 50Gi
  accessModes:
  - ReadWriteMany
  nfs:
    server: 10.0.8.16 # NFS 服务器 IP
    path: /data/postgres

 

Deployment

[root@master sonarqube]# cat postgres.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: postgres-sonar
  namespace: sonarqube-k8s
  labels:
    app: postgres-sonar
    k8s.eip.work/name: postgres-sonar
    k8s.eip.work/layer: db
spec:
  replicas: 1
  selector:
    matchLabels:
      app: postgres-sonar
  template:
    metadata:
      labels:
        app: postgres-sonar
    spec:
      containers:
      - name: postgres-sonar
        image: docker.io/library/postgres:latest  #这里注意
        imagePullPolicy: Always
        ports:
        - containerPort: 5432
        env:
        - name: POSTGRES_DB
          value: sonar
        - name: POSTGRES_USER
          value: sonar
        - name: POSTGRES_PASSWORD
          value: sonar
        resources:
          limits:
            cpu: 1000m
            memory: 2048Mi
          requests:
            cpu: 500m
            memory: 1024Mi
        volumeMounts:
          - name: data
            mountPath: /var/lib/postgresql
      volumes:
        - name: data
          persistentVolumeClaim:
            claimName: postgres-pvc

 

Service

[root@master sonarqube]# cat postgres-service.yaml 
---
apiVersion: v1
kind: Service
metadata:
  name: postgres-service
  namespace: sonarqube-k8s
  labels:
    app: postgres-sonar
spec:
  type: NodePort
  ports:
  - port: 5432
    targetPort: 5432
    nodePort: 32333
  selector:
    app: postgres-sonar

安装sonarqube

PVC

[root@master sonarqube]# cat sonarqube-pv.yaml 
# 创建 sonarqube—pv
# sonarqube-pv.yaml 文件内容如下:
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: sonarqube2-k8s-pv
spec:
  capacity:
    storage: 50Gi
  accessModes:
  - ReadWriteMany
  nfs:
    server: 10.0.8.16
    path: /data/sonarqube
---
[root@master sonarqube]# cat sonarqube-pvc.yaml 
# 创建 sonarqube—pvc
# sonarqube-pvc.yaml 文件内容如下:
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: sonarqube2-pvc
  namespace: sonarqube-k8s
spec:
  resources:
    requests:
      storage: 20Gi
  accessModes:
  - ReadWriteMany
---

Deployment

[root@master sonarqube]# cat sonarqube.yaml 

apiVersion: apps/v1
kind: Deployment
metadata:
  name: sonarqube
  namespace: sonarqube-k8s
  labels:
    app: sonarqube
spec:
  replicas: 1
  selector:
    matchLabels:
      app: sonarqube
  template:
    metadata:
      labels:
        app: sonarqube
    spec:
      initContainers:
      - name: init-sysctl
        image: docker.io/library/busybox:latest
        imagePullPolicy: IfNotPresent
        command: ["sysctl", "-w", "vm.max_map_count=262144"]
        securityContext:
          privileged: true
      containers:
      - name: sonarqube
        #image: docker.io/library/sonarqube:latest
        image: docker.io/library/sonarqube:10.3-community
        ports:
        - containerPort: 9000
        env:
        - name: SONARQUBE_JDBC_USERNAME
          value: "sonar"
        - name: SONARQUBE_JDBC_PASSWORD
          value: "sonar"
        - name: SONARQUBE_JDBC_URL
          #value: "jdbc:postgresql://postgres-sonar:5432/sonarDB"
          #value: "jdbc:postgresql://10.106.136.97:5432/sonarDB"
          #value: "jdbc:postgresql://10.99.101.19:5432/sonar"
          value: "jdbc:postgresql://postgres-service:5432/sonar" # 这里注意postgres-service的Name
        livenessProbe:
          httpGet:
            path: /sessions/new
            port: 9000
          initialDelaySeconds: 60
          periodSeconds: 30
        readinessProbe:
          httpGet:
            path: /sessions/new
            port: 9000
          initialDelaySeconds: 60
          periodSeconds: 30
          failureThreshold: 6
        resources:
          limits:
            cpu: 2000m
            memory: 2048Mi
          requests:
            cpu: 1000m
            memory: 1024Mi
        volumeMounts:
        - mountPath: /opt/sonarqube/conf
          name: data
          subPath: conf
        - mountPath: /opt/sonarqube/data
          name: data
          subPath: data
        - mountPath: /opt/sonarqube/extensions
          name: data
          subPath: extensions
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: sonarqube2-pvc  

---
apiVersion: v1
kind: Service
metadata:
  name: sonarqube
  namespace: sonarqube-k8s
  labels:
    app: sonarqube
spec:
  type: NodePort
  ports:
    - name: sonarqube
      port: 9000
      targetPort: 9000
      nodePort: 30100
      protocol: TCP
  selector:
    app: sonarqube

 

执行安装

[root@master sonarqube]# kubectl apply -f .
service/postgres-service unchanged
deployment.apps/postgres-sonar configured
persistentvolume/sonarqube-k8s-pv unchanged
persistentvolumeclaim/postgres-pvc unchanged
persistentvolume/sonarqube2-k8s-pv unchanged
persistentvolumeclaim/sonarqube2-pvc unchanged
deployment.apps/sonarqube configured
service/sonarqube unchanged

查看安装进度

[root@master sonarqube]# kubectl get po,svc -n sonarqube-k8s -o wide
NAME                                  READY   STATUS    RESTARTS   AGE   IP            NODE    NOMINATED NODE   READINESS GATES
pod/postgres-sonar-8648d79496-8d8d4   1/1     Running   0          17m   10.244.1.82   node1   <none>           <none>
pod/sonarqube-c76d5d478-4v9d9         1/1     Running   0          17m   10.244.1.81   node1   <none>           <none>

NAME                       TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE   SELECTOR
service/postgres-service   NodePort   10.109.121.244   <none>        5432:32333/TCP   17m   app=postgres-sonar
service/sonarqube          NodePort   10.99.254.93     <none>        9000:30100/TCP   17m   app=sonarqube

 我这里使用的是NodePort 方式对外提供服务所以输入任何一Node节点IP+Port即 访问

 

 默认用户名密码 admin

 

标签:postgres,部署,sonarqube,app,sonar,k8s,安装,name
From: https://www.cnblogs.com/nb-blog/p/17988874

相关文章

  • CentOS 安装docker教程
    第一步执行sudoyuminstall-yyum-utils安装工具包执行后报错:adminisnotinthesudoersfile.Thisincidentwillbereported.解决办法:1>、进入超级用户模式。也就是输入"su-",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。2>、添加文件的写权......
  • github action 自动化部署asp.net core应用到服务器
    在自己的仓库里工作流编辑workflow贴上自己的工作流name:ASP.NETCoreDeploymenton:push:branches:-master#你可以根据需要更改分支名称(在向master分支推送的时候触发这个workflow)jobs:deploy:runs-on:ubuntu-latest#使用Ubuntu环......
  • jenkins2.346.3安装官方文档
    摘自:https://www.jenkins.io/zh/download/ 摘自:https://pkg.jenkins.io/debian-stable/ JenkinsDebianPackagesThisistheDebianpackagerepositoryofJenkinstoautomateinstallationandupgrade.Tousethisrepository,firstaddthekeytoyoursystem(for......
  • 使用docker部署编译环境并使用gitlab-ci实现代码自动打包
    使用docker部署编译环境并使用gitlab-ci实现代码自动打包一、需求1、需求描述实现代码git仓库提交能够自动编译出结果①需要一个编译环境能够共享编译:使用docker创建镜像来维护,创建完毕无需频繁修改②使用gitlab的ci进行持续继承,代码提交自动打包,ci中会使用①中的镜像作为运......
  • MySQL5 安装
    Custom安装选择模块自定义位置不同以往,此次可以将MySQL安装到C盘以外,这样更加便于分类管理。关闭更新MySQL默认自动会凌晨检查更新,因此关闭。......
  • shell安装powershell.exe
    #判断PowerShell是否已安装if["$OS"=="windows"];thenif!command-vpowershell.exe&>/dev/null;thenecho"PowerShell未安装,正在安装PowerShell..."#检查系统位数if["$(uname-m)"=="x86_64"......
  • “研学测”好帮手,三步带你安装体验TDH社区开发版
      星环科技TDH社区开发版,作为一款单机可部署、开箱即用的大数据基础平台产品,大幅降低了用户的资源成本和使用门槛。与此同时,TDH社区开发版兼顾此前TDH社区版(分布式)组件成熟、简单易用、易运维等特点,可以轻松、高效地完成科研教学、开发测试等数据分析需求。 “三步”安装......
  • # python3 安装Crypto包 出现No module named ‘Crypto‘和No module named ‘Crypto.
    python3安装Crypto包出现Nomodulenamed‘Crypto‘和Nomodulenamed‘Crypto.Util‘问题解决方法1.改成安装pycryptodome然而在python36中无法报错:error:MicrosoftVisualC++14.0orgreaterisrequired"2.改用Anaconda安装指定版本的pycryptodomepipins......
  • vue项目安装更新依赖时,npm install 卡住
    在代码安装或者更新依赖时,经常碰到npminstall以后很多种卡住的情况,记录部分1.版本不对可能电脑存在多个项目,多个node版本。安装使用nvm(node版本管理工具),1.安装,先把已安装的node下载掉https://nvm.uihtm.com/download.html(目前国内可下载)https:/......
  • win11配置linux子系统(wsl2安装并配置桌面)
    win11配置linux子系统(wsl2)wsl2和wslwsl2和wsl相比,有很大进步。不仅在内核上有所改进,而且对用户更加友好,linux生态更加完善。安装wsl2step1打开控制面板-程序-启动或关闭windows功能里,确保“适用于Linux的Windows子系统”是选中状态step2在应用商店搜索“Ubuntu”然后......