У меня есть развертывание k8s с 3-мя модулями, и я настроил службу NodePort для перенаправления SSH (порт 22) на три модуля. Все работает, как и ожидалось, но каждый раз, когда я в SSH, я получаю случайный пакет. Я хотел бы сделать его липким, чтобы я всегда получал один и тот же стручок, но я не уверен, возможно ли это.
Согласно документации , настройка sessionAffinity: ClientIP
, вероятно, не будет работать для NodePorts. Я не думаю, что externalTrafficPolicy: Local
будет работать, потому что вам нужно использовать сервис LoadBalancer. Я не думаю, что услуги LoadBalancer выполнимы для меня, потому что мне нужно создать сотни из них, и каждый LoadBalancer стоит денег и использует квоту.
Что меня интересует, так это то, возможно ли создать службу, которая указывает не на все 3 модуля в развертывании, а на ровно 1 модуль. Это помогло бы в моей ситуации. Я мог бы вручную прикрепить специальную метку к 1 стручку и установить селектор службы на эту метку, но мне кажется хрупким в случае, если стручок умирает и заменяется.