Azure SQL Managed Instance indirect verbonden met Azure Arc upgraden met behulp van de CLI
In dit artikel wordt beschreven hoe u een upgrade uitvoert van een met SQL beheerd exemplaar dat is geïmplementeerd op een indirect verbonden gegevenscontroller met Azure Arc met behulp van de Azure CLI (az
).
Vereisten
Hulpprogramma's installeren
Voordat u verder kunt gaan met de taken in dit artikel, installeert u:
De arcdata
extensieversie en de versie van de installatiekopieën zijn gerelateerd. Controleer of u de juiste arcdata
extensieversie hebt die overeenkomt met de versie van de installatiekopieën waarnaar u een upgrade wilt uitvoeren in het versielogboek.
Beperkingen
De Azure Arc-gegevenscontroller moet worden bijgewerkt naar de nieuwe versie voordat het beheerde exemplaar kan worden bijgewerkt.
Als Active Directory-integratie is ingeschakeld, moet de Active Directory-connector worden bijgewerkt naar de nieuwe versie voordat het beheerde exemplaar kan worden bijgewerkt.
Het beheerde exemplaar moet dezelfde versie hebben als de gegevenscontroller en Active Directory-connector voordat een gegevenscontroller wordt bijgewerkt.
Er is momenteel geen batch-upgradeproces beschikbaar.
Het beheerde exemplaar upgraden
Er kan eerst een droogloop worden uitgevoerd. De dry run valideert het versieschema en vermeldt welke exemplaren worden geüpgraded.
Voorbeeld:
az sql mi-arc upgrade --name <instance name> --k8s-namespace <namespace> --dry-run --use-k8s
De uitvoer is:
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>.
Algemeen gebruik
Tijdens een upgrade voor algemeen gebruik van SQL Managed Instance wordt de pod beëindigd en opnieuw ingericht op de nieuwe versie. Dit veroorzaakt een korte hoeveelheid downtime wanneer de nieuwe pod wordt gemaakt. U moet tolerantie inbouwen in uw toepassing, zoals logica voor opnieuw proberen van verbindingen, om minimale onderbrekingen te garanderen. Lees overzicht van de betrouwbaarheidspijler voor meer informatie over het ontwerpen van tolerantie en richtlijnen voor opnieuw proberen voor Azure Services.
Bedrijfskritiek
Tijdens een sql Managed Instance Bedrijfskritiek upgrade met meer dan één replica:
- De secundaire replicapods worden beëindigd en opnieuw ingericht op de nieuwe versie
- Nadat de replica's zijn bijgewerkt, voert de primaire failover uit naar een bijgewerkte replica
- De vorige primaire pod wordt beëindigd en opnieuw ingericht op de nieuwe versie en wordt een secundaire pod
Er is een kort moment van downtime wanneer de failover plaatsvindt.
Upgraden
Gebruik de volgende opdracht om het beheerde exemplaar bij te werken:
az sql mi-arc upgrade --name <instance name> --desired-version <version> --k8s-namespace <namespace> --use-k8s
Voorbeeld:
az sql mi-arc upgrade --name instance1 --desired-version v1.0.0.20211028 --k8s-namespace arc1 --use-k8s
Monitor
CLI
U kunt de voortgang van de upgrade controleren met de show
opdracht.
az sql mi-arc show --name <instance name> --k8s-namespace <namespace> --use-k8s
Uitvoer
In de uitvoer voor de opdracht worden de resourcegegevens weergegeven. De upgrade-informatie wordt weergegeven in de status.
Tijdens de upgrade State
wordt deze weergegeven Updating
en Running Version
is deze de huidige versie:
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
Wanneer de upgrade is voltooid, State
wordt deze weergegeven Ready
en Running Version
wordt deze de nieuwe versie:
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
Probleemoplossing
Wanneer de gewenste versie is ingesteld op een specifieke versie, probeert de bootstrapper-taak een upgrade uit te voeren naar die versie totdat deze slaagt. Als de upgrade is geslaagd, wordt de RunningVersion
eigenschap van de specificatie bijgewerkt naar de nieuwe versie. Upgrades kunnen mislukken voor scenario's zoals een onjuiste installatiekopieëntag, kan geen verbinding maken met register of opslagplaats, onvoldoende CPU of geheugen toegewezen aan de containers of onvoldoende opslag.
Voer de onderstaande opdracht uit om te zien of een van de pods een
Error
status heeft of een groot aantal herstarts heeft:kubectl get pods --namespace <namespace>
Als u gebeurtenissen wilt bekijken om te zien of er een fout is, voert u de opdracht uit
kubectl describe pod <pod name> --namespace <namespace>
Als u een lijst met de containers in de pods wilt ophalen, voert u de opdracht uit
kubectl get pods <pod name> --namespace <namespace> -o jsonpath='{.spec.containers[*].name}*'
Voer de opdracht uit om de logboeken voor een container op te halen
kubectl logs <pod name> <container name> --namespace <namespace>
Als u veelvoorkomende fouten wilt bekijken en problemen wilt oplossen, gaat u naar Bronnen voor probleemoplossing.