Dela via


Översikt över distribution av en PostgreSQL-databas med hög tillgänglighet i Azure Kubernetes Service (AKS)

I den här guiden distribuerar du ett PostgreSQL-kluster med hög tillgänglighet som omfattar flera Azure-tillgänglighetszoner i AKS med Azure CLI.

Den här artikeln går igenom kraven för att konfigurera ett PostgreSQL-kluster i Azure Kubernetes Service (AKS) och ger en översikt över den fullständiga distributionsprocessen och arkitekturen.

Viktigt!

Programvara med öppen källkod nämns i AKS-dokumentationen och exempel. Programvara som du distribuerar undantas från AKS-serviceavtal, begränsad garanti och Azure Support. När du använder teknik med öppen källkod tillsammans med AKS kan du läsa supportalternativen som är tillgängliga från respektive community och projektunderhållare för att utveckla en plan.

Till exempel beskriver Ray GitHub-lagringsplatsen flera plattformar som varierar i svarstid, syfte och supportnivå.

Microsoft tar ansvar för att skapa de paket med öppen källkod som vi distribuerar på AKS. Det ansvaret omfattar att ha fullständigt ägarskap för bygg-, genomsöknings-, signerings-, validerings- och snabbkorrigeringsprocessen, tillsammans med kontroll över binärfilerna i containeravbildningar. Mer information finns i Sårbarhetshantering för AKS - och AKS-stödtäckning.

Förutsättningar

Utrullningsprocess

I den här guiden får du lära du dig att:

  • Använd Azure CLI för att skapa ett AKS-kluster med flera zoner.
  • Distribuera ett PostgreSQL-kluster och en databas med hög tillgänglighet med hjälp av CNPG-operatorn.
  • Konfigurera övervakning för PostgreSQL med Prometheus och Grafana.
  • Distribuera en exempeldatauppsättning till en PostgreSQL-databas.
  • Utför uppgraderingar av PostgreSQL- och AKS-kluster.
  • Simulera ett klusteravbrott och PostgreSQL-replikredundans.
  • Utför säkerhetskopiering och återställning av en PostgreSQL-databas.

Distributionsarkitektur

Det här diagrammet illustrerar en PostgreSQL-klusterkonfiguration med en primär replik och två läsrepliker som hanteras av Operatorn CloudNativePG (CNPG). Arkitekturen tillhandahåller en PostgreSQL med hög tillgänglighet som körs på ett AKS-kluster och som kan motstå ett zonavbrott genom att växla över till repliker.

Säkerhetskopior lagras i Azure Blob Storage, vilket ger ett annat sätt att återställa databasen i händelse av ett problem med strömmande replikering från den primära repliken.

Du kan välja att vara värd för PostgreSQL på AKS när du behöver fullständig kontroll över databaskonfiguration, tillägg och distributionsarkitektur. Det är idealiskt för att integrera nära med Kubernetes-inbyggda verktyg, optimera kostnader i stor skala och finjustera prestanda genom anpassad resursallokering, cachelagringsstrategier och lagringskonfigurationer som är skräddarsydda för din arbetsbelastning.

Arkitekturdiagram över CNPG Kubernetes-operatorn för självhosting av en PostgreSQL-databas med hög tillgänglighet på AKS.

Anteckning

För program som kräver dataavgränsning på databasnivå kan du lägga till fler databaser med postInitSQL-kommandon och liknande. Det går för närvarande inte att lägga till fler databaser på ett deklarativt sätt med CNPG-operatorn. Läs mer om CNPG-operatorn.

Överväganden för lagring

Den typ av lagring som du använder kan ha stora effekter på PostgreSQL-prestanda. Senare i den här guiden väljer du det alternativ som passar bäst för dina mål och prestandabehov.

Lagringstyp Kompatibel drivrutin Beskrivning
Premium SSD CSI-drivrutin för Azure Disks Maximal dataåterhämtning. Azure Premium SSD levererar högpresterande lagring och fungerar sömlöst med Azure Premium zone-redundant lagring (ZRS). Premium SSD etableras baserat på specifika storlekar, som var och en erbjuder vissa IOPS- och dataflödesnivåer.
Premium SSD v2 CSI-drivrutin för Azure Disks Bästa prisprestanda. Azure Premium SSD v2 erbjuder högre prestanda än Azure Premium-SSD:er samtidigt som det i allmänhet är billigare. Till skillnad från Premium SSD:er har Premium SSD v2 inte dedikerade storlekar. Du kan ställa in en Premium SSD v2 till önskad storlek som stöds och göra detaljerade justeringar av prestandan utan driftstopp. Azure Premium SSD v2-diskar har vissa begränsningar som du bör känna till. En fullständig lista finns i Begränsningar för Premium SSD v2.
Lokal NVMe eller temp SSD (tillfälliga diskar) Endast Azure Container Storage Maximal prestanda. Tillfälliga diskar är lokala NVMe och tillfällig SSD-lagring som är tillgänglig i utvalda VM-familjer. De erbjuder högsta möjliga svarstid för IOPS, dataflöde och undermillisekunder för ditt AKS-kluster. Du kan också dra nytta av tillfälliga diskars höga prestanda med hjälp av Azure Container Storage, en hanterad Kubernetes-lagringslösning som dynamiskt etablerar beständiga volymer för tillståndskänsliga arbetsbelastningar som PostgreSQL. Men eftersom dessa diskar finns på de lokala virtuella datorer som är värdar för klustret sparas inte data till en Azure Storage-tjänst. Därför går alla data som lagras på dessa diskar förlorade om klustret stoppas eller frigörs. För att åtgärda den här begränsningen visar senare avsnitt i den här guiden hur du konfigurerar regelbundna säkerhetskopior av dina PostgreSQL-data till Azure Blob Storage.

Nästa steg

Deltagare

Microsoft uppdaterar denna artikel. Följande deltagare skrev den ursprungligen:

  • Ken Kilty | Huvudansvarig TPM
  • Russell de Pina | Chef för TPM
  • Adrian Joian | Senior kundtekniker
  • Jenny Hayes | Senior innehållsutvecklare
  • Carol Smith | Senior innehållsutvecklare
  • Erin Schaffer | Innehållsutvecklare 2
  • Adam Sharif | Kundtekniker 2