Использование OpenShift ConfigMaps в DeploymentConfigurations
В документации OpenShift для ConfigMaps ( https://docs.openshift.com/enterprise/3.2/dev_guide/configmaps.html) приведен только пример использования в модулях. Но можно ли использовать ConfigMaps также внутри DeploymentConfig?
Объявления параметров внутри Pods выглядят аналогично DeploymentConfig.
apiVersion: v1
kind: Pod
metadata:
name: dapi-test-pod
spec:
containers:
- name: test-container
image: gcr.io/google_containers/busybox
command: [ "/bin/sh", "-c", "env" ]
env:
- name: SPECIAL_LEVEL_KEY
valueFrom:
configMapKeyRef:
name: special-config
key: special.how
- name: SPECIAL_TYPE_KEY
valueFrom:
configMapKeyRef:
name: special-config
key: special.type
restartPolicy: Never
Оба используют env
имущество.
"spec": {
"containers": [
{
"env": [
{
"name": "PORT",
"value": "${MF-PORT}"
},
{
"name": "NODE_ENV",
"value": "${MF-ENVIRONMENT}"
}
],
1 ответ
Да, вы можете использовать ConfigMap
из DeploymentConfig
,
Если у вас уже есть развернутое приложение, вы можете добавить переменные окружения, установив их из карты конфигурации, с помощью команды:
oc set env dc/blog --from configmap/blog-settings
Вы можете увидеть, как это приводит к изменениям в конфигурации развертывания, выполнив вместо этого:
oc set env dc/blog --from configmap/blog-settings --dry-run -o json
Например, если карта конфигурации была изначально создана с использованием:
oc create configmap blog-settings \
--from-literal BLOG_BANNER_COLOR=blue \
--from-literal BLOG_SITE_NAME="My Blog"
это приведет к изменениям в конфигурации развертывания:
"env": [
{
"name": "BLOG_BANNER_COLOR",
"valueFrom": {
"configMapKeyRef": {
"name": "blog-settings",
"key": "BLOG_BANNER_COLOR"
}
}
},
{
"name": "BLOG_SITE_NAME",
"valueFrom": {
"configMapKeyRef": {
"name": "blog-settings",
"key": "BLOG_SITE_NAME"
}
}
}
],
Вы можете найти подробную информацию об использовании карт конфигурации и секреты в бесплатной электронной книге по OpenShift по адресу: