Как игнорировать ошибку MountVolume.SetUp не удалось для тома "cofigmap-volume": configmaps "configmap" не найден - PullRequest
0 голосов
/ 30 сентября 2019

Я смонтировал карту конфигурации в своем файле развертывания, но условно создал карту конфигурации с помощью команды oc create configmap во время развертывания. Есть ли способ, которым я мог бы смонтировать путь в моем deploy.yaml, но когда configmap там нет, он может игнорировать эту ошибку и вызывать модули любым способом.

Ответы [ 2 ]

0 голосов
/ 30 сентября 2019

Пожалуйста, обратитесь к ConfigMapVolumeSource и ValidatingWebhookConfiguration вы можете найти необязательный параметр:

Specify whether the ConfigMap or it's keys must be define

Поэтому, пожалуйста, попробуйте добавить "optional: true" в ваши тома configmap свойства:

volumes:
    - name: config-volume
      configMap:
        # Provide the name of the ConfigMap containing the files you want
        # to add to the container
        name: special-config
        optional: true

Примечание:

Ограничения :

Необходимо создать ConfigMap перед ссылкой на него в спецификации Pod (, если вы не пометите ConfigMap как «необязательный» ). Если вы ссылаетесь на ConfigMap, который не существует, Pod не запустится. Аналогично, ссылки на ключи, которых нет в ConfigMap, не позволяют запускать модуль.

Пожалуйста, дайте мне знать, если это помогло.

0 голосов
/ 30 сентября 2019

Запись CRD и CRD controller для вашего приложения может решить эту проблему. Вы можете развернуть yaml для вашего crd, контроллер проверит, существует ли configmap или нет. В зависимости от результата, controller изменит yaml deployment и развернет его.

...