Pemecahan masalah sumber daya
Artikel ini mengidentifikasi pemecahan masalah sumber daya untuk layanan data dengan dukungan Azure Arc.
Upload
Log Mengunggah kesalahan terkait
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
Metrik mengunggah kesalahan terkait dalam mode terhubung langsung
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.
Kesalahan terkait unggahan penggunaan dalam mode terhubung langsung
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