Upgrade přímo připojeného kontroleru dat Azure Arc pomocí rozhraní příkazového řádku

Tento článek popisuje, jak upgradovat přímo připojený kontroler dat s podporou Azure Arc pomocí Azure CLI (az).

Během upgradu kontroleru dat se můžou upgradovat části roviny řízení dat, jako jsou vlastní definice prostředků (CRD) a kontejnery. Upgrade kontroleru dat nezpůsobí výpadky datových služeb.

Prerequisites

Budete potřebovat přímo připojený kontroler dat se značkou imageTag v1.0.0_2021-07-30 nebo novější.

Pokud chcete zkontrolovat verzi, spusťte:

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

Install tools

Než budete moct pokračovat s úlohami v tomto článku, musíte nainstalovat:

Příklady v tomto článku používají hranaté závorky < ... > k identifikaci hodnot, které je třeba nahradit před spuštěním skriptu. Nahraďte závorky a hodnoty uvnitř závorek.

A verze rozšíření arcdata a verze image spolu souvisí. Check that you have the correct arcdata extension version that corresponds to the image version you want to upgrade to in the Version log.

Zobrazení dostupných obrázků a zvolení verze

Seznam dostupných imagí pro kontroler dat stáhněte následujícím příkazem:

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

Výše uvedený příkaz vrátí výstup podobný následujícímu příkladu:

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

Aktualizace řadiče dat

Tato část ukazuje, jak upgradovat přímo připojený kontroler dat.

Note

Některé úrovně a režimy datových služeb jsou obecně dostupné a některé jsou ve verzi Preview. Pokud nainstalujete služby GA a Preview na stejný kontroler dat, nebudete moct upgradovat. Chcete-li provést upgrade, odstraňte všechny instance databáze, které nejsou GA. You can find the list of generally available and preview services in the Release Notes.

Podporované cesty upgradu najdete v tématu Upgrade datových služeb s podporou Azure Arc.

Authenticate

Než začnete s upgradem kontroleru dat Azure Arc, budete se muset připojit k clusteru Kubernetes, autentizovat se a mít vybraný existující kontext Kubernetes.

kubectl config use-context <Kubernetes cluster name>

Aktualizace řadiče dat

Nejprve můžete provést suchý běh. Suché spuštění ověří, že registr existuje, schéma verze a autorizační token privátního úložiště (pokud se používá). Pokud chcete provést suchý běh, použijte parametr --dry-run v příkazu az arcdata dc upgrade. For example:

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

Výstup pro předchozí příkaz je:

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

Po upgradu rozšíření řadiče dat Arc spusťte příkaz az arcdata dc upgrade a zadejte značku image pomocí --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]

Sledujte stav aktualizace

Průběh upgradu můžete monitorovat pomocí rozhraní příkazového řádku.

CLI

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

Upgrade je dvoudílný proces. Nejprve se upgraduje kontroler a pak se upgraduje monitorovací systém. Po dokončení upgradu bude výstup následující:

Ready

Troubleshooting

Pokud je požadovaná verze nastavená na konkrétní verzi, úloha bootstrapperu se pokusí upgradovat na tuto verzi, dokud nebude úspěšná. Pokud upgrade proběhne úspěšně, RunningVersion vlastnost specifikace se aktualizuje na novou verzi. Upgrady můžou selhat ve scénářích, jako je nesprávná značka image, nejde se připojit k registru nebo úložišti, nedostatek procesoru nebo paměti přidělené kontejnerům nebo nedostatečné úložiště.

  1. Spuštěním následujícího příkazu zkontrolujte, jestli některý z podů zobrazuje Error stav nebo má velký počet restartování:

    kubectl get pods --namespace <namespace>
    
  2. Pokud se chcete podívat na události a zjistit, jestli došlo k chybě, spusťte

    kubectl describe pod <pod name> --namespace <namespace>
    
  3. Pokud chcete získat seznam kontejnerů v podech, spusťte příkaz

    kubectl get pods <pod name> --namespace <namespace> -o jsonpath='{.spec.containers[*].name}*'
    
  4. Pokud chcete získat protokoly kontejneru, spusťte příkaz

    kubectl logs <pod name> <container name> --namespace <namespace>
    

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