Udostępnij za pośrednictwem


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

Jeśli kontroler danych usługi Azure Arc został wdrożony w direct trybie łączności przy użyciu programu kubectli 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

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.

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

Scenariusz: Wyświetlanie spisu wystąpień w witrynie Azure Portal