Een rechtstreeks verbonden Azure Arc-gegevenscontroller upgraden met behulp van de CLI

In dit artikel wordt beschreven hoe u een rechtstreeks verbonden gegevenscontroller met Azure Arc kunt upgraden met behulp van de Azure CLI (az).

Tijdens een upgrade van een gegevenscontroller kunnen delen van het gegevensbeheervlak, zoals Aangepaste resourcedefinities (CRD's) en containers, worden bijgewerkt. Een upgrade van de gegevenscontroller veroorzaakt geen downtime voor de gegevensservices (SQL Managed Instance of PostgreSQL-server).

Vereisten

U hebt een rechtstreeks verbonden gegevenscontroller nodig met de imageTag v1.0.0_2021-07-30 of hoger.

Voer de volgende opdracht uit om de versie te controleren:

kubectl get datacontrollers -n <namespace> -o custom-columns=BUILD:.spec.docker.imageTag

Hulpprogramma's installeren

Voordat u verder kunt gaan met de taken in dit artikel, moet u het volgende installeren:

In voorbeelden in dit artikel worden punthaken < ... > gebruikt om waarden te identificeren die u moet vervangen voordat u het script uitvoert. Vervang de vierkante haken en de waarden tussen de haken.

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.

Beschikbare installatiekopieën weergeven en een versie kiezen

Haal de lijst met beschikbare installatiekopieën voor de gegevenscontroller op met de volgende opdracht:

az arcdata dc list-upgrades --k8s-namespace <namespace> 

Met de bovenstaande opdracht wordt uitvoer geretourneerd zoals in het volgende voorbeeld:

Found 2 valid versions.  The current datacontroller version is v1.0.0_2021-07-30.
v1.1.0_2021-11-02
v1.0.0_2021-07-30

Gegevenscontroller upgraden

In deze sectie wordt beschreven hoe u een rechtstreeks verbonden gegevenscontroller kunt upgraden.

Notitie

Sommige gegevensserviceslagen en -modi zijn algemeen beschikbaar en sommige zijn in preview. Als u GA- en preview-services op dezelfde gegevenscontroller installeert, kunt u geen upgrade uitvoeren. Als u een upgrade wilt uitvoeren, verwijdert u alle niet-GA-database-exemplaren. U vindt de lijst met algemeen beschikbare en preview-services in de releaseopmerkingen.

Zie Gegevensservices met Azure Arc upgraden voor ondersteunde upgradepaden.

Verifiëren

U moet verbinding maken met en verifiëren bij een Kubernetes-cluster en een bestaande Kubernetes-context hebben geselecteerd voordat u de upgrade van de Azure Arc-gegevenscontroller start.

kubectl config use-context <Kubernetes cluster name>

Gegevenscontroller upgraden

U kunt eerst een droogloop uitvoeren. De dry run valideert dat het register bestaat, het versieschema en het autorisatietoken voor de privéopslagplaats (indien gebruikt). Als u een droge uitvoering wilt uitvoeren, gebruikt u de --dry-run parameter in de az arcdata dc upgrade opdracht. Bijvoorbeeld:

az arcdata dc upgrade --resource-group <resource group> --name <data controller name> --desired-version <version> --dry-run [--no-wait]

De uitvoer voor de voorgaande opdracht is:

Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
****Dry Run****
Arcdata Control Plane would be upgraded to: <version-tag>

Nadat de Arc-extensie voor de gegevenscontroller is bijgewerkt, voert u de az arcdata dc upgrade opdracht uit en geeft u de afbeeldingstag op met --desired-version.

az arcdata dc upgrade --resource-group <resource group> --name <data controller name> --desired-version <version> [--no-wait]

Voorbeeld:

az arcdata dc upgrade --resource-group rg-arcds --name dc01 --desired-version v1.7.0_2022-05-24 [--no-wait]

De upgradestatus bewaken

U kunt de voortgang van de upgrade bewaken met CLI.

CLI

 az arcdata dc status show --resource-group <resource group>

De upgrade is een tweedelige procedure. Eerst wordt de controller bijgewerkt en vervolgens wordt de bewakingsstack bijgewerkt. Wanneer de upgrade is voltooid, is de uitvoer:

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.