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

Tento článek popisuje, jak upgradovat nepřímo připojený kontroler dat s podporou Služby 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).

Předpoklady

Budete potřebovat nepří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 nepří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.

Upgrade

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.

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 --desired-version <version> --k8s-namespace <namespace> --dry-run --use-k8s

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

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

Pokud chcete upgradovat kontroler dat, spusťte az arcdata dc upgrade příkaz a zadejte značku image pomocí --desired-versionpříkazu .

az arcdata dc upgrade --name <data controller name> --desired-version <image tag> --k8s-namespace <namespace> --use-k8s

Příklad:

az arcdata dc upgrade --name arcdc --desired-version v1.7.0_2022-05-24 --k8s-namespace arc --use-k8s

Výstup předchozího příkazu zobrazuje stav kroků:

Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
Creating service account: arc:cr-upgrade-worker
Creating cluster role: arc:cr-upgrade-worker
Creating cluster role binding: arc:crb-upgrade-worker
Cluster role binding: arc:crb-upgrade-worker created successfully.
Cluster role: arc:cr-upgrade-worker created successfully.
Service account arc:cr-upgrade-worker has been created successfully.
Creating privileged job arc-elevated-bootstrapper-job

Monitorování stavu upgradu

Upgrade je dvoudílný proces. Nejprve se upgraduje kontroler a pak se upgraduje zásobník monitorování. Průběh upgradu můžete monitorovat pomocí rozhraní příkazového řádku.

Rozhraní příkazového řádku

 az arcdata dc status show --name <data controller name> --k8s-namespace <namespace> --use-k8s

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íží.