Wpis z mikrobloga

#kubernetes Cześć mam pytanko dot. k8s, bo już zachodzę w głowę i skończyły mi się pomysły.
Mam taką sytuacje:
2 namespace: stage/prod
Każdy namespace: pod składający się z aplikacji nextjs i redis, pvc osobne dla redis/nextjs. serwis i config map. Obrazy z ktorego nextjs korzysta nie różnią się, dla proda jest świeższy obraz tej samej aplikacji o jeden nieznaczący commit
Deploymenty też dokładnie te same z tym, że deployment dla proda łączy się z serwisami dla proda tak samo dla staging. Config map też dokładnie taki sam
Problem: Staging uruchamia się normalnie, jest initializowany applikacja nextjs, i redis.
W prodzie - nextjs się uruchamia, ale redis - uruchamia się, i nagle z dupy jest zamykany kontener.
Zamknięty redis - errconnection refused dla aplikacji i deployment mi umiera dla proda.
Ma ktoś jakiś pomysł co mogę sprawdzić? Środowisko: Oracle OCI
  • 4
  • Odpowiedz
@lukaszwasyl: no przede wszystkim sprawdzić logi poda i logi eventów k8s.

kubectl get events --sort-by='.lastTimestamp'
i szukasz czy przypadkiem nie #!$%@?ło go np. na brakującym CPU/Pamięci itp. Powinieneś mieć wprost napisane.
A jak kontener w kółko się włącza/wyłącza, to sprawdź bardziej logi kontenera.
  • Odpowiedz
@lukaszwasyl: To znaczy że skończyło się miejsce na dysku na node. Ephemeral storage to jest głównie system plików kontenera i volume typu emptyDir. Możesz zwolnić miejsce na dysku, użyć większego dysku dla node albo używać volume który zarequestuje nowy dysk z clouda. Co do zwalniania miejsca to możesz poszukać jak wyczyścić nieużywane obrazy dla twojego container runtime. Ostatnio na node z k3s 20gb tak odzyskałem
  • Odpowiedz