Uppgradera Azure SQL Managed Instance indirekt anslutna Azure Arc med hjälp av CLI
Den här artikeln beskriver hur du uppgraderar en SQL Managed Instance som distribueras på en indirekt ansluten Azure Arc-aktiverad datakontrollant med hjälp av Azure CLI (az
).
Förutsättningar
Installera verktygen
Innan du kan fortsätta med uppgifterna i den här artikeln installerar du:
- Azure CLI (
az
) - Tillägget
arcdata
för Azure CLI
Tilläggsversionen arcdata
och avbildningsversionen är relaterade. Kontrollera att du har rätt arcdata
tilläggsversion som motsvarar den avbildningsversion som du vill uppgradera till i versionsloggen.
Begränsningar
Azure Arc-datastyrenheten måste uppgraderas till den nya versionen innan den hanterade instansen kan uppgraderas.
Om Active Directory-integrering är aktiverat måste Active Directory-anslutningsappen uppgraderas till den nya versionen innan den hanterade instansen kan uppgraderas.
Den hanterade instansen måste ha samma version som datakontrollanten och Active Directory-anslutningsappen innan en datakontrollant uppgraderas.
Det finns ingen batchuppgraderingsprocess tillgänglig just nu.
Uppgradera den hanterade instansen
En torr körning kan utföras först. Den torra körningen validerar versionsschemat och visar en lista över vilka instanser som ska uppgraderas.
Till exempel:
az sql mi-arc upgrade --name <instance name> --k8s-namespace <namespace> --dry-run --use-k8s
Följande utdata returneras:
Preparing to upgrade sql sqlmi-1 in namespace arc to data controller version.
****Dry Run****1 instance(s) would be upgraded by this commandsqlmi-1 would be upgraded to <version-tag>.
Generell användning
Under en SQL Managed Instance-Generell användning uppgradering avslutas podden och ometableras i den nya versionen. Detta orsakar en kort nedtid när den nya podden skapas. Du måste skapa återhämtning i ditt program, till exempel logik för återförsök av anslutningar, för att säkerställa minimala störningar. Läs Översikt över tillförlitlighetspelare för mer information om arkitekturens återhämtning och vägledning för återförsök för Azure Services.
Affärskritisk
Under en SQL Managed Instance-Affärskritisk uppgradering med mer än en replik:
- De sekundära replikpoddarna avslutas och återskapas i den nya versionen
- När replikerna har uppgraderats redundansväxlar den primära till en uppgraderad replik
- Den tidigare primära podden avslutas och ometableras i den nya versionen och blir en sekundär
Det finns en kort stunds stilleståndstid när redundansväxlingen inträffar.
Uppgradering
Om du vill uppgradera den hanterade instansen använder du följande kommando:
az sql mi-arc upgrade --name <instance name> --desired-version <version> --k8s-namespace <namespace> --use-k8s
Exempel:
az sql mi-arc upgrade --name instance1 --desired-version v1.0.0.20211028 --k8s-namespace arc1 --use-k8s
Monitor
CLI
Du kan övervaka uppgraderingens förlopp med show
kommandot .
az sql mi-arc show --name <instance name> --k8s-namespace <namespace> --use-k8s
Output
Utdata för kommandot visar resursinformationen. Uppgraderingsinformationen finns i Status.
Under uppgraderingen State
visas Updating
och Running Version
kommer att vara den aktuella versionen:
Status:
Log Search Dashboard: https://30.88.222.48:5601/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:sqlmi-1'))
Metrics Dashboard: https://30.88.221.32:3000/d/40q72HnGk/sql-managed-instance-metrics?var-hostname=sqlmi-1-0
Observed Generation: 2
Primary Endpoint: 30.76.129.38,1433
Ready Replicas: 1/1
Running Version: v1.0.0_2021-07-30
State: Updating
När uppgraderingen är klar State
visas Ready
och Running Version
blir den nya versionen:
Status:
Log Search Dashboard: https://30.88.222.48:5601/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:sqlmi-1'))
Metrics Dashboard: https://30.88.221.32:3000/d/40q72HnGk/sql-managed-instance-metrics?var-hostname=sqlmi-1-0
Observed Generation: 2
Primary Endpoint: 30.76.129.38,1433
Ready Replicas: 1/1
Running Version: <version-tag>
State: Ready
Felsökning
När den önskade versionen är inställd på en viss version försöker bootstrapper-jobbet uppgradera till den versionen tills den lyckas. Om uppgraderingen lyckas RunningVersion
uppdateras egenskapen för specifikationen till den nya versionen. Uppgraderingar kan misslyckas för scenarier som en felaktig avbildningstagg, det går inte att ansluta till registret eller lagringsplatsen, otillräcklig processor eller minne som allokerats till containrarna eller otillräcklig lagring.
Kör kommandot nedan för att se om någon av poddarna visar status
Error
eller har ett stort antal omstarter:kubectl get pods --namespace <namespace>
Om du vill titta på Händelser för att se om det finns ett fel kör du
kubectl describe pod <pod name> --namespace <namespace>
Om du vill hämta en lista över containrarna i poddarna kör du
kubectl get pods <pod name> --namespace <namespace> -o jsonpath='{.spec.containers[*].name}*'
Om du vill hämta loggarna för en container kör du
kubectl logs <pod name> <container name> --namespace <namespace>
Om du vill visa vanliga fel och felsöka dem går du till Felsöka resurser.