11.3. ConfigMap PropertySource 사용
Kubernetes에는 구성을 애플리케이션에 전달하기 위한 ConfigMap 의 개념이 있습니다. Spring 클라우드 Kubernetes 플러그인은 ConfigMap
과의 통합을 통해 Spring Boot에서 구성 맵에 액세스할 수 있도록 합니다.
ConfigMap
PropertySource
가 활성화되면 애플리케이션 뒤에 이름이 지정된 ConfigMap
에 대한 Kubernetes를 찾습니다( spring.application.name
참조). 맵이 발견되면 해당 데이터를 읽고 다음을 수행합니다.
11.3.1. 개별 속성 적용 링크 복사링크가 클립보드에 복사되었습니다!
속성을 사용하여 스레드 풀 구성을 읽는 demo
라는 Spring Boot 애플리케이션이 있다고 가정하겠습니다.
-
pool.size.core
-
pool.size.max
이는 YAML 형식의 구성 맵으로 외부화할 수 있습니다.
11.3.2. application.yaml ConfigMap 속성 적용 링크 복사링크가 클립보드에 복사되었습니다!
개별 속성은 대부분의 경우 잘 작동하지만 경우에 따라 YAML이 더 편리합니다. 이 경우 application.yaml
이라는 단일 속성을 사용하고 YAML을 여기에 포함합니다.
11.3.3. application.properties ConfigMap 속성 적용 링크 복사링크가 클립보드에 복사되었습니다!
Spring Boot application.properties
파일의 스타일로 ConfigMap 속성을 정의할 수도 있습니다. 이 경우 application.properties
라는 단일 속성을 사용하고 그 내부의 속성 설정을 나열합니다.
11.3.4. ConfigMap 배포 링크 복사링크가 클립보드에 복사되었습니다!
ConfigMap을 배포하고 Spring Boot 애플리케이션에서 액세스할 수 있도록 하려면 다음 단계를 수행합니다.
절차
-
Spring Boot 애플리케이션에서 외부 구성 메커니즘을 사용하여 ConfigMap 속성 소스에 액세스합니다. 예를 들어
@Configuration
주석을 사용하여 Java 빈에 주석을 달면 ConfigMap에 의해 빈의 속성 값을 삽입할 수 있습니다. -
프로젝트의
bootstrap.properties
파일(또는bootstrap.yaml
파일)에서spring.application.name
속성을 ConfigMap의 이름과 일치하도록 설정합니다. 애플리케이션과 연결된 서비스 계정에 대한
보기
권한을 활성화합니다(기본적으로 기본 서비스 계정임).예를 들어
기본
서비스 계정에보기
권한을 추가하려면 다음을 수행합니다.oc policy add-role-to-user view system:serviceaccount:$(oc project -q):default -n $(oc project -q)
oc policy add-role-to-user view system:serviceaccount:$(oc project -q):default -n $(oc project -q)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow