【发布时间】:2020-03-02 02:11:50
【问题描述】:
我已经创建了名为 personservice 和 personservice-dev 的 2 个配置映射。
我正在使用配置文件 dev 运行 spring boot 应用程序,但它没有加载正确的配置映射。这是我在崩溃的 pod 的日志中看到的。
2019-11-05 16:29:37.336 INFO [personservice,,,] 7 --- [ main] b.c.PropertySourceBootstrapConfiguration : Located property source: CompositePropertySource {name='composite-configmap', propertySources=[ConfigMapPropertySource {name='configmap.personservice.default'}]}
2019-11-05 16:29:37.341 INFO [personservice,,,] 7 --- [ main] b.c.PropertySourceBootstrapConfiguration : Located property source: SecretsPropertySource {name='secrets.personservice.default'}
2019-11-05 16:29:37.445 INFO [personservice,,,] 7 --- [ main] c.person.PersonMicroServiceApplication : The following profiles are active: kubernetes,dev
Kubectl 获取配置图
部署文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: personservice
labels:
app: personservice
spec:
replicas: 1
selector:
matchLabels:
app: personservice
template:
metadata:
labels:
app: personservice
spec:
containers:
- name: personservice
image: microservice-k8s/personmicroservice-k8s:1.0
ports:
- containerPort: 8080
env:
- name: PROFILE
value: "dev"
- name: SERVER_PORT
value: "8080"
- name: ZIPKIN_URI
value: "http://172.19.27.145:9411"
引导程序:
spring:
application:
name: personservice
【问题讨论】:
-
您的部署配置未指定加载任何配置映射。 pod 规范应将 configmap 包含为卷或定义为变量
-
如何定义 configmap 的数据部分?
-
我以为那会是自动的cloud.spring.io/spring-cloud-static/spring-cloud-kubernetes/… 是不是不正确?我的意思是我已经定义了配置文件,并且 configmap 与应用程序具有相同的名称
标签: spring spring-boot kubernetes spring-cloud spring-cloud-kubernetes