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.

Bijvoorbeeld:

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.

Upgrade

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

Problemen oplossen

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.

  1. 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>
    
  2. 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>
    
  3. 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}*'
    
  4. 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.