Jeśli stosujesz HPA lub ogólnie korzystasz z więcej niż 1 repliki swojego serwisu (choćbyś na sztywno wbił np. replicas: 3
bez HPA) to siłą rzeczy będziesz mieć wiele instancji.
Co do zasady wiele instancji może być pożądane z różnych względów:
- Żeby utrzymać dostępność aplikacji / serwisu nawet w przypadku, gdy jeden przestanie odpowiadać (zatka się, proces zostanie ubity lub zcrashuje, jesteś w trakcie rolling upgrade i instancje są kolejno wymieniane)
- Żeby móc obsłużyć większy ruch np dzięki replikacji lub partycjonowaniu
W obu przypadkach replikacja straciła by sens, gdyby odpowiedź była oczekiwana od każdej instancji, a nie od jednej (generalnie wybranej przez load balancer / reverse proxy, który rozkłada ruch na dostępne instancje).
Co prawda możesz pewnie skonfigurować LB lub reverse proxy tak, aby każde żądanie kierował do więcej niż jednej instancji, tylko zastanów się czy to ma sens, co miałbyś dzięki temu osiągnąć i jak zareaguje aplikacja gdy np. będzie dostawać zduplikowane żądania, które modyfikują dane lub jakkolwiek zmieniają stan, wywołują jakieś akcje i tak dalej (czy aplikacja jest idempotentna).
Co do zbierania logów z wielu instancji - tak, to bywa uciążliwe jak przekopujesz sobie logi bezpośrednio w dashboardzie lub konsoli k8s i próbujesz znaleźć np. dokąd trafiło konkretne żądanie. Ale zawsze możesz użyć agregatora logów, który dodatkowo pozwoli je przetwarzać ;) z tych które kojarzę Sumo Logic mnie nie urzekł, za to ostatnio zachłysnąłem się Datadog - IMO znacznie wygodniejszy i pozwala zbierać również logi i metryki w jednym miejscu