ジョシュ:
私たちは、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の外を実行するときには、すでに使用しているのと同じ相対パスを使用するファイルをマウントすることができるように。