Configmap Kubernetes удаляет все содержимое существующего каталога - PullRequest
0 голосов
/ 05 апреля 2019

Я создал карту конфигурации и файл pod yaml.

Я пробовал несколько решений, но ни одно из них не помогло мне.

kubectl describe cm cf3
Name:         cf3
Namespace:    default
Labels:       <none>
Annotations:  <none>

Data
====
index.html:
----
hii im marimmo

Events:  <none

файл pod yaml

apiVersion: v1
kind: Pod
metadata:
  name: dapi-test-pod
spec:
  containers:
  - name: test-container
    image: manya97/manya_tomcat:0.1

  volumeMounts:
  - name: config-volume
    mountPath: /apache-tomcat-8.0.32/webapps/SampleWebApp/index.html
    subPath: index.html
volumes:
- name: config-volume
  configMap:
          name: cf3

restartPolicy: Never

это должно было заменить существующий файл index.html, но каким-то образом он удаляет все содержимое SampleWebApp и размещает только index.html.Я не знаю, сделал ли это правильно, я хочу заменить только содержимое index.html.Вполне возможно, что монтаж работает таким образом, я не знаю.

1 Ответ

1 голос
/ 06 апреля 2019

Монтирование всегда основано на каталоге. Таким образом, наличие монтирования в вашем файле yaml указывает k8s монтировать содержимое configMap (это может быть один или несколько файлов) в каталог.

Что бы ни было внутри каталога до того, как монтирование исчезнет.

Смотри официальную документацию здесь: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/

Есть подсказка: "Внимание: если в каталоге монтирования есть какие-то файлы, они будут удалены."

...