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:
- Interfejs wiersza polecenia platformy Azure (
az
) arcdata
Rozszerzenie interfejsu wiersza polecenia platformy Azure
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.
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.