Как подключить данные к постоянному хранилищу в Kubernetes и разделить хранилище между несколькими модулями?

Я новичок в Kubernetes и пытаюсь понять наиболее эффективный и безопасный способ обработки конфиденциальных сохраненных данных, которые взаимодействуют с модулем k8. Когда я запускаю модуль в кластере k8s, у меня есть следующие требования:

  • В пакете должно быть постоянное хранилище.
  • Данные внутри модуля должны быть постоянными, даже если модуль выйдет из строя или перезапустится.
  • Я должен иметь возможность легко добавлять или удалять данные из hostPath в модуль. (Не уверен, возможно ли это, поскольку я не знаю, как будут вести себя данные, если модуль запускается на новом узле в многоузловой среде. Все ли узлы имеют доступ к данным на одном и том же hostPath?)

В настоящее время я использую StatefulSets с постоянным требованием тома в GKE. Изображение, которое я использую, имеет несколько следующих ограничений:

  • Мне нужно смонтировать файл конфигурации в модуль перед его запуском. (В настоящее время я использую configmaps для передачи файла конфигурации)
  • Поднимающийся модуль создает свои собственные сертификаты TLS, которые мне нужно передать другим модулям. (В настоящее время у меня нет процесса для этого, и поэтому я вручную копировал вставку этих сертификатов в другие модули)

Итак, как мне поддерживать общее постоянное хранилище, которое обрабатывает конфиденциальные данные между несколькими модулями, и как добавить в это хранилище предварительно настроенные данные? Любые рекомендации или предложения приветствуются.


person goldentiger    schedule 10.09.2019    source источник


Ответы (1)


Я считаю, что эта документация по созданию постоянного диска с несколькими считывателями [1] - это то, что вы ищете. однако вы сможете только читать модули с диска, поскольку GCP не поддерживает "WRITEMANY".

Что касается путей к хостам, точка монтирования находится на модуле, а том - это каталог на узле. Я считаю, что путь к хосту ограничен отдельными узлами.

[1] https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/readonlymany-disks [2] https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-Mode

person Alexandre    schedule 10.09.2019
comment
Существуют и другие варианты хранения помимо постоянных дисков GCE, вы можете рассмотреть возможность использования хранилища nfs для резервного копирования ваших томов, поскольку они поддерживают чтение и запись. - person Patrick W; 12.09.2019