Uygulamam ip adresine göre banlanma gibi tehlikesi var(veri çekiyoruz), bu nedenle kubernetes içerisindeki her pod um ayrı bir public ip adres üzerinden istek atsın istiyorum. Bunun için en mantıklı çözümün deployment içerisinde çalışacak her bir pod ayrı node’ta dolayısıyla ayrı bir public ip(node ip adresi) ile kalkmış olmasını istiyorum.
Her bir node’a bir pod atayıp down olan node olması durumunda yeni bir node kalkana kadar tek node’ta iki pod kalkmasın, gerekirse pending te kalsın ve yeni node müsait olunca kalksın istiyorum. Bunun için yaptığım araştırmada en mantıklı çözümün podAntiAffinity olduğunu gördüm. Ancak yaptığım testlerde deployment ı ilk deploy ettiğimde podlar ayrı node larda kalksa da manuel olarak node sayısını azalttığımda bir node’ta birden fazla pod olduğunu gördüm.
Şuanki config aşağıdaki gibidir:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: tier
operator: In
values:
- spot
topologyKey: "kubernetes.io/hostname"
Bu kapsamda fikir verecek veya nokta çözüm sağlayabilecek olan varsa paylaşabilir