Delen via


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.

Prerequisites

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

Install tools

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. Check that you have the correct arcdata extension version that corresponds to the image version you want to upgrade to in the Version log.

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.

Note

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. You can find the list of generally available and preview services in the Release Notes.

Zie Gegevensservices met Azure Arc upgraden voor ondersteunde upgradepaden.

Authenticate

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. For example:

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]

Example:

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

Troubleshooting

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. Om een lijst van de containers in de pods op te halen, 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>
    

To view common errors and how to troubleshoot them go to Troubleshooting resources.