Как объяснено в Создание ConfigMaps из каталогов и Создание ConfigMaps из файлов , когда вы создаете ConfigMap с использованием --from-file
, , имя файла становится ключом, хранящимся в данных раздел ConfigMap . Содержимое файла становится значением ключа.
Чтобы сделать так, как вы хотите, лучшим способом было бы создать yml, подобный этому
apiVersion: v1
kind: ConfigMap
metadata:
name: special-config
namespace: default
data:
SPECIAL_LEVEL: very
SPECIAL_TYPE: charm
, а затем применить его так:
kubectl create -f https://k8s.io/examples/configmap/configmap-multikeys.yaml
Когда модуль запускается, Команда ls /config
производит вывод ниже:
special.level
special.type
Как вы это сделали, следует сгенерировать файл с тем же именем, что и ваши исходные файлы, и внутри него содержимое файла.
Я сделал это оба пути недавно и лично; я действительно предпочитаю использовать метод каталога для хранения изображений при хранении их свойств в DB.
Главная причина: у Меня был клиент, которому я сделал веб-сайт для. На Webiste; был раздел Photo Gallery, который позволил пользователю загружать новые фотографии (который мог быть просмотрен от общедоступного сайта). Так как мой клиент не думал при оптимизации изображений перед загрузкой; *.jpg составлял более чем 1 МБ. Я действительно реализовывал способность обновить изображение (после того как это было сохранено к DB), но это должно было быть сделано одна запись за один раз.
Если это происходит при хранении изображений в каталоге, то файлы могут быть сохранены локально, оптимизированы и отложены на сервер.
Я пошел бы для папок. Больше гибкости, если у Вас заканчивается пространство устройства хранения данных (просто перемещают их в другой диск и переточку), больше гибкости с другими приложениями (например, Silverlight). Я только использовал бы DB для файлов, которые должны были быть безопасными.
Для любого нормального сайта Вы абсолютно хотите это как часть самого приложения сайта, не сохраненный в DB. Веб-сайт должен как можно больше быть сам содержавший для хранения этого портативным, и не добавляющий, что распространения в прямом и обратном направлениях к DB (даже там, где кэширование) могут только быть хорошей вещью. Веб-серверы очень хороши в обслуживании файлов изображений.
Однако я лично работаю над приложением, где изображения динамично созданы и сделаны доступный для сайта через второе приложение управления. Очевидно они должны быть DB, поддержанным в некоторой форме для хранения изображений удобными в сопровождении и безопасными.
Короче говоря, где изображения имеют бизнес-возможность (т.е. они довольны, им нужна безопасность, или они являются динамичными), Вы оказываетесь перед необходимостью хранить их в DB. Где они статичны, и тривиальный позволяют веб-сайту быть веб-сайтом.
Две мысли об этом:
Используйте файловую систему. Но удостоверьтесь, что Вы разрабатываете свою схему достаточно хорошо, что любая папка не перегружается с изображениями, и это становится чем-то вроде кошмара для управления. Например, Вы можете дерево это с первыми или последними буквами идентификатора или последующей позиционной нотацией. Ваш пробег будет варьироваться, поэтому удостоверьтесь, что схема соответствует Вашему набору данных (изображения) размер. Никакая потребность перейти к подробным длинам, если Вы только управляете, скажем, 20 изображениями.
Используйте SQL Server 2008. Это имеет новый тип данных, названный filestream, в то время как сохранит образы к файловой системе, но позволит Вам получать его через стандартные запросы базы данных. См. http://msdn.microsoft.com/en-us/library/cc949109.aspx для получения дополнительной информации.
Это не эксклюзивный выбор, но по крайней мере, я рекомендовал бы опцию № 1 для чистого того, что Вы вытащите лучшую производительность из использования основанной схемы файловой системы вместо того, чтобы хранить и считать блобы из базы данных.
Я думаю, сохраняя образы в системных папках, лучший способ.
работа с DB и Запросами, которые Вы знаете, вызовет некоторые перегрузки, и DB transanctions обычно тяжелы, и это может поместить больше напряжения в Ваш сервер.
с путем u сохраняют образы в папках и просто помещают URL в DB, это более подходит для Ваших загрузок приложения.
но преимущество DB состоит в том, что Вы можете BackUp Ваши изображения.
Мое Предложение: сохраните свои Образы в папках. единственная потребность состоит в том, чтобы знать о системе операции ввода-вывода.
Подход, который я обычно использую, должен скопировать изображения в папку и сохранить относительные URL в базе данных. Оборотная сторона к этому подходу - то, что, если кто-то удалил изображения, Вы заканчиваете с "изображением, не найденным" в Ваших веб-страницах, если Вы не проверяете каждый раз, что Вы представляете страницу.
AFAIK, flickr.com поставляется с папками / файловым сервером, а также со ссылкой, метаданными и т. Д., Хранящимися в БД. См. Архитектура flickr
У меня был тот же вопрос для моего сайта также. Я решил использовать реализацию папки, потому что при использовании базы данных когда Вы хотите скопировать только рисунки Вы, shoul копируют целую базу данных..., с другой стороны, можно сохранить de структуру каталогов и сделать легкое резервное копирование.
Отдельные вещи мой друг, наилучшие пожелания!
Преимущество использования папок состоит в том, что у Вас не должно быть пользовательского обработчика, который выбирает те БЛОБЫ из базы данных и превращает их в обычные потоки. Также более просто разместить их от различных местоположений, и Вы избежите нагрузки на сервере базы данных.
Необходимо быть осторожны относительно хранения путей. Относительные пути работают лучше URL и позволят Вам некоторую гибкость и масштабирующийся в том, где Вы храните их, как Вы служите им и т.д.
Я пойду для обоих.
Во-первых, сохраните каждое изображение как столбец BLOB в базе данных. Таким образом можно быть, пребывают в уверенности, что изображение всегда включается в резервное копирование базы данных (предполагающий, что Вы делаете это).
Во-вторых, скопируйте файл в папку. Таким образом можно избежать от запроса базы данных (для файла изображения) каждый раз. Хранение в одной только папке может иметь последствия такой как
До сих пор все наши клиентские проекты проявляют тот же подход, и мы встретились с различными проблемами, но никакие загруженные файлы не потеряны. (Мы говорим о> 100 ГБ загруженных документов).
Отметьте, можно хотеть посмотреть на следующее:
Надеюсь, это поможет.