Я пытаюсь развернуть экземпляр SonarQube в кластере Kubernetes, который использует экземпляр MySQL, размещенный в Amazon Relational Database Service (RDS).
Стандартное развертывание SonarQube со встроенной базой данных H2 уже успешно встал в моем кластере Kubernetes с ELB. Никаких проблем, кроме того факта, что это не предназначено для производства.
Экземпляр MySQL успешно остановлен, и я выполнил тестовый запрос с помощью команд SQL, используя имя пользователя и пароль что будет использовать SonarQube Kubernetes Pod. Это использует общедоступный хост AWS и порт 3306.
Чтобы перенаправить SonarQube для использования MySQL вместо H2 по умолчанию, я добавил следующую пару ключ-значение переменной среды в свой конфигурация развертывания (YAML).
spec:
containers:
- name: sonarqube2
image: sonarqube:latest
env:
- name: SONARQUBE_JDBC_URL
value: "jdbc:mysql://MyEndpoint.rds.amazonaws.com:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true"
ports:
- containerPort: 9000
В целях тестирования я использую имя пользователя и пароль по умолчанию "sonar / sonar", поэтому в настоящее время переопределять не нужно.
включение переменной окружения вызывает "CrashLoopBackOff". В противном случае стандартное развертывание SonarQube работает нормально. Официальный Docker Hub для SonarQube утверждает, что использует env vars для указания на другую базу данных. Пытаюсь сделать то же самое, просто стиль Kubernetes. Что я делаю не так?
==== Обновление: 1/9 ====
Проблема была решена. Смотрите комментарии ниже. SonarQube 7.9 и выше не поддерживает MySQL. Смотрите полный журнал ниже.
End of Life of MySQL Support : SonarQube 7.9 and future versions do not support MySQL.
Please migrate to a supported database. Get more details at
https://community.sonarsource.com/t/end-of-life-of-mysql-support
and https://github.com/SonarSource/mysql-migrator