Share via


Sorun giderme kaynakları

Bu makalede Azure Arc özellikli veri hizmetleri için sorun giderme kaynakları tanımlanmaktadır.

Yüklenen

Azure Arc veri denetleyicisini direct kullanarak kubectlbağlantı modunda dağıttıysanız ve Log Analytics çalışma alanı kimlik bilgileri için bir gizli dizi oluşturmadıysanız, Veri Denetleyicisi CR'sinde (Özel Kaynak) aşağıdaki hata iletilerini görebilirsiniz:

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

Yukarıdaki hatayı düzeltmek için ve SharedAccessKey değerlerini içeren WorkspaceID Log Analytics Çalışma Alanı kimlik bilgileriyle aşağıdaki gibi bir gizli dizi oluşturun:

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

Ölçümlerin otomatik olarak yüklenmesini yapılandırdıysanız, doğrudan bağlı modda ve MSI için gereken izinler düzgün şekilde verilmediyse (Ölçümleri karşıya yükleme bölümünde açıklandığı gibi), günlüklerinizde aşağıdaki gibi bir hata görebilirsiniz:

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

Yukarıdaki hatayı düzeltmek için Azure Arc veri denetleyicisi uzantısının MSI'sini alın ve Ölçümleri karşıya yükleme bölümünde açıklandığı gibi gerekli rolleri verin.

Azure Arc veri denetleyicinizi doğrudan bağlı modda dağıttıysanız, Azure Arc veri denetleyicisi uzantısı MSI için kullanım bilgilerinizi karşıya yüklemek için gereken izinler otomatik olarak verilir. Otomatik karşıya yükleme işlemi izinlerle ilgili sorunlarla karşılaşırsa günlüklerinizde aşağıdaki gibi bir hata görebilirsiniz:

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

İzin sorununu çözmek için MSI'yi alın ve Ölçümleri karşıya yükleme bölümünde açıklandığı gibi gerekli rolleri verin).

Yükseltmeler

Yanlış görüntü etiketi

Yükseltmek için CLI kullanıyorsanız az ve yanlış bir görüntü etiketi geçirirseniz iki dakika içinde bir hata görürsünüz.

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

Podları görüntülediğinizde bootstrap iş durumunu olarak ErrImagePullgörürsünüz.

STATUS
ErrImagePull

Podu açıklarken göreceğiniz

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

Sorunu çözmek için doğru görüntü etiketi için Sürüm günlüğüne başvurun. Yükseltme komutunu doğru görüntü etiketiyle yeniden çalıştırın.

Kayıt defterine veya depoya bağlanılamıyor

Yükseltmeye çalışıyorsanız ve yükseltme işi bir hata oluşturmamış ancak on beş dakikadan uzun süre çalışıyorsa, podları izleyerek yükseltmenin ilerleme durumunu görüntüleyebilirsiniz. Çalıştır

kubectl get pods -n <namespace>

Podları görüntülediğinizde bootstrap iş durumunu olarak ErrImagePullgörürsünüz.

STATUS
ErrImagePull

Olayları görüntülemek için bootstrap iş podunu açıklama.

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

Podu açıklarken şunu belirten bir hata görürsünüz:

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

Görüntünüz özel bir kayıt defterinden dağıtıldıysa, bir yaml dosyası aracılığıyla yükseltmek için Kubernetes kullanıyorsanız ve yaml dosyası başvuruları özel kayıt defteri yerine mcr.microsoft.com. Sorunu çözmek için yükseltme işini iptal edin. Dağıtılan kayıt defterini bulmak için

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

Kayıt defterini ve depoyu göreceğiniz Containers.controller.Image dosyasını arayın. Bu değerleri yakalayın, yaml dosyanıza girin ve yükseltmeyi yeniden çalıştırın.

Yeterli kaynak yok

Yükseltmeye çalışıyorsanız ve yükseltme işi bir hata oluşturmamış ancak on beş dakikadan uzun süre çalışıyorsa, podları izleyerek yükseltmenin ilerleme durumunu görüntüleyebilirsiniz. Çalıştır

kubectl get pods -n <namespace>

Kapsayıcılardan bazılarının hazır olduğunu ancak hazır olmadığını gösteren bir pod arayın. Örneğin, bu metricsdb-0 podunun iki kapsayıcıdan yalnızca biri vardır:

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

Olayları görmek için podu açıklayın.

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

Olay yoksa kapsayıcı adlarını alın ve kapsayıcıların günlüklerini görüntüleyin.

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

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

Yetersiz CPU veya bellekle ilgili bir ileti görürseniz Kubernetes kümenize daha fazla düğüm eklemeli veya mevcut düğümlerinize daha fazla kaynak eklemelisiniz.

Türe göre kaynaklar

Senaryo: PostgreSQL sunucularında sorun giderme

Kibana ve Grafana kullanarak günlükleri ve ölçümleri görüntüleme

Senaryo: Azure portalında örneklerinizin envanterini görüntüleme