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
stsh pg health orders-dbSvaret ä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.