는 Kubernetes 방법에 봄 부팅 응용 프로그램은 국제화 및 L10N을 지원하기위한 외부 message.properties 파일을 사용 하는가?

조쉬 :

우리는 Kubernetes에 배포 스프링 부팅 응용 프로그램이 있습니다. 우리는이 응용 프로그램에 국제화 기능을 추가하고 응용 프로그램 항아리 / 전쟁 외부 messages.properties 파일을 배치 할 수 있습니다. 나는 봄 부팅에 그렇게 할 수 있었다. 어떻게이 일을 할 때 내가는 Kubernetes에 배포 할 것인가? 나는 configmaps를 사용해야합니까? 다음은 코드입니다

@Configuration
public class AppConfig {
@Bean
public MessageSource messageSource() {
    ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
    //Path to the messages.properties files
    messageSource.setBasenames("file:/messages/messages", "classpath:messages");
    messageSource.setDefaultEncoding("UTF-8");
    messageSource.setCacheSeconds(60);
    return messageSource;
}
}
라이언 도슨 :

예는 ConfigMap 형이 작업을 수행 할 수 있습니다. 그것은 많은 외부 application.properties 파일을 액세스하는 것과 동일합니다. 첫째로 당신은 할 수 있습니다 파일에서 직접 ConfigMap 형을 만들 거나 만들 파일을 나타내는 ConfigMap 형을 :

apiVersion: v1
kind: ConfigMap
metadata:
  name: treasurehunt-config
  namespace: default
data:
  application.properties: |
    treasurehunt.max.attempts=5

그런 다음는 Kubernetes에 배포 당신은 만들 ConfigMap 형의 볼륨을 하고 당신이 외부 구성에 사용하는 디렉토리 아래에 포드에 그 마운트 :

          volumeMounts:
          - name: application-config
            mountPath: "/config"
            readOnly: true
      volumes:
      - name: application-config
        configMap:
          name: treasurehunt-config
          items:
          - key: application.properties
            path: application.properties

이 조각은에서 온 ConfigMap 형에서 볼륨을 장착의 예 들은 봄 부팅 사용 있도록 application.properties 파일에 대한 기본 외부 속성 파일 경로 의를 /config. 당신은 수 (가) 마운트의 YAML에 그 설정 이는 Kubernetes 외부에서 실행했을 때 이미 사용하고있는 것과 같은 상대 경로를 사용하는 파일을 탑재 할 수 있도록.

추천

출처http://43.154.161.224:23101/article/api/json?id=212792&siteId=1