Новое в k8s.
Попытка чтения значений из карты конфигурации на основе профиля.Моя карта конфигурации существует в пространстве имен по умолчанию.Но при весенней загрузке значения не отображаются.
Карта конфигурации выглядит следующим образом:
apiVersion: v1
kind: ConfigMap
metadata:
name: example-configmap-overriding-new-01
data:
application.properties: |-
globalkey = global key value
application-qa.properties: |-
globalkey = global key qa value
application-prod.properties: |-
globalkey = global key prod value
Карта конфигурации также создается в пространстве имен по умолчанию.
kubectl get configmap -n default
NAME DATA AGE
example-configmap-overriding-new-01 3 8d
MyФайл развертывания выглядит как
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-configmapk8testing
spec:
selector:
matchLabels:
app: demo-configmapk8testing
replicas: 1
template:
metadata:
labels:
app: demo-configmapk8testing
spec:
containers:
- name: demo-configmapk8testing
image: Path to image
ports:
- containerPort: 8080
args: [
"--spring.profiles.active=prod",
"--spring.application.name=example-configmap-overriding-new-01",
"--spring.cloud.kubernetes.config.name=example-configmap-
overriding-new-01",
"--spring.cloud.kubernetes.config.namespace=default",
"--spring.cloud.kubernetes.config.enabled=true"]
envFrom:
- configMapRef:
name: example-configmap-overriding-new-01
Но журнал весенней загрузки говорит: -
2019-07-02 22:10:38.092 WARN 1 --- [ main]
o.s.c.k.config.ConfigMapPropertySource : Can't read configMap with name:
[example-configmap-overriding-new-01] in namespace:[default]. Ignoring
2019-07-02 22:10:38.331 INFO 1 --- [ main]
b.c.PropertySourceBootstrapConfiguration : Located property source:
CompositePropertySource {name='composite-configmap', propertySources=
[ConfigMapPropertySource {name='configmap.example-configmap-overriding-new-
01.default'}]}
2019-07-02 22:10:38.420 INFO 1 --- [ main]
b.c.PropertySourceBootstrapConfiguration : Located property source:
SecretsPropertySource {name='secrets.example-configmap-overriding-new-
01.default'}
2019-07-02 22:10:38.692 INFO 1 --- [ main]
c.e.c.ConfigconsumerApplication : **The following profiles are
active: prod**
--some logs--
Injection of autowired dependencies failed; nested exception is
java.lang.IllegalArgumentException: **Could not resolve placeholder
'globalkey' in value "${globalkey}"**
Мой конфигурационный файл весенней загрузки выглядит как
@Configuration
public class ConfigConsumerConfig {
@Value(value = "${globalkey}")
private String globalkey;
// with getter and setters
}
My pom.xmlтакже имеет следующую зависимость:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-kubernetes-config</artifactId>
<version>1.0.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
Я использую Minikube на моей локальной машине.Я что-то здесь упускаю?
Может ли кто-нибудь поделиться здесь некоторыми данными.