Настройка с помощью ConfigMaps и секретов
Вынесите конфигурацию модели и учётные данные за пределы приложения
«Настройка с помощью ConfigMaps и секретов» — бесплатный урок MLOps Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MLOps Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MLOps Academy содержит 4 уроков всего.
Не храните конфигурацию в образе
Встроенные в контейнер пути к моделям или пороги требуют пересборки при каждом изменении. Kubernetes позволяет внедрять конфигурацию во время выполнения. 🔧
ConfigMaps хранят обычные настройки
ConfigMap хранит пары ключ-значение, не содержащие секретов: имя модели, размер пакета, уровень ведения журнала. Один объект конфигурации могут читать многие поды.
apiVersion: v1
kind: ConfigMap
metadata:
name: model-config
data:
MODEL_NAME: "ranker-v3"
BATCH_SIZE: "32"Внедряйте как переменные окружения
Проще всего сопоставить ключи ConfigMap с переменными окружения. Ваш код на Python будет считывать os.environ так же, как локально.
Или монтируйте как файлы
Можно также смонтировать ConfigMap как том, превратив каждый ключ в файл. Это удобно для полноценных файлов конфигурации, которые загрузчик модели ожидает найти на диске.
Секреты предназначены для чувствительных данных
Токены API, пароли баз данных и учётные данные реестров должны храниться в объекте секрет, а не в ConfigMap. Идея та же, но кластер обрабатывает такие данные как конфиденциальные.
Base64 — это не шифрование
Значения секретов хранятся в кодировке base64, а это всего лишь кодирование, а не защита. Любой пользователь с правом чтения может их декодировать, поэтому тщательно ограничивайте доступ.
Шифруйте секреты при хранении
Для настоящей защиты включите шифрование при хранении в etcd или используйте внешний менеджер, например Vault. Одного base64 недостаточно, чтобы защитить учётные данные модели.
Безопасно используйте секрет
Монтируйте секрет как переменные окружения или файлы так же, как ConfigMap. Для токенов предпочтительнее файлы, поскольку переменные окружения могут попасть в журналы и дампы после сбоев.
envFrom:
- secretRef:
name: model-creds
- configMapRef:
name: model-configОдин источник, много подов
Обновите ConfigMap один раз — и каждый под, который его монтирует, сможет получить изменение. Однако для обновления значений, внедрённых как переменные окружения, потребуется перезапуск пода.
Перезапускайте для применения изменений окружения
Изменение значения, используемого как переменная окружения, не приводит к горячей перезагрузке. Запустите перезапуск развёртывания с постепенной заменой подов, чтобы они прочитали новую конфигурацию.
Отдельная конфигурация для каждой среды
Используйте по одному ConfigMap для каждой среды — разработки и эксплуатации. Один и тот же образ с разной конфигурацией позволяет продвигать модель без пересборки контейнера.
Быстрая проверка
Откуда сервису модели следует получать пароль базы данных?
Итоги
Используйте ConfigMap для обычных настроек, а секрет — для чувствительных данных, внедряйте оба объекта во время выполнения и перезапускайте поды для обновления значений из переменных окружения. ✅
Часто задаваемые вопросы
Урок «Настройка с помощью ConfigMaps и секретов» бесплатный?
Да — полный текст урока «Настройка с помощью ConfigMaps и секретов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MLOps Academy, подпишись на CoddyKit PRO. Курс MLOps Academy содержит 4 уроков всего.
Чему я научусь в уроке «Настройка с помощью ConfigMaps и секретов»?
Вынесите конфигурацию модели и учётные данные за пределы приложения Ты практикуешь MLOps Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать MLOps Academy?
Предыдущий опыт не требуется. MLOps Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Настройка с помощью ConfigMaps и секретов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке MLOps Academy?
Да. Каждый урок MLOps Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Модули, развёртывания и сервисы для моделей
- Запрос CPU, памяти и GPU
- Настройка с помощью ConfigMaps и секретов
- Запуск обучения как задания Kubernetes