Aracılığıyla paylaş


Dapr uzantısı yükleme hatalarını giderme

Bu makalede, Microsoft Azure Kubernetes Service (AKS) veya Kubernetes için Arc için Dağıtılmış Uygulama Çalışma Zamanı (Dapr) uzantısını yüklediğinizde veya güncelleştirdiğinizde alabileceğiniz bazı yaygın hata iletileri açıklanır.

Senaryo 1: Yükleme başarısız oluyor ancak hata iletisi göstermiyor

Uzantıyı oluşturur veya güncelleştirirken bir hata iletisi oluşturursa az k8s-extension list komutunu çalıştırarak oluşturma işleminin başarısız olduğu yeri inceleyebilirsiniz:

az k8s-extension list --resource-group <my-resource-group-name> \
    --cluster-name <my-cluster-name> \
    --cluster-type managedClusters

Yapılandırma ayarlarında yerine yanlış bir anahtar kullanılırsa, global.ha=falseglobal.ha.enabled=falseaşağıdaki JSON durumu döndürülür. Hata iletisi özelliğinde message yakalanır.

"statuses": [
  {
    "code": "InstallationFailed",
    "displayStatus": null,
    "level": null,
    "message": "Error: {failed to install chart from path [] for release [dapr-1]: err [template: dapr/charts/dapr_sidecar_injector/templates/dapr_sidecar_injector_poddisruptionbudget.yaml:1:17: executing \"dapr/charts/dapr_sidecar_injector/templates/dapr_sidecar_injector_poddisruptionbudget.yaml\" at <.Values.global.ha.enabled>: can't evaluate field enabled in type interface {}]} occurred while doing the operation : {Installing the extension} on the config",
    "time": null
  }
],

JSON hata iletisinin başka bir örneği aşağıda verilmiştır:

"statuses": [
  {
    "code": "InstallationFailed",
    "displayStatus": null,
    "level": null,
    "message": "The extension operation failed with the following error: unable to add the configuration with configId {extension:microsoft-dapr} due to error: {error while adding the CRD configuration: error {failed to get the immutable configMap from the elevated namespace with err: configmaps 'extension-immutable-values' not found }}. (Code: ExtensionOperationFailed)",
    "time": null
  }
]

Çözüm 1: Kümeyi yeniden başlatın, hizmet sağlayıcısını kaydedin veya Dapr'yi silip yeniden yükleyin

Bu sorunu çözmek için aşağıdaki yöntemleri deneyin:

Senaryo 2: Hedeflenen Dapr sürümü yok

Belirli bir sürümü hedeflemek için Dapr uzantısını yüklemeye çalıştığınızda, Dapr sürümünün mevcut olmadığını belirten bir hata iletisi alırsınız:

(ExtensionOperationFailed) Uzantı işlemi şu hatayla başarısız oldu: Verilen değerlerden uzantı sürümü çözümlenemedi.

Kod: ExtensionOperationFailed

İleti: Uzantı işlemi şu hatayla başarısız oldu: Verilen değerlerden uzantı sürümü çözümlenemedi.

Çözüm 2: Desteklenen bir Dapr sürümü için yeniden yükleme

Uzantıyı yüklemeyi yeniden deneyin. Dapr'nin desteklenen bir sürümünü kullandığınızdan emin olun.

Senaryo 3: Hedeflenen Dapr sürümü var ancak belirtilen bölgede yok

Bazı Dapr sürümleri tüm bölgelerde kullanılamadığından aşağıdaki hata iletisini alabilirsiniz:

(ExtensionTypeRegistrationGetFailed) Uzantı türü microsoft.dapr regionname'e <kaydedilmedi>.

Kod: ExtensionTypeRegistrationGetFailed

İleti: Uzantı türü microsoft.dapr bölge <adına kayıtlı değil>

Çözüm 3: Farklı bir bölgeye yükleme

Dapr sürümünüzün desteklendiği bir bölgeye yükleyin.

Senaryo 4: Dapr zaten yüklü

AKS için Dapr uzantısını veya Kubernetes için Arc'ı yüklemeye çalışırsınız, ancak ad alanının zaten var olduğunu dapr-system belirten bir hata iletisi alırsınız. Bu hata iletisi aşağıdaki metne benzer:

(ExtensionOperationFailed) Uzantı işlemi şu hatayla başarısız oldu: Hata: {[dapr-ext] sürümü için [] yolundan grafik yüklenemedi: hata [işlenmiş bildirimler zaten var olan bir kaynak içeriyor. Yüklemeye devam edilemiyor: "dapr-system" ad alanında ServiceAccount "dapr-operator" var ve geçerli sürüme aktarılamıyor: geçersiz sahiplik meta verileri; ek açıklama doğrulama hatası: "meta.helm.sh/release-name" anahtarı "dapr-ext" değerine eşit olmalıdır: şu işlem yapılırken geçerli değer "dapr"]} oluştu: yapılandırmada {Uzantı yükleniyor}

Çözüm 4: Önce Dapr OSS'yi kaldırın

Dapr uzantısını yüklemeden önce Dapr OSS'yi kaldırın. Daha fazla bilgi için bkz. Dapr OSS'den AKS için Dapr uzantısına geçiş.

Senaryo 5: Yerleştirme sunucusu podu hatalı durumda

Aşağıdaki hatayla karşılaşırsınız:

0/4 düğüm kullanılabilir: 1 düğüm zamanlanamaz, 3 düğümde birim düğümü benzşimi çakışması oluştu. ön kullanım: 0/4 düğüm kullanılabilir: 4 Önkoşul zamanlama için yararlı değildir.

Yerleştirme sunucusu podu, yerleştirme sunucusu podunun kendisinden farklı bir bölgede oluşturulan kalıcı birimi kullanmaya çalıştığında bu sorun oluşabilir.

Çözüm 5: Dapr'ı birden çok kullanılabilirlik alanına yükleme veya yerleştirme hizmetini belirli bir kullanılabilirlik alanıyla sınırlama

Bu sorunu gidermek için aşağıdaki yöntemlerden birini kullanın:

  • HA modundayken Dapr'ı birden çok kullanılabilirlik alanına yükleme bölümünde önerilen yaklaşımı izleyin.

  • Özel bir depolama sınıfı oluşturup yerleştirme hizmeti için kullanarak yerleştirme hizmetini belirli bir kullanılabilirlik alanıyla sınırlayın ve ardından aşağıdaki komutu çalıştırın:

    az k8s-extension create --cluster-type managedClusters
    --cluster-name <clustername>
    --resource-group <resourcegroup>
    --name <name>
    --extension-type Microsoft.Dapr
    --auto-upgrade-minor-version <minorversion>
    --version <version>
    --configuration-settings "dapr_placement.volumeclaims.storageClassName=zone-restricted"
    

    Özel depolama sınıfı oluşturma örneği aşağıda verilmişti:

    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
     name: zone-restricted
    provisioner: disk.csi.azure.com
    reclaimPolicy: Delete
    allowVolumeExpansion: true
    volumeBindingMode: WaitForFirstConsumer
    allowedTopologies:
    - matchLabelExpressions:
     - key: topology.kubernetes.io/zone
       values:
       - centralus-1
    parameters:
     storageaccounttype: StandardSSD_LRS
    

Sonraki adımlar

Yükleme sorunları yaşamaya devam ediyorsanız AKS sorun giderme kılavuzunu ve Dapr OSS sorun giderme kılavuzunu inceleyin.

Üçüncü taraf bilgileri hakkında yasal uyarı

Bu makalede adı geçen üçüncü taraf ürünleri Microsoft'tan bağımsız şirketler tarafından üretilmektedir. Microsoft, bu ürünlerin performansı veya güvenilirliği ile ilgili örtük veya başka türlü hiçbir garanti vermez.

Yardım için bize ulaşın

Sorularınız veya yardıma ihtiyacınız varsa bir destek isteği oluşturun veya Azure topluluk desteği isteyin. Ürün geri bildirimini Azure geri bildirim topluluğuna da gönderebilirsiniz.