Sobes.tech
Назад к вопросам
Senior
3

Как настроить переменные окружения в Spring Boot через Kubernetes (ConfigMap/Secrets)?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

В Kubernetes для передачи конфигурационных данных и секретов в Spring Boot приложение обычно используют ConfigMap и Secrets, которые монтируются как переменные окружения.

Чтобы настроить переменные окружения через ConfigMap/Secrets, нужно:

  1. Создать ConfigMap или Secret с нужными ключами и значениями.

Пример ConfigMap:

apiVersion: v1
kind: ConfigMap
metadata:
  name: app-config
data:
  SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/mydb
  SPRING_DATASOURCE_USERNAME: user
  1. В манифесте Deployment добавить эти данные в контейнер как переменные окружения:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: spring-app
spec:
  template:
    spec:
      containers:
      - name: app
        image: my-spring-app:latest
        envFrom:
        - configMapRef:
            name: app-config
        - secretRef:
            name: app-secrets
  1. В Spring Boot приложение переменные окружения автоматически подхватываются благодаря соглашению имен (например, SPRING_DATASOURCE_URL соответствует свойству spring.datasource.url).

Таким образом, можно централизованно управлять конфигурацией и секретами вне образа приложения, что удобно для разных сред и безопасно для чувствительных данных.