Kubernetesどのように春ブーツのアプリケーションは、国際化とローカライゼーションをサポートするための外部message.propertiesファイルを使用するには?

ジョシュ:

私たちは、Kubernetesに展開されたスプリングブートアプリケーションを持っています。私たちは、このアプリケーションに国際化機能を追加し、アプリケーションのJAR /戦争外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=212794&siteId=1