Odstranění serveru PostgreSQL s podporou služby Azure Arc
Tento dokument popisuje postup odstranění serveru z instalace Služby Azure Arc.
Poznámka:
Jako funkce ve verzi Preview platí, že technologie uvedená v tomto článku podléhá dodatečným podmínkám použití pro verze Microsoft Azure Preview.
Nejnovější aktualizace jsou k dispozici v poznámkách k verzi.
Odstranění serveru
Podívejme se například na to, že chceme odstranit instanci postgres01 z následujícího nastavení:
az postgres server-arc list --k8s-namespace <namespace> --use-k8s
Name State
---------- -------
postgres01 Ready
Obecný formát příkazu delete je:
az postgres server-arc delete -n <server name> --k8s-namespace <namespace> --use-k8s
Při spuštění tohoto příkazu budete požádáni o potvrzení odstranění serveru. Pokud k automatizaci odstranění používáte skripty, budete muset k obejití žádosti o potvrzení použít parametr --force. Například byste spustili příkaz podobný hle:
az postgres server-arc delete -n <server name> --force --k8s-namespace <namespace> --use-k8s
Další podrobnosti o příkazu delete získáte spuštěním příkazu:
az postgres server-arc delete --help
Odstranění serveru použitého v tomto příkladu
az postgres server-arc delete -n postgres01 --k8s-namespace <namespace> --use-k8s
Uvolnění deklarací trvalých svazků Kubernetes (PVC)
PersistentVolumeClaim (PVC) je požadavek na úložiště uživatelem z clusteru Kubernetes při vytváření a přidávání úložiště na server PostgreSQL. Odstraněním skupiny serverů nedojde k odebrání přidružených pvcs. Toto chování je úmyslné. Záměrem je pomoct uživateli získat přístup k souborům databáze v případě, že odstranění instance bylo nechtěné. Odstraňování deklarací identity trvalých svazků není povinné. Doporučuje se to ale. Pokud tyto pvcs neuvolníte, nakonec skončíte s chybami, protože cluster Kubernetes si myslí, že dochází místo na disku nebo využití stejného názvu serveru PostgreSQL při vytváření nové instance může způsobit nekonzistence. Pokud chcete získat zpět deklarace identity trvalých svazků, proveďte následující kroky:
1. Vypsat řadiče domény pro skupinu serverů, kterou jste odstranili
Pokud chcete zobrazit seznam pvcs, spusťte tento příkaz:
kubectl get pvc [-n <namespace name>]
Vrátí seznam pvcs, zejména pvcs pro skupinu serverů, kterou jste odstranili. Příklad:
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
data-few7hh0k4npx9phsiobdc3hq-postgres01-0 Bound pvc-72ccc225-dad0-4dee-8eae-ed352be847aa 5Gi RWO default 2d18h
data-few7hh0k4npx9phsiobdc3hq-postgres01-1 Bound pvc-ce6f0c51-faed-45ae-9472-8cdf390deb0d 5Gi RWO default 2d18h
data-few7hh0k4npx9phsiobdc3hq-postgres01-2 Bound pvc-5a863ab9-522a-45f3-889b-8084c48c32f8 5Gi RWO default 2d18h
data-few7hh0k4npx9phsiobdc3hq-postgres01-3 Bound pvc-00e1ace3-1452-434f-8445-767ec39c23f2 5Gi RWO default 2d15h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-0 Bound pvc-8b810f4c-d72a-474a-a5d7-64ec26fa32de 5Gi RWO default 2d18h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-1 Bound pvc-51d1e91b-08a9-4b6b-858d-38e8e06e60f9 5Gi RWO default 2d18h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-2 Bound pvc-8e5ad55e-300d-4353-92d8-2e383b3fe96e 5Gi RWO default 2d18h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-3 Bound pvc-f9e4cb98-c943-45b0-aa07-dd5cff7ea585 5Gi RWO default 2d15h
Pro tuto skupinu serverů je 8 pvcs.
2. Odstraňte všechny pvcs
Odstraňte data a protokoly PVCs pro server PostgreSQL, který jste odstranili.
Obecný formát tohoto příkazu je:
kubectl delete pvc <name of pvc> [-n <namespace name>]
Příklad:
kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-0
kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-1
kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-2
kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-3
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-0
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-1
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-2
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-3
Každý z těchto příkazů kubectl potvrdí úspěšné odstranění PVC. Příklad:
persistentvolumeclaim "data-postgres01-0" deleted
Poznámka:
Jak je uvedeno, odstranění pvcs může nakonec získat cluster Kubernetes v situaci, kdy dojde k chybám. Mezi tyto chyby může patřit nemožnost vytvářet, číst, aktualizovat, odstraňovat prostředky z rozhraní Kubernetes API nebo spouštět příkazy, jako az arcdata dc export
jsou pody kontroleru, může být kvůli tomuto problému s úložištěm vyřazeno z uzlů Kubernetes (normální chování Kubernetes).
V protokolech se můžou například zobrazovat zprávy podobné následujícímu:
Annotations: microsoft.com/ignore-pod-health: true
Status: Failed
Reason: Evicted
Message: The node was low on resource: ephemeral-storage. Container controller was using 16372Ki, which exceeds its request of 0.