В документации о правилах сродства и анти-сродства для кубернетов есть практический пример использования вокруг веб-приложение и локальный кеш Redis.
- В развертывании Redis настроен PodAntiAffinity, чтобы планировщик не размещал реплики на одном узле.
- Развертывание веб-приложения имеет привязку к модулю, чтобы приложение было запланировано с модулем, в котором есть хранилище меток (Redis).
Чтобы подключиться к Redis из веб-приложения, нам нужно будет определить службу.
Вопрос: как мы уверены, что веб-приложение всегда будет использовать redis, который находится на одном и том же узле, а не на другом? Если я прочитал совместимость версий с Kubernetes v1.2 режим iptables для kube-proxy стал по умолчанию.
Чтение документации о режиме iptable для kube-proxy он говорит: по умолчанию, kube-proxy в режиме iptables выбирает серверную часть случайным образом.
Итак, я отвечу на вопрос: Нет, мы не можем быть уверены. Если вы хотите быть уверенным, поместите redis и webapp в один модуль?