SonarQube部署
SonarQube部署
步骤1:准备数据存储
- 进入项目-存储-存储卷,创建新的存储:
- 下一步配置存储容量信息:
- 下一步,高级设置默认即可,完成创建。
步骤2:部署sonarqube服务
- 进入项目-应用负载-服务,创建新的服务,选择无状态服务,输入名称等信息:
- 下一步添加容器,本步骤需要添加两个容器:
容器1:postgresql,输入镜像名称、容器名称,并点击使用默认端口:
添加环境变量和选择同步时区,环境变量具体内容如下:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
保存,继续添加下一个容器。
容器2:sonarqube,输入镜像名称、容器名称,并点击使用默认端口:
添加环境变量和选择同步时区,环境变量具体内容如下:
SONAR_JDBC_URL: jdbc:postgresql://localhost:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
保存,容器添加完成,点击下一步。
- 存储卷设置
点击挂载存储卷,选择步骤1中创建好的存储卷,选择读写方式,输入挂载目录及子路径:
挂载目录和子路径的对应关系如下:
容器 | 挂载目录 | 子路径 |
---|---|---|
postgres | /var/lib/postgresql | postgresql |
postgres | /var/lib/postgresql/data | postgresql_data |
sonarqube | /opt/sonarqube/data | sonarqube_data |
sonarqube | /opt/sonarqube/extensions | sonarqube_extensions |
sonarqube | /opt/sonarqube/logs | sonarqube_logs |
因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:访问验证
- 开通外部访问
进入刚部署的服务中,在更多操作中点击编辑外部访问,选择NodePort方式,保存:
- 访问方式
- 内网访问:也就是从其他容器访问,使用内网域名+内网端口;
- 外部访问:从k8s集群外部访问,使用服务器IP+外网端口。