首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Kubernetes Helm图上为SonarQube配置SMTP

在Kubernetes Helm图上为SonarQube配置SMTP
EN

Stack Overflow用户
提问于 2019-09-26 12:18:24
回答 1查看 1.1K关注 0票数 1

我想要在Kubernetes上自动部署SonarQube,所以目标是自动配置所有的东西。我成功地为舵图创建了一个values.yaml,它安装LDAP插件并使用DC配置它。但是当配置电子邮件设置,如SMTP主机的时候,他们似乎被忽视了。

已经尝试完全删除图表并重新安装它:

代码语言:javascript
复制
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属性是记录在案,它似乎可以工作:应用了其他属性,比如ldap,因为我可以在更新值之后使用LDAP登录。

我不确定这是否与k8s相关,因为其他人说它一般起作用。。我使用kubectl exec进入容器,查看生成的sonar.properties文件,看起来很好:

代码语言:javascript
复制
$ 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

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2019-10-09 11:55:30

您已经为声呐定义了图表,并在您的tls文件中配置了value.yaml。注意,根据sonarquebue的定义,您没有指定秘密名称,您的tls部分应该如下所示。请记住,您必须手动在正确的命名空间中创建此秘密。

配置tls的模板如下所示:

代码语言:javascript
复制
tls: []
# Secrets must be manually created in the namespace.
# - secretName: chart-example-tls
# hosts:
# - chart-example.local

So in your case this section should loks like this:

tls: []
# Secrets must be manually created in the namespace.
- secretName: your-secret-name
hosts:
- sonarqube-test.mycluster.internal

同时,在配置postgresql依赖项期间,您没有为postgreSQL指定用户、数据库、密码和端口,因为您选择使用此数据库而不是mySQL

下面是模板:

代码语言:javascript
复制
database:
type: "postgresql"
## Configuration values for postgresql dependency
## ref: https://github.com/kubernetes/charts/blob/master/stable/postgresql/README.md
postgresql:
# Enable to deploy the PostgreSQL chart
enabled: true
# To use an external PostgreSQL instance, set enabled to false and uncomment
# the line below:
# postgresServer: ""
# To use an external secret for the password for an external PostgreSQL
# instance, set enabled to false and provide the name of the secret on the
# line below:
# postgresPasswordSecret: ""
postgresUser: "sonarUser"
postgresPassword: "sonarPass"
postgresDatabase: "sonarDB"
# Specify the TCP port that PostgreSQL should use
service:
port: 5432

SMTP失败的最常见原因是出站邮件配置错误。必须在SMTP配置中引入以下参数:

  • SMTP主机
  • SMTP端口
  • SMTP用户名
  • SMTP密码
  • SMTP加密

检查这些参数是否是您的邮件提供商提供的参数。检查是否遵循了应用程序文档页中的“配置出站邮件设置”部分。

在您的情况下,您没有指定密码、用户名和端口。将折叠部分添加到sonar.properities定义中:

代码语言:javascript
复制
email.smtp_port.secured=port-name
email.smtp_secure_connection.secured=true
email.smtp_username.secured=your-username
email.smtp_password.secured=your-password

下一步:确保云环境允许SMTP端口中的流量。

为了避免大规模的垃圾邮件攻击,几个云不允许SMTP流量进入其默认端口。

  • Google平台不允许SMTP流量通过默认端口25、465或587
  • GoDaddy还阻止SMTP通信。

下面是与SMTP问题相关的文档的疑难解答:SMTP-问题。确保你没有他们中的一个。

如果有帮助,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58116666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档