Установленный том ConfigMap не обслуживается полностью - PullRequest
0 голосов
/ 21 ноября 2018

ASP.NET Core SPA с внешней конфигурацией в wwwroot / config / config.json

Содержимое config.json:

{
  "termsAndConditionsLink": "https://some-dev-url.with/legal/terms/"
}

Когда файл не перезаписываетсяConfigMap работает нормально, и я могу получить полное содержимое файла.

curl https://dev-app.com/config/config.json
{
  "termsAndConditionsLink": "https://some-dev-url.with/legal/terms/"
}

Когда данные ConfigMap монтируются по этому пути с томом, они не возвращаются полностью.

curl https://dev-app.com/config/config.json
{
  "termsAndCon

Файл присутствует в пакете:

pwd
/app/wwwroot/config

ls -la
total 12
drwxrwxrwx 3 root root 4096 Nov 20 08:48 .
drwxr-xr-x 6 root root 4096 Nov 20 08:46 ..
drwxr-xr-x 2 root root 4096 Nov 20 08:48 ..2018_11_20_08_48_02.390652870
lrwxrwxrwx 1 root root   31 Nov 20 08:48 ..data ->         ..2018_11_20_08_48_02.390652870
lrwxrwxrwx 1 root root   18 Nov 20 08:48 config.json -> ..data/config.json

cat config.json
{
  "termsAndConditionsLink": "https://some-dev-url.with/legal/terms/"
}

ConfigMap.yaml

kind: ConfigMap
apiVersion: v1
metadata:
  name: my-config
data:
  config.json: |-
    {
      "termsAndConditionsLink": "https://some-dev-url.with/legal/terms/"
    }

Deployment.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: my-app
  labels:
    ...
spec:
  template:
    metadata:
      labels:
        ...
    spec:
      containers:
        ...
          volumeMounts:
            - name: my-volume
              mountPath: /app/wwwroot/config
      volumes:
        - name: my-volume
          configMap:
            name: my-config

1 Ответ

0 голосов
/ 22 ноября 2018

Вы имеете в виду, что любые другие файлы в каталоге /app/wwwroot/config пропали при монтировании тома в этом месте из ConfigMap?

Вы пробовали проецируемый том:

volumes:
  - name: my-volume
    projected:
      sources:
      - configMap:
          name: my-config

РЕДАКТИРОВАТЬ: Для тех, кто может столкнуться с такой проблемой и не читать сообщения под сообщениями - после обмена сообщениями с @edbighead, другим предложением было использовать subPath вРазвертывание, чтобы оставить каталог конфигурации доступным для записи, так как монтирование тома ConfigMap доступно только для чтения:

mountPath: /app/wwwroot/config/config.json 
subPath: config.json

Это, очевидно, решило проблему .

...