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:
- Vytvořte účet služby pro spuštění upgradu.
- Upgradujte bootstrapper.
- 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.
Požadavky
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, oc
pokud znáte tyto nástroje a Kubernetes yaml/json.
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ě.
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íží.