#kubernetes #persistent-volumes #aws-ebs
#kubernetes #постоянные тома #aws-ebs
Вопрос:
Я создаю Deployment с volumeMount, который ссылается на PersistentVolumeClaim вместе с запросом памяти в кластере с узлами в 3 разных AZS США-запад-2a, США-запад-2b и США-запад-2c.
Развертывание занимает некоторое время, пока PersistentVolume создается динамически, но в конечном итоге они оба запускаются.
Проблема, с которой я сталкиваюсь, заключается в том, что PersistentVolume создается в us-west-2c, и единственный узел, на котором может работать модуль, уже выделен.
Есть ли у меня способ создать развертывание и утверждение таким образом, чтобы утверждение не было сделано в регионе, где ни один модуль не может запуститься?
Комментарии:
1. Мой обходной путь на данный момент заключается в добавлении заражения к узлу, который чрезмерно выделен, и это, по-видимому, гарантирует, что утверждение и развертывание не окажутся на общедоступном компьютере. «kubectl заражает узлы ключом node1= значением:NoSchedule «
2. На мой взгляд, мне просто повезло, он снова создал том на us-west-2c, и у моего рабочего узла ec2 на us-west-2c была ошибка, но не повезло
Ответ №1:
Я полагаю, вы ищете функцию для понимания топологии.
Понимание топологии
В многозонных кластерах модули могут быть распределены по зонам в регионе. Серверные части хранилища с одной зоной должны быть подготовлены в зонах, где запланированы модули. Этого можно добиться, установив режим привязки тома.
Kubernetes выпустила функцию динамической подготовки с учетом топологии в версии 1.12 kubernetes, и я верю, что это решит вашу проблему.