跳至主要內容

SonarQube部署


SonarQube部署

步骤1:准备数据存储

  1. 进入项目-存储-存储卷,创建新的存储:

img.png

  1. 下一步配置存储容量信息:

img_1.png

  1. 下一步,高级设置默认即可,完成创建。

步骤2:部署sonarqube服务

  1. 进入项目-应用负载-服务,创建新的服务,选择无状态服务,输入名称等信息:

img_2.png

  1. 下一步添加容器,本步骤需要添加两个容器:

容器1:postgresql,输入镜像名称、容器名称,并点击使用默认端口:

img_3.png

添加环境变量和选择同步时区,环境变量具体内容如下:

POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar

img_4.png

保存,继续添加下一个容器。

容器2:sonarqube,输入镜像名称、容器名称,并点击使用默认端口:

img_5.png

添加环境变量和选择同步时区,环境变量具体内容如下:

SONAR_JDBC_URL: jdbc:postgresql://localhost:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar

img_6.png

保存,容器添加完成,点击下一步。

  1. 存储卷设置

点击挂载存储卷,选择步骤1中创建好的存储卷,选择读写方式,输入挂载目录及子路径:

挂载目录和子路径的对应关系如下:

容器挂载目录子路径
postgres/var/lib/postgresqlpostgresql
postgres/var/lib/postgresql/datapostgresql_data
sonarqube/opt/sonarqube/datasonarqube_data
sonarqube/opt/sonarqube/extensionssonarqube_extensions
sonarqube/opt/sonarqube/logssonarqube_logs

img_7.png

因kubesphere当前版本对子路径功能支持有限,添加完第一个挂载并保存后,需要直接编辑配置文件,点击右上角的编辑YAML:

分别找到postgres和sonarqube容器对应的存储挂载配置,修改为服下内容:

            - name: volume-o23vxy
              mountPath: /var/lib/postgresql
              subPath: postgresql
            - name: volume-o23vxy
              mountPath: /var/lib/postgresql/data
              subPath: postgresql_data
            - name: volume-o23vxy
              mountPath: /opt/sonarqube/data
              subPath: sonarqube_data
            - name: volume-o23vxy
              mountPath: /opt/sonarqube/extensions
              subPath: sonarqube_extensions
            - name: volume-o23vxy
              mountPath: /opt/sonarqube/logs
              subPath: sonarqube_logs

其中,volume-o23vxy为自动生成的卷名称,根据实际情况修改。

然后点击创建,完成服务部署。

步骤3:访问验证

  1. 开通外部访问

进入刚部署的服务中,在更多操作中点击编辑外部访问,选择NodePort方式,保存:

img_8.png

  1. 访问方式
  • 内网访问:也就是从其他容器访问,使用内网域名+内网端口;
  • 外部访问:从k8s集群外部访问,使用服务器IP+外网端口。

img_9.png