Hoppa till innehållet
Stackship-dokumentation English

PostgreSQLAnvändareMaskinöversatt

Ta reda på varför ett kluster inte blir klart

Följ ett PostgreSQL-klusters operation instans för instans, kontrollera dess hälsa och agera på skälen plattformen anger för en instans som inte startar.

Kräver: postgrescluster/read

Följ operationen

Att skapa, starta, starta om och ändra ett kluster startar var och en en operation. Öppna klustrets flik Operations: operationen har ett steg per instans — Create instance 1 of 3, Start instance 2 of 3 — och ett sista steg som väntar på hela klustret, till exempel Wait for the cluster to report healthy. En omstart har ett enda steg, Restart 3 instance(s) (rolling). Se Operationer.

När en instans inte kommer upp säger det öppna steget varför — se tabellen nedan. Om problemet består misslyckas operationen med det skälet i stället för att vänta vidare.

Kontrollera hälsan

bash
stsh pg health orders-db

Svaret är healthy: true, eller false med ett skäl: klustret är stoppat, hur många instanser som är klara, operatorns egen status, eller samma skäl som operationen skulle ange. Via API:t: GET .../postgresclusters/<name>/health.

Vad skälen betyder

Plattformen säger Vad du gör
Pod … cannot be scheduled: … Ingen nod har CPU eller minne kvar för instansen. Välj en mindre plan, eller be plattformens driftansvariga om mer kapacitet.
Pod … cannot pull its image … Avbilden för versionen går inte att hämta. Kontrollera versionen du angav via API:t, eller fråga de driftansvariga om klustret når avbildsregistret.
Volume … is not bound … Lagringsklassen har inte skapat volymen. De driftansvariga behöver titta på lagringsleverantören.
Volume … has not grown from … to … Lagringsleverantören kan inte utöka volymen, oftast på grund av platsbrist. Tills den gör det tillämpar klustret inga andra ändringar alls. De driftansvariga behöver skapa utrymme hos lagringsleverantören.
Pod … keeps running out of memory (OOMKilled). Raise the memory limit. Byt till en större plan, eller höj Minnesgräns — se Justera resurser individuellt.
Pod … container … keeps exiting (CrashLoopBackOff …) PostgreSQL startar inte. En parameter du har angett är den vanliga orsaken; ångra den — se Ange PostgreSQL-parametrar.
Pod … container … cannot start (CreateContainerConfigError …) Instansens container kan inte sättas upp, oftast för att en Secret eller inställning den hänvisar till saknas. Fråga plattformens driftansvariga.
Pod … failed (…) Instansens pod har stannat för gott. Skälet inom parentes kommer från Kubernetes; fråga plattformens driftansvariga om det inte förklarar sig självt.

När du ändrar eller startar om ett kluster skapar plattformen om en instans som har fastnat som den är — på en avbild den inte kan hämta, i en kraschloop eller med en container den inte kan sätta upp — så att den nya konfigurationen gäller även för den. Klustrets Aktivitet registrerar då Recreated instance(s) … so the current configuration applies.

Ändringar som inte tillämpades helt

Vissa ändringar tillämpas bara delvis: en mindre lagringsstorlek, en annan lagringsklass, ett nytt databasnamn, att ta bort WAL-volymen, eller fler instanser eller mer lagring än leverantören har plats för. Plattformen behåller då det nuvarande värdet för den delen, genomför resten och säger det — API:t och CLI:t returnerar det i warnings.

Loggar

Portalen och CLI:t visar inte en databas loggar. När operationen, hälsokontrollen och aktiviteten inte förklarar ett problem kan plattformens driftansvariga läsa instansernas loggar i Kubernetes-klustret.