而宿主机上的存储目录只提供了一个 /opt/ops_ceph_data/sonarqube/sonar_data,默认情况下,以上三个目录的数据都会存储在宿主机这一个目录下,这样就会造成数据混乱,没有办法区分某个数据文件或目录具体是哪个父目录下的。可以使用 subPath 配置解决这个问题,这个配置的功能就是在宿主机的挂载目录下创建一个子目录来存放对应目录的数据。
例如上面的 subPath 配置项分别创建了三个子目录:conf、data、extensions,那么在宿主机的挂载目录下显示的就是如下形式:
[@k8s-master1 ~]# ll /opt/ops_ceph_data/sonarqube/sonar_data/ 总用量 0 drwxrwxrwx 1 root root 0 10月 29 11:41 conf drwxrwxrwx 1 root root 2 10月 29 15:57 data drwxrwxrwx 1 root root 2 10月 29 16:01 extensions这三个子目录的名称可以随意指定,上面的 yaml 文件中 subPath 指定的子目录名称与容器中的目录名称一致是为了更方便的区分。如果将 subPath 的配置分别改为:sonar_conf、sonar_data、sonar_extensions,那么在宿主机挂载目录下显示的就会是如下形式:
[@k8s-master1 ~]# ll /opt/ops_ceph_data/sonarqube/sonar_data/ 总用量 0 drwxrwxrwx 1 root root 0 10月 29 11:41 sonar_conf drwxrwxrwx 1 root root 2 10月 29 15:57 sonar_data drwxrwxrwx 1 root root 2 10月 29 16:01 sonar_extensions 4. 访问 SonarQube 并安装插件SonarQube 部署完成后,可以通过任意 Node 节点的 IP 地址加上映射的端口访问。
默认的登录用户名和密码均为 admin。登录完成后,首先点击 Administration --> Marketplace ,在 Plugin 部分查找 chinese 插件和 Codehawk Java 进行安装。chinese 插件用于汉化界面,安装完成后需要重启服务(在页面上方会有提示)。