Düzenle

Aracılığıyla paylaş


AKS Arc'ta depolamayı yönetirken bilinen sorunları ve hataları düzeltme

AKS Arc'ta depolamayla ilgili sorunları gidermenize ve çözmenize yardımcı olması için bu makaleyi kullanın.

Kalıcı birim beyanlarının yapılandırılması şu hatayla sonuçlanır: "Aracı başlatılamıyor. Hata: mkdir /var/log/agent: izin reddedildi"

Bu izin reddedildi hatası, varsayılan depolama sınıfının iş yükleriniz için uygun olmayabileceğini ve Kubernetes sürüm 1.19.x veya üzeri üzerinde çalışan Linux iş yüklerinde oluştuğuna işaret eder. Güvenlikle ilgili en iyi yöntemleri izleyerek birçok Linux iş yükü bir pod için ayarı belirtir securityContext fsGroup . Varsayılan depolama sınıfı parametresini belirtmediğinden fstype (=ext4) Azure Stack HCI üzerinde AKS'de iş yükleri başlatılamıyor, bu nedenle Kubernetes iş yükü tarafından istenene göre dosyaların ve kalıcı birimlerin fsGroup sahipliğini değiştiremiyor.

Bu sorunu çözmek için, PVC'leri sağlamak için kullanabileceğiniz özel bir depolama sınıfı tanımlayın .

Kapsayıcı depolama arabirimi podu 'ContainerCreating' durumunda takıldı

Kubernetes sürüm 1.16.10 ile yeni bir Kubernetes iş yükü kümesi oluşturuldu ve ardından 1.16.15 sürümüne güncelleştirildi. Güncelleştirmeden sonra pod csi-msk8scsi-node-9x47mContainerCreating durumunda takıldı ve kube-proxy-qqnkr pod aşağıdaki çıkışta gösterildiği gibi Sonlandırılıyor durumunda takıldı:

Error: kubectl.exe get nodes  
NAME              STATUS     ROLES    AGE     VERSION 
moc-lf22jcmu045   Ready      <none>   5h40m   v1.16.15 
moc-lqjzhhsuo42   Ready      <none>   5h38m   v1.16.15 
moc-lwan4ro72he   NotReady   master   5h44m   v1.16.15

\kubectl.exe get pods -A 

NAMESPACE     NAME                        READY   STATUS              RESTARTS   AGE 
    5h38m 
kube-system   csi-msk8scsi-node-9x47m     0/3     ContainerCreating   0          5h44m 
kube-system   kube-proxy-qqnkr            1/1     Terminating         0          5h44m  

kubelet Kötü bir durumda olduğundan ve artık API sunucusuyla konuşabildiğinden, tek çözüm hizmeti yeniden başlatmaktırkubelet. Küme yeniden başlatıldıktan sonra çalışır duruma geçer.

Kilitlenme bilgi dökümü günlüklerinden dolu disk depolama alanı

Disk depolama alanı, oluşturulan kilitlenme bilgi dökümü günlüklerinden doldurulabilir. Bunun nedeni, süresi dolmuş bir Geneva aracısı istemci sertifikasıdır. Belirtiler aşağıdaki gibi olabilir:

  • Hizmetler başlatılamıyor.
  • Kubernetes podları, dağıtımları vb. yetersiz kaynak nedeniyle başlatılamıyor.

Önemli

Bu sorun, Nisan 2022 ile Mart 2023 arası sürümlerde 18 Nisan 2023'ten sonra oluşturulan tüm yeni Mariner yönetimini ve hedef küme düğümlerini etkileyebilir. Bu sorun 2023-05-09 ve sonraki sürümlerde düzeltilmiştir.

Bu sorun, disk alanı ayırmayı veya yeni dosyalar yazmayı içeren tüm işlemleri etkileyebilir, bu nedenle "yetersiz disk alanı/kaynak" hatası iyi bir ipucudur. Bu sorunun belirli bir düğümde mevcut olup olmadığını denetlemek için aşağıdaki kabuk komutunu çalıştırın:

clouduser@moc-lwm2oudnskl $ sudo du -h /var/lib/systemd/coredump/

Bu komut, tanılama dosyaları tarafından kullanılan depolama alanını bildirir.

Kök neden

Hizmet uç noktasında Geneva aracısının kimliğini doğrulamak için kullanılan istemci sertifikasının süresinin dolması, aracının kilitlenmesine neden olur ve kilitlenme bilgi dökümüyle sonuçlanır. Aracının kilitlenme/yeniden deneme döngüsü ilk başlangıçta yaklaşık 5 saniyedir ve zaman aşımı yoktur. Başka bir deyişle, düğümün dosya sisteminde birkaç saniyede bir yeni bir dosya (yaklaşık 330 MB) oluşturulur ve bu da disk depolama alanını hızla tüketebilir.

Risk azaltma

Tercih edilen azaltma, güncelleştirilmiş bir sertifikaya sahip olan en son sürüm olan 1.10.18.10425 sürümüne yükseltmektir. Bunu yapmak için AKS-HCI konağınızı güncelleştirmeden önce iş yükü kümelerinizidesteklenen herhangi bir ikincil sürüme el ile yükseltin.

AKS Arc sürümleri ve en son AKS-HCI haberleri hakkında daha fazla bilgi için AKS yayınları sayfasına abone olun.

Yükseltme bir seçenek değilse , mdsd hizmetini kapatabilirsiniz. Her Mariner düğümü için:

  1. Aşağıdaki kabuk komutlarıyla Geneva aracısını kapatın:

    sudo systemctl disable --now mdsd
    
  2. Geneva aracısının başarıyla devre dışı bırakıldığını doğrulayın:

    sudo systemctl status mdsd
    
  3. Aşağıdaki komutla birikmiş dosyaları silin:

    sudo find /var/lib/systemd/coredump/ -type f -mmin +1 -exec rm -f {} \;
    sudo find /run/systemd/propagate -name 'systemd-coredump@*' -delete
    sudo journalctl --rotate && sudo journalctl --vacuum-size=500M
    
  4. Düğümü yeniden başlatın:

    sudo reboot
    

Depolama podu kilitleniyor ve günlükler 'createSubDir' parametresinin geçersiz olduğunu söylüyor

Dağıtımınızda bir SMB veya NFS CSI sürücüsü yüklüyse ve Eski bir sürümden Mayıs derlemesine yükselttiyseniz bir hata oluşabilir. adlı createSubDirparametrelerden biri artık kabul edilememektedir. Bu, dağıtımınız için geçerliyse depolama sınıfı hatasını çözmek için aşağıdaki yönergeleri izleyin.

Bu hatayla karşılaşırsanız depolama podu kilitlenir ve günlükler parametrenin createSubDir geçersiz olduğunu gösterir.

Depolama sınıfını yeniden oluşturun.

Kalıcı birim oluştururken birimi bağlama girişimi başarısız oluyor

AKS Arc ortamında kalıcı birim veya kalıcı birim talebi silindikten sonra, aynı paylaşıma eşlemek için yeni bir kalıcı birim oluşturulur. Ancak, birimi bağlamaya çalışırken bağlama başarısız olur ve pod zaman aşımına uğradı ve hatasıyla NewSmbGlobalMapping failedzaman aşımına uğradı.

Yeni birimi bağlama hatasını geçici olarak çözmek için SSH'yi Windows düğümüne aktarabilir ve çalıştırabilir Remove-SMBGlobalMapping ve birime karşılık gelen paylaşımı sağlayabilirsiniz. Bu komutu çalıştırdıktan sonra birimi bağlama girişimleri başarılı olmalıdır.