Zasoby rozwiązywania problemów
W tym artykule zidentyfikowano zasoby dotyczące rozwiązywania problemów z usługami danych z obsługą usługi Azure Arc.
Przesłane
Błędy związane z przekazywaniem dzienników
Jeśli kontroler danych usługi Azure Arc został wdrożony w direct
trybie łączności przy użyciu programu kubectl
i nie utworzył wpisu tajnego dla poświadczeń obszaru roboczego usługi Log Analytics, w pliku CR kontrolera danych (zasób niestandardowy) mogą zostać wyświetlone następujące komunikaty o błędach:
status": {
"azure": {
"uploadStatus": {
"logs": {
"lastUploadTime": "YYYY-MM-HHTMM:SS:MS.SSSSSSZ",
"message": "spec.settings.azure.autoUploadLogs is true, but failed to get log-workspace-secret secret."
},
Aby rozwiązać powyższy błąd, utwórz wpis tajny z poświadczeniami obszaru roboczego usługi Log Analytics zawierającymi WorkspaceID
element i w SharedAccessKey
następujący sposób:
apiVersion: v1
data:
primaryKey: <base64 encoding of Azure Log Analytics workspace primary key>
workspaceId: <base64 encoding of Azure Log Analytics workspace Id>
kind: Secret
metadata:
name: log-workspace-secret
namespace: <your datacontroller namespace>
type: Opaque
Błędy związane z przekazywaniem metryk w trybie bezpośredniego połączenia
Jeśli skonfigurowano automatyczne przekazywanie metryk, w trybie bezpośredniego połączenia i uprawnienia wymagane dla tożsamości usługi zarządzanej nie zostały prawidłowo przyznane (zgodnie z opisem w sekcji Przekazywanie metryk), może zostać wyświetlony błąd w dziennikach w następujący sposób:
'Metric upload response: {"error":{"code":"AuthorizationFailed","message":"Check Access Denied Authorization for AD object XXXXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX over scope /subscriptions/XXXXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX/resourcegroups/my-resource-group/providers/microsoft.azurearcdata/sqlmanagedinstances/arc-dc, User Tenant Id: XXXXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX. Microsoft.Insights/Metrics/write was not allowed, Microsoft.Insights/Telemetry/write was notallowed. Warning: Principal will be blocklisted if the service principal is not granted proper access while it hits the GIG endpoint continuously."}}
Aby rozwiązać powyższy problem, pobierz tożsamość usługi zarządzanej dla rozszerzenia kontrolera danych usługi Azure Arc i przyznaj wymagane role zgodnie z opisem w temacie Przekazywanie metryk.
Błędy związane z przekazywaniem użycia w trybie bezpośrednim połączenia
Jeśli kontroler danych usługi Azure Arc został wdrożony w trybie bezpośrednim połączonego, uprawnienia wymagane do przekazania informacji o użyciu zostaną automatycznie przyznane dla tożsamości usługi zarządzanej rozszerzenia kontrolera danych usługi Azure Arc. Jeśli proces automatycznego przekazywania napotka problemy związane z uprawnieniami, może zostać wyświetlony błąd w dziennikach w następujący sposób:
identified that your data controller stopped uploading usage data to Azure. The error was:
{"lastUploadTime":"2022-05-05T20:10:47.6746860Z","message":"Data controller upload response: {\"error\":{\"code\":\"AuthorizationFailed\",\"message\":\"The client 'XXXXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX' with object id 'XXXXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX' does not have authorization to perform action 'microsoft.azurearcdata/datacontrollers/write' over scope '/subscriptions/XXXXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX/resourcegroups/my-resource-group/providers/microsoft.azurearcdata/datacontrollers/arc-dc' or the scope is invalid. If access was recently granted, please refresh your credentials.\"}}"}
Aby rozwiązać problem z uprawnieniami, pobierz tożsamość usługi zarządzanej i przyznaj wymagane role zgodnie z opisem w temacie Przekazywanie metryk).
Uaktualnienia
Nieprawidłowy tag obrazu
Jeśli używasz az
interfejsu wiersza polecenia do uaktualnienia i przekazujesz nieprawidłowy tag obrazu, w ciągu dwóch minut zostanie wyświetlony błąd.
Job Still Active : Failed to await bootstrap job complete after retrying for 2 minute(s).
Failed to await bootstrap job complete after retrying for 2 minute(s).
Po wyświetleniu zasobników stan zadania uruchamiania jest wyświetlany jako ErrImagePull
.
STATUS
ErrImagePull
Gdy opiszesz zasobnik, zobaczysz
Failed to pull image "<registry>/<repository>/arc-bootstrapper:<incorrect image tag>": [rpc error: code = NotFound desc = failed to pull and unpack image
Aby rozwiązać ten problem, zapoznaj się z dziennikiem wersji odpowiedniego tagu obrazu. Uruchom ponownie polecenie uaktualniania przy użyciu poprawnego tagu obrazu.
Nie można nawiązać połączenia z rejestrem lub repozytorium
Jeśli próbujesz przeprowadzić uaktualnienie, a zadanie uaktualniania nie wygenerowało błędu, ale działa dłużej niż piętnaście minut, możesz wyświetlić postęp uaktualniania, obserwując zasobniki. Uruchom
kubectl get pods -n <namespace>
Po wyświetleniu zasobników stan zadania uruchamiania jest wyświetlany jako ErrImagePull
.
STATUS
ErrImagePull
Opisz zasobnik zadania uruchamiania, aby wyświetlić zdarzenia.
kubectl describe pod <pod name> -n <namespace>
Podczas opisywania zasobnika zostanie wyświetlony błąd informujący o błędzie
failed to resolve reference "<registry>/<repository>/arc-bootstrapper:<image tag>"
Jest to typowe, jeśli obraz został wdrożony z rejestru prywatnego, używasz platformy Kubernetes do uaktualnienia za pośrednictwem pliku yaml, a odwołanie do pliku yaml mcr.microsoft.com zamiast rejestru prywatnego. Aby rozwiązać ten problem, anuluj zadanie uaktualniania. Aby znaleźć wdrożony rejestr, uruchom polecenie
kubectl describe pod <controller in format control-XXXXX> -n <namespace>
Poszukaj pliku Containers.controller.Image, w którym zobaczysz rejestr i repozytorium. Przechwyć te wartości, wprowadź w pliku yaml i uruchom ponownie uaktualnienie.
Za mało zasobów
Jeśli próbujesz przeprowadzić uaktualnienie, a zadanie uaktualniania nie wygenerowało błędu, ale działa dłużej niż piętnaście minut, możesz wyświetlić postęp uaktualniania, obserwując zasobniki. Uruchom
kubectl get pods -n <namespace>
Wyszukaj zasobnik, który pokazuje, że niektóre kontenery są gotowe, ale nie — na przykład ten zasobnik metricsdb-0 ma tylko jeden z dwóch kontenerów:
NAME READY STATUS RESTARTS AGE
bootstrapper-848f8f44b5-7qxbx 1/1 Running 0 16m
control-7qxw8 2/2 Running 0 16m
controldb-0 2/2 Running 0 16m
logsdb-0 3/3 Running 0 18d
logsui-hvsrm 3/3 Running 0 18d
metricsdb-0 1/2 Running 0 18d
Opisz zasobnik, aby wyświetlić zdarzenia.
kubectl describe pod <pod name> -n <namespace>
Jeśli nie ma żadnych zdarzeń, pobierz nazwy kontenerów i wyświetl dzienniki dla kontenerów.
kubectl get pods <pod name> -n <namespace> -o jsonpath='{.spec.containers[*].name}*'
kubectl logs <pod name> <container name> -n <namespace>
Jeśli zostanie wyświetlony komunikat o niewystarczającej ilości procesora CPU lub pamięci, należy dodać więcej węzłów do klastra Kubernetes lub dodać więcej zasobów do istniejących węzłów.
Zasoby według typu
Scenariusz: Rozwiązywanie problemów z serwerami PostgreSQL
Wyświetlanie dzienników i metryk przy użyciu narzędzi Kibana i Grafana
Powiązana zawartość
Scenariusz: Wyświetlanie spisu wystąpień w witrynie Azure Portal