Udostępnij za pośrednictwem


Uaktualnianie usługi Azure SQL Managed Instance pośrednio połączonej z usługą Azure Arc przy użyciu interfejsu wiersza polecenia

W tym artykule opisano sposób uaktualniania wystąpienia zarządzanego SQL wdrożonego na pośrednio połączonym kontrolerze danych z obsługą usługi Azure Arc przy użyciu interfejsu wiersza polecenia platformy Azure (az).

Wymagania wstępne

Instalowanie narzędzi

Przed kontynuowaniem zadań w tym artykule zainstaluj następujące elementy:

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.

Ograniczenia

Przed uaktualnieniem wystąpienia zarządzanego należy uaktualnić kontroler danych usługi Azure Arc do nowej wersji.

Jeśli integracja z usługą Active Directory jest włączona, należy uaktualnić łącznik usługi Active Directory do nowej wersji przed uaktualnieniem wystąpienia zarządzanego.

Wystąpienie zarządzane musi być w tej samej wersji co kontroler danych i łącznik usługi Active Directory przed uaktualnieniem kontrolera danych.

Obecnie nie ma dostępnego procesu uaktualniania wsadowego.

Uaktualnianie wystąpienia zarządzanego

Najpierw można wykonać suchy przebieg. Przebieg suchy weryfikuje schemat wersji i wyświetla listę wystąpień, które zostaną uaktualnione.

Na przykład:

az sql mi-arc upgrade --name <instance name> --k8s-namespace <namespace> --dry-run --use-k8s

Dane wyjściowe będą:

Preparing to upgrade sql sqlmi-1 in namespace arc to data controller version.
****Dry Run****1 instance(s) would be upgraded by this commandsqlmi-1 would be upgraded to <version-tag>.

Ogólnego przeznaczenia

Podczas uaktualniania usługi SQL Managed Instance Ogólnego przeznaczenia zasobnik zostanie zakończony i ponownie aprowizowany w nowej wersji. Spowoduje to krótki przestój podczas tworzenia nowego zasobnika. Aby zapewnić minimalne zakłócenia, należy utworzyć odporność w aplikacji, na przykład logikę ponawiania połączenia. Zapoznaj się z omówieniem filaru niezawodności, aby uzyskać więcej informacji na temat tworzenia architektury odporności i ponawiania prób dla usług platformy Azure.

Krytyczne dla działania firmy

Podczas uaktualniania usługi SQL Managed Instance Krytyczne dla działania firmy z więcej niż jedną repliką:

  • Zasobniki repliki pomocniczej są przerywane i ponownie aprowizowane w nowej wersji
  • Po uaktualnieniu replik podstawowa przejdzie w tryb failover do uaktualnionej repliki
  • Poprzedni zasobnik podstawowy został zakończony i ponownie aprowizowany w nowej wersji i staje się pomocniczym

Po przejściu w tryb failover następuje krótki czas przestoju.

Uaktualnienie

Aby uaktualnić wystąpienie zarządzane, użyj następującego polecenia:

az sql mi-arc upgrade --name <instance name> --desired-version <version> --k8s-namespace <namespace> --use-k8s

Przykład:

az sql mi-arc upgrade --name instance1 --desired-version v1.0.0.20211028 --k8s-namespace arc1 --use-k8s

Monitor

CLI

Postęp uaktualniania można monitorować za show pomocą polecenia .

az sql mi-arc show --name <instance name> --k8s-namespace <namespace> --use-k8s

Wyjście

Dane wyjściowe polecenia będą zawierać informacje o zasobie. Informacje o uaktualnieniu będą znajdować się w obszarze Stan.

Podczas uaktualniania State zostanie wyświetlona Updating Running Version i będzie bieżąca wersja:

Status:
  Log Search Dashboard:  https://30.88.222.48:5601/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:sqlmi-1'))
  Metrics Dashboard:     https://30.88.221.32:3000/d/40q72HnGk/sql-managed-instance-metrics?var-hostname=sqlmi-1-0
  Observed Generation:   2
  Primary Endpoint:      30.76.129.38,1433
  Ready Replicas:        1/1
  Running Version:       v1.0.0_2021-07-30
  State:                 Updating

Po zakończeniu State uaktualniania zostanie wyświetlona Ready nowa Running Version wersja:

Status:
  Log Search Dashboard:  https://30.88.222.48:5601/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:sqlmi-1'))
  Metrics Dashboard:     https://30.88.221.32:3000/d/40q72HnGk/sql-managed-instance-metrics?var-hostname=sqlmi-1-0
  Observed Generation:   2
  Primary Endpoint:      30.76.129.38,1433
  Ready Replicas:        1/1
  Running Version:       <version-tag>
  State:                 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.

  1. 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>
    
  2. Aby sprawdzić, czy wystąpił błąd, uruchom polecenie

    kubectl describe pod <pod name> --namespace <namespace>
    
  3. Aby uzyskać 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 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.