【发布时间】:2020-01-26 17:23:24
【问题描述】:
我想在 Kubernetes 上自动部署 SonarQube,因此目标是自动配置所有内容。我成功地为 helm chart 创建了一个values.yaml,用于安装 LDAP 插件并使用我们的 DC 对其进行配置。但是当configuring email settings like SMTP host 时,它们似乎被忽略了。
已经尝试彻底删除图表并重新安装:
helm delete --purge sonarqube-test
helm install stable/sonarqube --namespace sonarqube-test --name sonarqube-test -f values-test.yaml
尽管我设置了例如http.proxyHost 到我们的邮件服务器,部署这些 values.yaml 后 UI 中仍然是空的;
sonarProperties 属性是documented,它似乎可以工作:应用了来自 ldap 等其他属性,因为我可以在更新值后使用 LDAP 登录。
我不确定这是否与 k8s 相关,因为 other said it works generally。我使用kubectl exec进入容器并查看了生成的sonar.properties文件,看起来不错:
$ cat /opt/sonarqube/conf/sonar.properties
email.from=noreply@mydomain.com
email.fromName=SonarQube Test
email.prefix=[SONARQUBE Test]
email.smtp_host.secured=mymailserver.internal
sonar.security.realm=LDAP
sonar.updatecenter.activate=true
sonar.web.javaOpts=-Xmx2048m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -serversonarqube
还有一些 LDAP 的属性,如绑定用户等,我将其删除。
那么为什么更新图表后没有应用电子邮件设置,甚至在完全删除并重新部署后也不应用?
values.yaml
replicaCount: 1
image:
tag: 7.9-community
service:
type: ClusterIP
port: 80
ingress:
enabled: true
hosts:
- name: sonarqube-test.mycluster.internal
path: /
tls:
- hosts:
- sonarqube-test.mycluster.internal
persistence:
enabled: true
storageClass: nfs-client
accessMode: ReadWriteOnce
size: 10Gi
postgresql:
enabled: true
plugins:
install:
- "https://github.com/SonarSource/sonar-ldap/releases/download/2.2-RC3/sonar-ldap-plugin-2.2.0.601.jar"
sonarProperties:
sonar.web.javaOpts: "-Xmx2048m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -server"
sonar.security.realm: LDAP
ldap.url: "..."
# More ldap config vars ...
sonar.updatecenter.activate: true
email.smtp_host.secured: "mymailserver.internal"
email.fromName: "SonarQube Test"
email.from: "noreply@mydomain.com"
email.prefix: "[SONARQUBE Test]"
resources:
limits:
cpu: 4000m
memory: 8096Mi
requests:
cpu: 500m
memory: 3096Mi
【问题讨论】:
-
还有问题吗?你修好了吗?
-
@MaggieO 遗憾的是,我还没有解决方案来自动执行此操作。我目前的解决方法是手动设置它们并记录这些更改。
标签: kubernetes sonarqube properties-file