-
쿠버네티스에서 Spring Boot pod를 올려 사용하다보면 이런 생각이 들때가 있다.
기존 모놀리식버네티스에서 Spring Boot pod를 올려 사용하다보면 이런 생각이 들때가 있다.
기존 모놀리식에서는 application.yaml 파일은 한개의 파일로 존재하는게 불가피했는데, MSA환경에서는 comfigmap이나 secret같은 환경변수로 관리하고 싶어지는 법이다.
이때 어떻게 하면 관리가 가능한지에 대한 포스팅이다.
가령 DB 접속 정보를 secret으로 생성하고, 그 값을 Spring boot에서 사용한다고 가정해보곘다.
우선 secret을 생성한다. CLI나 yaml파일로 생성하면 된다.
apiVersion: v1 kind: Secret metadata: name: db-secret namespace: default type: Opaque stringData: DB_URL: "JDBC_DB_HOST_입력" DB_USERNAME: "DB_USER_입력" DB_PASSWORD: "DB_PASSWORD_입력"그리고 Spring Boot의 Deployment에 해당 Secret 사용을 명시한다.
containers: - name: your-container-name image: your-image ports: - containerPort: 8080 envFrom: - secretRef: name: db-secret그럼 Spring Boot에서 환경 변수로 Secret을 사용할 수 있게 되고, application.yaml 파일에 Secret의 key와 맞는 값을 넣으면 된다.
#application.yaml 중 일부 datasource: url: ${DB_URL} username: ${DB_USERNAME} password: ${DB_PASSWORD}이렇게 secret으로 application.yaml 환경 변수 주입 방법에 대해 알아보았다.
'개발 > Spring boot' 카테고리의 다른 글
NCP(Naver Cloud Platform) - Outbound Mailer 를 통한 SMS 발송하기 (0) 2026.06.08 Spring Boot PROD 운영환경으로 올리기: gateway 외에 서비스 (0) 2026.06.07 Spring Boot PROD 운영환경으로 올리기: Gateway 올리기 (0) 2026.06.07 Keycloak, React, Spring Boot 연동 : 연동 확인 (0) 2026.06.06 Keycloak, React, Spring Boot 연동: Notification 서비스 생성 (1) 2026.06.06 댓글
