Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
> Berlaku untuk: AKS di Windows Server, AKS di Azure Local
Artikel ini menjelaskan cara menggunakan driver Antarmuka Penyimpanan Kontainer (CSI) untuk file guna memasang berbagi Blok Pesan Server (SMB) atau NFS saat beberapa simpul memerlukan akses bersamaan ke volume penyimpanan yang sama di AKS yang diaktifkan oleh Azure Arc.
Ringkasan CSI di AKS Arc
Container Storage Interface (CSI) adalah standar untuk mengekspos sistem penyimpanan blok dan file arbitrer ke beban kerja yang terkontainerisasi pada Kubernetes. Dengan menggunakan CSI, AKS yang diaktifkan oleh Arc dapat menulis, menyebarkan, dan melakukan iterasi plug-in untuk mengekspos sistem penyimpanan baru. CSI juga dapat meningkatkan yang ada di Kubernetes tanpa harus menyentuh kode Kubernetes inti dan kemudian menunggu siklus rilisnya.
Driver CSI untuk disk dan file yang digunakan oleh AKS Arc adalah driver yang mematuhi spesifikasi CSI.
Dukungan driver penyimpanan CSI di AKS Arc memungkinkan Anda untuk menggunakan:
Disk AKS Arc yang dapat Anda gunakan untuk membuat sumber daya Kubernetes DataDisk . Disk ini dipasang sebagai ReadWriteOnce, sehingga mereka hanya tersedia untuk satu pod pada satu waktu. Untuk volume penyimpanan yang dapat diakses oleh beberapa pod secara bersamaan, gunakan AKS Arc files.
File AKS Arc yang dapat Anda gunakan untuk memasang berbagi SMB atau NFS ke pod. File ini dipasang sebagai ReadWriteMany, sehingga Anda dapat berbagi data di beberapa node dan pod. File juga dapat dipasang sebagai ReadWriteOnce berdasarkan pada spesifikasi PVC (klaim volume persisten).
Gunakan volume persisten untuk file dengan menggunakan driver CSI ReadWriteMany
Jika beberapa simpul memerlukan akses bersamaan ke volume penyimpanan yang sama di AKS Arc, Anda dapat menggunakan driver CSI untuk file guna memasang berbagi SMB atau NFS sebagai ReadWriteMany. Anda harus mengkonfigurasi pembagian SMB atau NFS terlebih dahulu.
Menggunakan driver SMB
Pastikan driver SMB disebarkan. Driver SMB CSI diinstal secara default saat Anda membuat kluster Kubernetes menggunakan
az aksarc create
perintah . Jika Anda membuat kluster AKS menggunakan portal Microsoft Azure, templat Azure Resource Manager (ARM), atau Terraform, driver CSI SMB tidak diinstal secara default. Anda harus mengaktifkan driver SMB pada kluster AKS. Perintah Azure CLI yang setara untuk memperbarui kluster AKS yang ada dan mengaktifkan SMB adalah:az aksarc update -n $aksclustername -g $resource_group --enable-smb-driver
Buat rahasia Kubernetes untuk menyimpan mandat yang diperlukan untuk mengakses berbagi SMB dengan menjalankan perintah berikut:
kubectl create secret generic smbcreds --from-literal username=$username --from-literal password=$password --from-literal domain=$domain
Buat kelas penyimpanan menggunakan
kubectl
untuk membuat kelas penyimpanan SMB baru dengan manifes berikut:apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: smb-csi provisioner: smb.csi.akshci.com parameters: source: \\smb-server\share csi.storage.k8s.io/node-stage-secret-name: "smbcreds" csi.storage.k8s.io/node-stage-secret-namespace: "default" reclaimPolicy: Retain # only Retain is supported volumeBindingMode: Immediate mountOptions: - dir_mode=0777 - file_mode=0777 - uid=1001 - gid=1001
Menggunakan driver NFS
Pastikan driver SMB disebarkan. Driver SMB CSI diinstal secara default saat Anda membuat kluster Kubernetes menggunakan
az aksarc create
perintah . Jika Anda membuat kluster AKS menggunakan portal Microsoft Azure, templat Azure Resource Manager (ARM), atau Terraform, driver CSI SMB tidak diinstal secara default. Anda harus mengaktifkan driver SMB pada kluster AKS. Perintah Azure CLI yang setara untuk memperbarui kluster AKS yang ada dan mengaktifkan SMB adalah:az aksarc update -n $aksclustername -g $resource_group --enable-nfs-driver
Buat kelas penyimpanan NFS menggunakan manifes berikut:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nfs-csi provisioner: nfs.csi.akshci.com parameters: server: nfs-server.default.svc.cluster.local # NFS server endpoint share: / # NFS share path reclaimPolicy: Retain volumeBindingMode: Immediate mountOptions: - hard - nfsvers=4.1
Untuk menghapus pemasangan driver SMB atau NFS
Gunakan perintah Azure CLI berikut untuk menghapus instalasi driver SMB atau NFS:
az aksarc update -n $aksclustername -g $resource_group --disable-smb-driver
az aksarc update -n $aksclustername -g $resource_group --disable-nfs-driver