Uaktualnianie pośrednio połączonego kontrolera danych usługi Azure Arc przy użyciu interfejsu wiersza polecenia
W tym artykule opisano sposób uaktualniania pośrednio połączonego kontrolera danych z obsługą usługi Azure Arc przy użyciu interfejsu wiersza polecenia platformy Azure (az
).
Podczas uaktualniania kontrolera danych można uaktualnić części płaszczyzny sterowania danymi, takie jak niestandardowe definicje zasobów (CRD) i kontenery. Uaktualnienie kontrolera danych nie spowoduje przestoju usług danych (serwera SQL Managed Instance lub PostgreSQL).
Wymagania wstępne
Będziesz potrzebować pośrednio połączonego kontrolera danych z elementem imageTag v1.0.0_2021-07-30 lub nowszym.
Aby sprawdzić wersję, uruchom polecenie:
kubectl get datacontrollers -n <namespace> -o custom-columns=BUILD:.spec.docker.imageTag
Instalowanie narzędzi
Przed kontynuowaniem zadań w tym artykule należy zainstalować następujące elementy:
- Interfejs wiersza polecenia platformy Azure (
az
) arcdata
Rozszerzenie interfejsu wiersza polecenia platformy Azure
Przykłady w tym artykule używają nawiasów kątowych < ... >
do identyfikowania wartości, które należy zastąpić przed uruchomieniem skryptu. Zastąp nawiasy i wartości wewnątrz nawiasów kwadratowych.
Wersja arcdata
rozszerzenia i wersja obrazu są powiązane. Sprawdź, czy masz poprawną arcdata
wersję rozszerzenia odpowiadającą wersji obrazu, do której chcesz przeprowadzić uaktualnienie w dzienniku wersji.
Wyświetlanie dostępnych obrazów i wybieranie wersji
Pobierz listę dostępnych obrazów kontrolera danych za pomocą następującego polecenia:
az arcdata dc list-upgrades --k8s-namespace <namespace>
Powyższe polecenie zwraca dane wyjściowe, takie jak w poniższym przykładzie:
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
Uaktualnianie kontrolera danych
W tej sekcji pokazano, jak uaktualnić pośrednio połączony kontroler danych.
Uwaga
Niektóre warstwy i tryby usług danych są ogólnie dostępne, a niektóre są dostępne w wersji zapoznawczej. Jeśli instalujesz ogólnie dostępne usługi i usługi w wersji zapoznawczej na tym samym kontrolerze danych, nie możesz przeprowadzić uaktualnienia. Aby uaktualnić, usuń wszystkie wystąpienia bazy danych spoza ga. Listę ogólnie dostępnych usług i usług w wersji zapoznawczej można znaleźć w informacjach o wersji.
Aby uzyskać obsługiwane ścieżki uaktualniania, zobacz Uaktualnianie usług danych z obsługą usługi Azure Arc.
Uaktualnienie
Przed rozpoczęciem uaktualniania kontrolera danych usługi Azure Arc musisz nawiązać połączenie z klastrem Kubernetes i uwierzytelnić się w klastrze Kubernetes.
Najpierw można przeprowadzić suchy przebieg. Przebieg suchy sprawdza, czy rejestr istnieje, schemat wersji i token autoryzacji repozytorium prywatnego (jeśli jest używany). Aby wykonać suchy przebieg, użyj parametru --dry-run
w poleceniu az arcdata dc upgrade
. Na przykład:
az arcdata dc upgrade --desired-version <version> --k8s-namespace <namespace> --dry-run --use-k8s
Dane wyjściowe powyższego polecenia to:
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>
Aby uaktualnić kontroler danych, uruchom az arcdata dc upgrade
polecenie , określając tag obrazu za pomocą polecenia --desired-version
.
az arcdata dc upgrade --name <data controller name> --desired-version <image tag> --k8s-namespace <namespace> --use-k8s
Przykład:
az arcdata dc upgrade --name arcdc --desired-version v1.7.0_2022-05-24 --k8s-namespace arc --use-k8s
Dane wyjściowe poprzedniego polecenia pokazują stan kroków:
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
Monitorowanie stanu uaktualnienia
Uaktualnienie jest dwuczęściowym procesem. Najpierw kontroler zostanie uaktualniony, a następnie stos monitorowania zostanie uaktualniony. Postęp uaktualniania można monitorować za pomocą interfejsu wiersza polecenia.
CLI
az arcdata dc status show --name <data controller name> --k8s-namespace <namespace> --use-k8s
Po zakończeniu uaktualniania dane wyjściowe będą następujące:
Ready
Rozwiązywanie problemów
Gdy żądana wersja zostanie ustawiona na określoną wersję, zadanie programu inicjujące podejmie próbę uaktualnienia do tej wersji, dopóki nie zakończy się pomyślnie. Jeśli uaktualnienie zakończy się pomyślnie, RunningVersion
właściwość specyfikacji zostanie zaktualizowana do nowej wersji. Uaktualnienia mogą zakończyć się niepowodzeniem w scenariuszach, takich jak nieprawidłowy tag obrazu, nie można nawiązać połączenia z rejestrem lub repozytorium, niewystarczającą ilością procesora CPU lub pamięci przydzieloną do kontenerów lub niewystarczającą ilością miejsca do magazynowania.
Uruchom poniższe polecenie, aby sprawdzić, czy którykolwiek z zasobników ma
Error
stan lub ma dużą liczbę ponownych uruchomień:kubectl get pods --namespace <namespace>
Aby sprawdzić, czy wystąpił błąd, uruchom polecenie
kubectl describe pod <pod name> --namespace <namespace>
Aby uzyskać listę kontenerów w zasobnikach, uruchom polecenie
kubectl get pods <pod name> --namespace <namespace> -o jsonpath='{.spec.containers[*].name}*'
Aby pobrać dzienniki dla kontenera, uruchom polecenie
kubectl logs <pod name> <container name> --namespace <namespace>
Aby wyświetlić typowe błędy i sposoby ich rozwiązywania, przejdź do artykułu Rozwiązywanie problemów z zasobami.