Daramu
Home
  • 분류 전체보기 (109)
    • 네트워크 (15)
    • 클라우드 (23)
      • AWS (5)
      • Docker (2)
      • Kubernetes (4)
      • Istio (1)
      • Terraform (1)
      • fluent bit (4)
      • NCP (6)
    • 잡소리 (0)
    • 개발 (37)
      • 스프링 시큐리티(Security) (2)
      • 스프링 WebFlux (5)
      • Spring boot (11)
      • KeyCloak (9)
      • Frontend (6)
      • golang (4)
      • 기타 (0)
    • DevOps (17)
      • Kafka (4)
      • ArgoCD (5)
      • Jenkins (3)
      • Gitlab (5)
    • Devloper (4)
      • 자바JAVA (4)
    • Monitoring (11)
      • Prometheus+Grafana (2)
      • LGTM + Otel (3)
      • VictoriaMetrics Stack (6)
Home
  • 분류 전체보기 (109)
    • 네트워크 (15)
    • 클라우드 (23)
      • AWS (5)
      • Docker (2)
      • Kubernetes (4)
      • Istio (1)
      • Terraform (1)
      • fluent bit (4)
      • NCP (6)
    • 잡소리 (0)
    • 개발 (37)
      • 스프링 시큐리티(Security) (2)
      • 스프링 WebFlux (5)
      • Spring boot (11)
      • KeyCloak (9)
      • Frontend (6)
      • golang (4)
      • 기타 (0)
    • DevOps (17)
      • Kafka (4)
      • ArgoCD (5)
      • Jenkins (3)
      • Gitlab (5)
    • Devloper (4)
      • 자바JAVA (4)
    • Monitoring (11)
      • Prometheus+Grafana (2)
      • LGTM + Otel (3)
      • VictoriaMetrics Stack (6)
블로그 내 검색

Daramu

다람어의 블로그

  • 개발/Spring boot

    쿠버네티스에서 Spring boot application 파일 Secret으로 관리하기

    2026. 6. 8.

    by. Daramu

    쿠버네티스에서 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

    댓글

    관련글

    • NCP(Naver Cloud Platform) - Outbound Mailer 를 통한 SMS 발송하기 2026.06.08
    • Spring Boot PROD 운영환경으로 올리기: gateway 외에 서비스 2026.06.07
    • Spring Boot PROD 운영환경으로 올리기: Gateway 올리기 2026.06.07
    • Keycloak, React, Spring Boot 연동 : 연동 확인 2026.06.06
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Designed by Nana
블로그 이미지
Daramu

티스토리툴바