AKS Arc'ta depolamayla ilgili sorunları gidermenize ve çözmenize yardımcı olması için bu makaleyi kullanın.
Kalıcı birim taleplerinin 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öntemlerin ardından 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)
iş yükleri Azure Yerel'de AKS'de başlatılamaz, bu nedenle Kubernetes iş yükü tarafından istenene göre dosyaların ve kalıcı birimlerin fsGroup
sahipliğini değiştiremez.
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 pod'u '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-9x47m
ContainerCreating 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
Kötü kubelet
bir durumda olduğundan ve artık API sunucusuyla konuşabildiğinden, tek çözüm hizmeti yeniden başlatmaktır kubelet
. Küme yeniden başlatıldıktan sonra çalışır duruma geçer.
Kilitlenme dökümü günlüklerinden disk depolama alanı doldu
Disk depolama alanı, oluşturulan kilitlenme 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. 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 olarak 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, Azure Yerel konağınızı güncelleştirmeden önce iş yükü kümelerinizi el ile desteklenen herhangi bir ikincil sürüme yükseltin.
AKS Arc sürümleri ve Azure Yerel haberleri hakkında en son AKS 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:
Aşağıdaki kabuk komutlarıyla Geneva aracısını kapatın:
sudo systemctl disable --now mdsd
Geneva aracısının başarıyla devre dışı bırakıldığını doğrulayın:
sudo systemctl status mdsd
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
Düğümü yeniden başlatın:
sudo reboot
Depolama pod'u 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ı createSubDir
parametrelerden biri artık kabul edilir. 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 failed
zaman 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.