SonarQube + Kubernetes集群中的Postgresql连接被拒绝错误

时间:2020-04-07 12:12:25

标签: postgresql docker kubernetes sonarqube

sonar-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: sonarqube
spec:
  replicas: 1
  selector:
    matchLabels:
      app: sonarqube
  template:
    metadata:
      labels:
        app: sonarqube
    spec:
      containers:
        - image: 10.150.0.131/devops/sonarqube:1.0
          args:
            - -Dsonar.web.context=/sonar
          name: sonarqube
          env:
            - name: SONARQUBE_JDBC_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: postgres-pwd
                  key: password
            - name: SONARQUBE_JDBC_URL
              value: jdbc:postgresql://sonar-postgres:5432/sonar
          ports:
            - containerPort: 9000
              name: sonarqube

sonar-service.yaml

apiVersion: v1
kind: Service
metadata:
  labels:
    name: sonarqube
  name: sonarqube
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 9000
      name: sonarport
  selector:
    name: sonarqube

sonar-postgres-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: sonar-postgres
spec:
  replicas: 1
  selector:
    matchLabels:
      app: sonar-postgres
  template:
    metadata:
      labels:
        app: sonar-postgres
    spec:
      containers:
        - image: 10.150.0.131/devops/postgres:12.1
          name: sonar-postgres
          env:
            - name: POSTGRES_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: postgres-pwd
                  key: password
            - name: POSTGRES_USER
              value: sonar
          ports:
            - containerPort: 5432
              name: postgresport
          volumeMounts:
            # This name must match the volumes.name below.
            - name: data-disk
              mountPath: /var/lib/postgresql/data
      volumes:
        - name: data-disk
          persistentVolumeClaim:
            claimName: claim-postgres

sonar-postgresql-service.yaml

apiVersion: v1
kind: Service
metadata:
  labels:
    name: sonar-postgres
  name: sonar-postgres
spec:
  ports:
    - port: 5432
  selector:
    name: sonar-postgres

Kubernetes版本:1.18.0 Docker版本:19.03

**我在Sonarqube吊舱和Postgresql吊舱之间有连接问题。 我使用法兰绒网络插件。 您可以为该错误提供帮助吗?

Postgresql pod日志值不存在。

**

错误

enter image description here

2 个答案:

答案 0 :(得分:0)

尝试:

apiVersion: v1
kind: Service
metadata:
  labels:
    name: sonar-postgres
  name: sonar-postgres
spec:
  ports:
    - port: 5432
  selector:
    app: sonar-postgres

因为看起来您的选择器是错误的。与sonar-service.yaml相同的问题,将name更改为app,它应该可以工作。

答案 1 :(得分:0)

如果你在sql云服务上安装了postgresql,需要释放防火墙访问ip。为了验证这个问题,尝试添加 0.0.0.0/0 ip,它会释放一切,但放置正确的声纳 ip 是最好的解决方案