在将sonarqube升级到不同的helm图时保留数据库



我目前使用helm部署了sonarqube应用程序,我最初使用的图表位于https://oteemo.github.io/charts.然而,这一点现在已经被否决,我现在希望使用https://SonarSource.github.io/helm-chart-sonarqube.在我以前部署的sonarqube中,有一个数据库中有数据。所以我的问题是,当我使用新的舵图再次部署sonarqube时,使用以下命令:

helm repo add sonarqube https://SonarSource.github.io/helm-chart-sonarqube
helm repo update
kubectl create namespace sonarqube
helm upgrade --install -n sonarqube sonarqube sonarqube/sonarqube

这会覆盖我数据库中作为旧helm版本一部分的数据吗?如果是,我应该采取哪些步骤来确保数据得到保存?

您可以在helm安装期间传递配置数据,如下所示:https://helm.sh/docs/intro/using_helm/#customizing-安装之前的图表

我从这里查看了您正在使用的sonarqube图表的来源:https://sonarsource.github.io/helm-chart-sonarqube/它有一个链接到这里的来源:https://github.com/SonarSource/helm-chart-sonarqube,具有支持持久性的values.yaml。有了这种支持,您要么需要创建自己的持久卷声明,然后使用如下--set命令:

helm upgrade --install -n sonarqube sonarqube sonarqube/sonarqube 
--set persistence.enabled=true,persistence.existingClaim=<your claim name>

或者,您需要在Kubernetes集群中创建一个默认的存储类,只需使用以下命令:

helm upgrade --install -n sonarqube sonarqube sonarqube/sonarqube 
--set persistence.enabled=true

如果您启用持久性,那么您的SonarQube数据将被保留,并且当pod或节点崩溃时,或者当您升级图表以使用新的SonarQube版本时,您将能够使用。