Gunakan artikel ini untuk membantu Anda memecahkan masalah dan mengatasi masalah terkait penyimpanan di AKS Arc.
Mengonfigurasi klaim volume persisten menghasilkan kesalahan: "Tidak dapat menginisialisasi agen. Kesalahan: mkdir /var/log/agent: izin ditolak"
Kesalahan izin ditolak ini menunjukkan bahwa kelas penyimpanan default mungkin tidak sesuai untuk beban kerja Anda dan terjadi pada beban kerja Linux yang berjalan di atas Kubernetes versi 1.19.x atau yang lebih baru. Mengikuti praktik terbaik keamanan, banyak beban kerja Linux menentukan pengaturan securityContext fsGroup
untuk sebuah pod. Beban kerja gagal dimulai pada AKS di Azure Stack HCI karena kelas penyimpanan default tidak menentukan fstype (=ext4)
parameter, sehingga Kubernetes gagal mengubah kepemilikan file dan volume persisten berdasarkan fsGroup
yang diminta oleh beban kerja.
Untuk mengatasi masalah ini, tentukan kelas penyimpanan khusus yang dapat Anda gunakan untuk menyediakan PVC.
Pod antarmuka penyimpanan kontainer terjebak dalam status 'ContainerCreating'
Kluster beban kerja Kube baru dibuat dengan Kubernetes versi 1.16.10 lalu diperbarui ke 1.16.15. Setelah pembaruan, pod csi-msk8scsi-node-9x47m
macet dalam status ContainerCreating, dan pod kube-proxy-qqnkr
macet dalam status Terminating seperti yang ditunjukkan pada output di bawah ini:
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
Karena kubelet
berakhir dalam keadaan buruk dan tidak dapat lagi berbicara dengan server API, satu-satunya solusi adalah memulai ulang layanan kubelet
. Setelah memulai ulang, kluster masuk ke status berjalan.
Penyimpanan disk diisi dari log crash dump
Penyimpanan disk dapat diisi dari log crash dump yang dibuat. Hal ini disebabkan oleh sertifikat klien agen Jenewa yang kedaluwarsa. Gejalanya bisa sebagai berikut:
- Layanan gagal dimulai.
- Pod Kubernetes, penyebaran, dll. gagal dimulai karena sumber daya yang tidak mencukupi.
Penting
Masalah ini dapat berdampak pada semua manajemen Mariner baru dan node kluster target yang dibuat setelah 18 April 2023 pada rilis dari April 2022 hingga Maret 2023. Masalah ini diperbaiki dalam rilis 2023-05-09 dan yang lebih baru.
Masalah ini dapat berdampak pada operasi apa pun yang melibatkan alokasi ruang disk atau penulisan file baru, sehingga kesalahan "ruang disk/sumber daya" yang tidak memadai adalah petunjuk yang baik. Untuk memeriksa apakah masalah ini ada pada simpul tertentu, jalankan perintah shell berikut:
clouduser@moc-lwm2oudnskl $ sudo du -h /var/lib/systemd/coredump/
Perintah ini melaporkan ruang penyimpanan yang digunakan oleh file diagnostik.
Akar masalah
Kedaluwarsa sertifikat klien yang digunakan untuk mengautentikasi agen Jenewa ke titik akhir layanan menyebabkan agen mengalami crash, yang mengakibatkan crash dump. Perulangan crash/coba lagi agen adalah sekitar 5 detik saat startup awal, dan tidak ada batas waktu. Ini berarti bahwa file baru (sekitar 330MB) dibuat pada sistem file simpul setiap beberapa detik, yang dapat dengan cepat menggunakan penyimpanan disk.
Mitigasi
Mitigasi yang disukai adalah meningkatkan ke rilis terbaru, versi 1.10.18.10425, yang memiliki sertifikat yang diperbarui. Untuk melakukannya, pertama-tama tingkatkan kluster beban kerja Anda secara manual ke versi minor yang didukung sebelum Anda memperbarui host AKS-HCI Anda.
Untuk informasi selengkapnya tentang rilis AKS Arc, dan semua berita AKS-HCI terbaru, berlangganan halaman rilis AKS.
Jika peningkatan bukan opsi, Anda dapat menonaktifkan layanan mdsd . Untuk setiap simpul Mariner:
Nonaktifkan agen Jenewa dengan perintah shell berikut:
sudo systemctl disable --now mdsd
Verifikasi bahwa agen Jenewa berhasil dinonaktifkan:
sudo systemctl status mdsd
Hapus file akumulasi dengan perintah berikut:
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
Reboot simpul:
sudo reboot
Pod penyimpanan mengalami crash dan log mengatakan bahwa parameter 'createSubDir' tidak valid
Kesalahan dapat terjadi jika Anda memiliki driver CSI SMB atau NFS yang diinstal dalam penyebaran Anda dan Anda meningkatkan ke build Mei dari versi yang lebih lama. Salah satu parameter, yang disebut createSubDir
, tidak lagi diterima. Jika ini berlaku untuk penyebaran Anda, ikuti instruksi di bawah ini untuk mengatasi kegagalan kelas penyimpanan.
Jika Anda mengalami kesalahan ini, pod penyimpanan mengalami crash dan log menunjukkan bahwa createSubDir
parameter tidak valid.
Buat ulang kelas penyimpanan.
Saat membuat volume persisten, upaya untuk memasang volume gagal
Setelah menghapus volume persisten atau klaim volume persisten di lingkungan AKS Arc, volume persisten baru dibuat untuk memetakan ke berbagi yang sama. Namun, ketika mencoba memasang volume, pemasangan gagal, dan waktu pod habis dengan kesalahan, NewSmbGlobalMapping failed
.
Untuk mengatasi kegagalan memasang volume baru, Anda dapat SSH ke dalam simpul Windows dan menjalankan Remove-SMBGlobalMapping
dan memberikan pembagian yang sesuai dengan volume. Setelah menjalankan perintah ini, upaya untuk memasang volume akan berhasil.