Мне нужен такой сценарий, чтобы в случае сбоя какого-либо узла мы могли добиться высокой доступности в этом
. Непосредственно создание модуля не рекомендуется.Допустим, что узел, на котором работает Pod, дает сбой, то Pod не перепланируется и служба недоступна.
Для HA (высокая доступность), абстракции более высокого уровня, такие как Deployments должен быть использован.При развертывании будет создан ReplicaSet, с которым будет связано несколько модулей.Таким образом, если узел, на котором работает Pod, дает сбой, то ReplicaSet автоматически перепланирует Pod на работоспособном узле, и вы получите HA.
Кроме того, должна быть балансировка нагрузки, чтобы запросы получалиодновременно направляется на другие узлы в кластере.
Создайте службу типа LoadBalancer для Развертывания, и входящие запросы будут автоматически перенаправлены на модули на разных узлах.В этом случае балансировщик нагрузки будет создан автоматически.И есть балансировка нагрузки, связанная с балансировщиком нагрузки.
Если вы не хотите использовать балансировщик нагрузки, тогда другой подход, хотя и немного более сложный и мощный, - это использование Ingress .Это также приведет к балансировке нагрузки между несколькими узлами.
Здесь - хорошая статья, объясняющая разницу между балансировщиком нагрузки и входом.
Все вышеупомянутые запросы адресованыпрямо или косвенно в документации K8S здесь .