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 (sql Managed Instance nebo server PostgreSQL).

Požadavky

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

Instalace nástrojů

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 hranaté závorky a hodnoty uvnitř závorek.

Souvisí arcdata s verzí rozšíření a verzí image. Zkontrolujte, jestli máte správnou arcdata verzi rozšíření odpovídající verzi image, na kterou chcete upgradovat v protokolu verzí.

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

Upgrade kontroleru dat

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

Poznámka:

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. Pokud chcete provést upgrade, odstraňte všechny instance databáze mimo ga. Seznam obecně dostupných služeb a služeb ve verzi Preview najdete v poznámkách k verzi.

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

Ověření

Budete se muset připojit ke clusteru Kubernetes a ověřit ho a mít před zahájením upgradu kontroleru dat Azure Arc vybraný existující kontext Kubernetes.

kubectl config use-context <Kubernetes cluster name>

Upgrade kontroleru 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é spuštění, použijte --dry-run parametr v az arcdata dc upgrade příkazu. Příklad:

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 az arcdata dc upgrade příkaz a zadejte značku image pomocí --desired-versionpříkazu .

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

Příklad:

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

Monitorování stavu upgradu

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

Rozhraní příkazového řádku

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

Upgrade je dvoudílný proces. Nejprve se upgraduje kontroler a pak se upgraduje zásobník monitorování. Po dokončení upgradu bude výstup následující:

Ready

Řešení problému

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>
    

Pokud chcete zobrazit běžné chyby a jak je vyřešit, přejděte k prostředkům pro řešení potíží.