Sdílet prostřednictvím


Upgrade nepřímo připojeného kontroleru dat s podporou Azure Arc pomocí nástrojů Kubernetes

Tento článek vysvětluje, jak upgradovat nepřímo připojený kontroler dat s podporou Azure Arc pomocí nástrojů Kubernetes.

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).

V tomto článku použijete soubor .yaml na:

  1. Vytvořte účet služby pro spuštění upgradu.
  2. Upgradujte bootstrapper.
  3. Upgradujte 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.

Předpoklady

Před zahájením upgradu kontroleru dat budete potřebovat:

  • Připojení ke clusteru Kubernetes a jeho ověření
  • Vybraný existující kontext Kubernetes

Potřebujete nepřímo připojený kontroler dat s řadičem dat nebo novějším imageTag: v1.0.0_2021-07-30 .

Instalace nástrojů

Pokud chcete upgradovat kontroler dat pomocí nástrojů Kubernetes, musíte mít nainstalované nástroje Kubernetes.

Příklady v tomto článku se používají kubectl, ale podobné přístupy je možné použít s jinými nástroji Kubernetes, jako je řídicí panel Kubernetes, nebo helm, ocpokud znáte tyto nástroje a Kubernetes yaml/json.

Instalace nástroje kubectl

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 <current-version>.
<available-version>
...

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 vybraný existující kontext Kubernetes.

Vytvoření účtu služby pro spuštění upgradu

Důležité

Vyžaduje oprávnění Kubernetes k vytvoření účtu služby, vazby role, role clusteru, vazby role clusteru a všech oprávnění RBAC udělených účtu služby.

Uložte kopii arcdata-deployer.yaml a nahraďte zástupný symbol {{NAMESPACE}} v souboru oborem názvů kontroleru dat, například: arc. Spuštěním následujícího příkazu vytvořte účet služby deployer s upraveným souborem.

kubectl apply --namespace arc -f arcdata-deployer.yaml

Upgrade bootstrapperu

Následující příkaz vytvoří úlohu pro upgrade bootstrapperu a souvisejících objektů Kubernetes.

Důležité

Soubor yaml v následujícím příkazu se ve výchozím nastavení mcr.microsoft.com/arcdata. Uložte kopii souboru yaml a v případě potřeby ji aktualizujte na jiný registr nebo úložiště.

kubectl apply --namespace arc -f https://raw.githubusercontent.com/microsoft/azure_arc/main/arc_data_services/upgrade/yaml/bootstrapper-upgrade-job.yaml

Upgrade kontroleru dat

Následující příkaz opraví značku image pro upgrade kontroleru dat.

kubectl apply --namespace arc -f https://raw.githubusercontent.com/microsoft/azure_arc/main/arc_data_services/upgrade/yaml/data-controller-upgrade.yaml

Monitorování stavu upgradu

Průběh upgradu můžete monitorovat pomocí kubectl.

kubectl

kubectl get datacontrollers --namespace <namespace> -w
kubectl get monitors --namespace <namespace> -w

Upgrade je dvoudílný proces. Nejprve se upgraduje kontroler a pak se upgraduje zásobník monitorování. Během upgradu můžete kubectl get monitors -n <namespace> -w zobrazit stav. Výstup bude:

NAME           STATUS     AGE
monitorstack   Updating   36m
monitorstack   Updating   36m
monitorstack   Updating   39m
monitorstack   Updating   39m
monitorstack   Updating   41m
monitorstack   Ready      41m

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