Pemecahan masalah sumber daya

Artikel ini mengidentifikasi pemecahan masalah sumber daya untuk layanan data dengan dukungan Azure Arc.

Upload

Jika Anda menyebarkan pengontrol data Azure Arc dalam direct mode konektivitas menggunakan kubectl, dan belum membuat rahasia untuk kredensial ruang kerja Log Analytics, Anda mungkin melihat pesan kesalahan berikut di CR Pengontrol Data (Sumber Daya Kustom):

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

Untuk mengatasi kesalahan di atas, buat rahasia dengan kredensial Ruang Kerja Analitik Log yang berisi WorkspaceID dan SharedAccessKey sebagai berikut:

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

Jika Anda mengonfigurasi pengunggahan metrik otomatis, dalam mode terhubung langsung dan izin yang diperlukan untuk MSI belum diberikan dengan benar (seperti yang dijelaskan dalam Mengunggah metrik), Anda mungkin melihat kesalahan dalam log Anda sebagai berikut:

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

Untuk mengatasi kesalahan di atas, ambil MSI untuk ekstensi pengontrol data Azure Arc, dan berikan peran yang diperlukan seperti yang dijelaskan dalam Unggah metrik.

Jika Anda menyebarkan pengontrol data Azure Arc dalam mode terhubung langsung, izin yang diperlukan untuk mengunggah informasi penggunaan Anda secara otomatis diberikan untuk MSI ekstensi pengontrol data Azure Arc. Jika proses pengunggahan otomatis mengalami masalah terkait izin, Anda mungkin melihat kesalahan dalam log Anda sebagai berikut:

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

Untuk mengatasi masalah izin, ambil MSI dan berikan peran yang diperlukan seperti yang dijelaskan dalam Unggah metrik).

Peningkatan

Tag gambar yang salah

Jika Anda menggunakan az CLI untuk meningkatkan dan Anda meneruskan tag gambar yang salah, Anda akan melihat kesalahan dalam waktu dua menit.

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

Ketika Anda melihat pod, Anda akan melihat status pekerjaan bootstrap sebagai ErrImagePull.

STATUS
ErrImagePull

Ketika Anda mendeskripsikan pod yang akan Anda lihat

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

Untuk mengatasinya, referensikan log Versi untuk tag gambar yang benar. Jalankan kembali perintah peningkatan dengan tag gambar yang benar.

Tidak dapat tersambung ke registri atau repositori

Jika Anda mencoba meningkatkan dan pekerjaan peningkatan belum menghasilkan kesalahan tetapi berjalan selama lebih dari lima belas menit, Anda dapat melihat kemajuan peningkatan dengan menonton pod. jalankan

kubectl get pods -n <namespace>

Ketika Anda melihat pod, Anda akan melihat status pekerjaan bootstrap sebagai ErrImagePull.

STATUS
ErrImagePull

Jelaskan pod pekerjaan bootstrap untuk melihat Peristiwa.

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

Ketika Anda menjelaskan pod, Anda akan melihat kesalahan yang mengatakan

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

Ini umum jika gambar Anda disebarkan dari registri privat, Anda menggunakan Kubernetes untuk meningkatkan melalui file yaml, dan file yaml mereferensikan mcr.microsoft.com alih-alih registri privat. Untuk mengatasinya, batalkan pekerjaan peningkatan. Untuk menemukan registri yang Anda sebarkan, jalankan

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

Cari Containers.controller.Image, tempat Anda akan melihat registri dan repositori. Ambil nilai-nilai tersebut, masukkan ke dalam file yaml Anda, dan jalankan kembali peningkatan.

Sumber daya tidak cukup

Jika Anda mencoba meningkatkan dan pekerjaan peningkatan belum menghasilkan kesalahan tetapi berjalan selama lebih dari lima belas menit, Anda dapat melihat kemajuan peningkatan dengan menonton pod. jalankan

kubectl get pods -n <namespace>

Cari pod yang menunjukkan beberapa kontainer siap, tetapi tidak - misalnya, pod metricsdb-0 ini hanya memiliki salah satu dari dua kontainer:

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

Jelaskan pod untuk melihat Peristiwa.

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

Jika tidak ada peristiwa, dapatkan nama kontainer dan lihat log untuk kontainer.

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

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

Jika melihat pesan tentang CPU atau memori yang tidak mencukupi, Anda harus menambahkan lebih banyak simpul ke kluster Kubernetes, atau menambahkan lebih banyak sumber daya ke simpul yang ada.

Sumber daya menurut jenis

Skenario: Memecahkan masalah server PostgreSQL

Lihat log dan metrik menggunakan Kibana dan Grafana

Skenario: Lihat inventaris instans Anda di portal Azure