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).
Požadavky
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:
- Azure CLI (
az
) - Rozšíření
arcdata
pro Azure CLI
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-version
pří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ě.
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>
Pokud se chcete podívat na události a zjistit, jestli došlo k chybě, spusťte
kubectl describe pod <pod name> --namespace <namespace>
Pokud chcete získat seznam kontejnerů v podech, spusťte příkaz
kubectl get pods <pod name> --namespace <namespace> -o jsonpath='{.spec.containers[*].name}*'
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íží.