Как получить доступ к SonarQube с помощью прокси Kubernetes? - PullRequest
0 голосов
/ 28 мая 2018

Я хочу развернуть SonarQube в кластере Kubernetes.Веб-приложение SonarQube должно быть доступно только через прокси-сервер Kubernetes.Когда я пытаюсь получить доступ к веб-интерфейсу с адресом:

http://localhost:8001/api/v1/namespaces/sonar/services/sonar:80/proxy/sonar/

, я вижу экран загрузки sonarqube.Но веб-приложение пытается получить доступ к API с помощью запроса GET по адресу

http://localhost:8001/sonar/api/l10n/index?locale=de-DE

, который, конечно, недоступен.

Есть ли способ установить базовый адрес сервера?

Мое текущее развертывание:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: sonarqube
spec:
  replicas: 1
  template:
    metadata:
      name: sonarqube
      labels:
        name: sonarqube
    spec:
      containers:
        - image: sonarqube:latest
          args:
            - -Dsonar.web.context=/sonar
          name: sonarqube
          env:
            - name: SONARQUBE_JDBC_PASSWORD
              value: sonar
            - name: SONARQUBE_JDBC_URL
              value: jdbc:postgresql://sonar-postgres:5432/sonar
          ports:
            - containerPort: 9000
              name: sonarqube

Редактировать: веб-приложение правильно загружает стили и значки.

Мой сервисопределение:

apiVersion: v1
kind: Service
metadata:
  labels:
    name: sonar
  name: sonar
spec:
  ports:
    - name: http
      port: 80
      targetPort: 9000
      protocol: TCP
      name: sonarport
  selector:
    name: sonarqube

1 Ответ

0 голосов
/ 29 мая 2018

Прокси Kubernetes - не лучший способ доступа к веб-приложению SonarQube внутри кластера.

Вы можете установить базовый URL-адрес в свойстве sonar.core.serverBaseURL в файле sonar.properties на сервере, но яЯ не уверен, поможет ли это вам.В любом случае, это нестабильная конфигурация, которая во многих случаях будет нарушена - например, доступ с другого хоста.

Я настоятельно рекомендую вам использовать Ingress и некоторую аутентификацию, если вы хотите получить дополнительную защиту (попробуйте проверить Внешняя аутентификация для Nginx Ingress).Также вы можете использовать Port Forwarding на локальном компьютере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...