Sdílet prostřednictvím


Zdroje informací a materiály pro odstraňování potíží

Tento článek popisuje prostředky pro řešení potíží s datovými službami s podporou Azure Arc.

Obrázky

Pokud jste nasadili kontroler dat Azure Arc v direct režimu připojení pomocí kubectla nevytvořili tajný kód pro přihlašovací údaje pracovního prostoru služby Log Analytics, může se zobrazit následující chybová zpráva v CR kontroleru dat (vlastní prostředek):

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."
                    },

Pokud chcete výše uvedenou chybu vyřešit, vytvořte tajný kód s přihlašovacími údaji pracovního prostoru služby Log Analytics obsahujícími WorkspaceID následující přihlašovací SharedAccessKey údaje:

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

Pokud jste nakonfigurovali automatické nahrávání metrik, v režimu přímého připojení a oprávnění potřebná pro MSI nebyla správně udělena (jak je popsáno v metrikách nahrávání), může se v protokolech zobrazit chyba:

'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."}}

Pokud chcete vyřešit výše uvedenou chybu, načtěte MSI pro rozšíření kontroleru dat Azure Arc a udělte požadované role, jak je popsáno v metrikách nahrávání.

Pokud jste nasadili kontroler dat Azure Arc v režimu přímého připojení, oprávnění potřebná k nahrání informací o využití se automaticky udělí pro MSI rozšíření kontroleru dat Azure Arc. Pokud proces automatického nahrávání narazí na problémy související s oprávněními, může se v protokolech zobrazit chyba následujícím způsobem:

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.\"}}"}

Pokud chcete problém s oprávněními vyřešit, načtěte MSI a udělte požadované role, jak je popsáno v metrikách nahrávání).

Upgrady

Nesprávná značka obrázku

Pokud k upgradu používáte az rozhraní příkazového řádku a předáte nesprávnou značku obrázku, během dvou minut se zobrazí chyba.

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).

Při zobrazení podů uvidíte stav úlohy bootstrap jako ErrImagePull.

STATUS
ErrImagePull

Když popíšete pod, uvidíte

Failed to pull image "<registry>/<repository>/arc-bootstrapper:<incorrect image tag>": [rpc error: code = NotFound desc = failed to pull and unpack image 

Pokud chcete problém vyřešit, pro správnou značku image použijte protokol verzí. Znovu spusťte příkaz upgrade se správnou značkou image.

Nejde se připojit k registru nebo úložišti

Pokud se pokoušíte upgradovat a úloha upgradu nevygenerovala chybu, ale běží déle než patnáct minut, můžete průběh upgradu zobrazit sledováním podů. Spustit

kubectl get pods -n <namespace>

Při zobrazení podů uvidíte stav úlohy bootstrap jako ErrImagePull.

STATUS
ErrImagePull

Popište pod úlohy bootstrap pro zobrazení událostí.

kubectl describe pod <pod name> -n <namespace>

Když popíšete pod, zobrazí se chybová zpráva

failed to resolve reference "<registry>/<repository>/arc-bootstrapper:<image tag>"

To je běžné, pokud jste image nasadili z privátního registru, používáte Kubernetes k upgradu prostřednictvím souboru yaml a soubor yaml odkazuje mcr.microsoft.com místo privátního registru. Pokud chcete problém vyřešit, zrušte úlohu upgradu. Pokud chcete najít registr, ze který jste nasadili, spusťte příkaz

kubectl describe pod <controller in format control-XXXXX> -n <namespace>

Vyhledejte Kontejnery.controller.Image, kde uvidíte registr a úložiště. Zachyťte tyto hodnoty, zadejte do souboru yaml a spusťte upgrade znovu.

Nedostatek prostředků

Pokud se pokoušíte upgradovat a úloha upgradu nevygenerovala chybu, ale běží déle než patnáct minut, můžete průběh upgradu zobrazit sledováním podů. Spustit

kubectl get pods -n <namespace>

Vyhledejte pod, který ukazuje, že některé kontejnery jsou připravené, ale ne – například pod metricsdb-0 má pouze jeden ze dvou kontejnerů:

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

Popište pod, aby se zobrazily události.

kubectl describe pod <pod name> -n <namespace>

Pokud neexistují žádné události, získejte názvy kontejnerů a prohlédněte si protokoly kontejnerů.

kubectl get pods <pod name> -n <namespace> -o jsonpath='{.spec.containers[*].name}*'

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

Pokud se zobrazí zpráva o nedostatku procesoru nebo paměti, měli byste do clusteru Kubernetes přidat další uzly nebo přidat další prostředky do stávajících uzlů.

Prostředky podle typu

Scénář: Řešení potíží se servery PostgreSQL

Zobrazení protokolů a metrik pomocí Kibany a Grafany

Scénář: Zobrazení inventáře instancí na webu Azure Portal