Udostępnij przez


Uaktualnianie pośrednio połączonego kontrolera danych usługi Azure Arc przy użyciu interfejsu wiersza polecenia

W tym artykule opisano, jak zaktualizować kontroler danych pośrednio połączony z obsługą Azure Arc za pomocą Azure CLI (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.

Prerequisites

Będziesz potrzebować pośrednio połączonego kontrolera danych z wersją imageTag v1.0.0_2021-07-30 lub nowszą.

Aby sprawdzić wersję, uruchom komendę:

kubectl get datacontrollers -n <namespace> -o custom-columns=BUILD:.spec.docker.imageTag

Install tools

Przed kontynuowaniem zadań w tym artykule należy zainstalować następujące elementy:

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.

Wersja arcdata rozszerzenia i wersja obrazu są powiązane. Check that you have the correct arcdata extension version that corresponds to the image version you want to upgrade to in the Version log.

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.

Note

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. You can find the list of generally available and preview services in the Release Notes.

Aby uzyskać obsługiwane ścieżki uaktualniania, zobacz Uaktualnianie usług danych z obsługą usługi Azure Arc.

Upgrade

Przed rozpoczęciem uaktualniania kontrolera danych usługi Azure Arc musisz nawiązać połączenie z klastrem Kubernetes, uwierzytelnić się w klastrze Kubernetes i wybrać istniejący kontekst Kubernetes.

Najpierw można przeprowadzić próbę testową. Przebieg suchy sprawdza, czy rejestr istnieje, schemat wersji i token autoryzacji repozytorium prywatnego (jeśli jest używany). Aby wykonać próbę na sucho, użyj parametru --dry-run w poleceniu az arcdata dc upgrade. For example:

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

Example:

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

Troubleshooting

Gdy żądana wersja zostanie ustawiona na określoną wersję, zadanie inicjujące podejmie próbę uaktualnienia do tej wersji, aż do pomyślnego zakończenia. 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 użycie nieprawidłowego tagu obrazu, brak możliwości nawiązania połączenia z rejestrem lub repozytorium, niewystarczająca ilość CPU lub pamięci przydzielonej do kontenerów, lub niewystarczająca ilość miejsca do magazynowania.

  1. Uruchom poniższe polecenie, aby sprawdzić, czy którykolwiek z zasobników wykazuje status Error lub ma dużą liczbę ponownych uruchomień:

    kubectl get pods --namespace <namespace>
    
  2. Aby sprawdzić dzienniki zdarzeń i zobaczyć, czy wystąpił błąd, uruchom polecenie

    kubectl describe pod <pod name> --namespace <namespace>
    
  3. Aby zobaczyć listę kontenerów w zasobnikach, uruchom polecenie

    kubectl get pods <pod name> --namespace <namespace> -o jsonpath='{.spec.containers[*].name}*'
    
  4. Aby pobrać dzienniki dla kontenera, uruchom

    kubectl logs <pod name> <container name> --namespace <namespace>
    

To view common errors and how to troubleshoot them go to Troubleshooting resources.