Używanie sterowników plików interfejsu magazynu kontenerów (CSI) w usłudze AKS włączonej przez usługę Azure Arc
> Dotyczy: usługa AKS w usłudze Azure Stack HCI 22H2, AKS w systemie Windows Server, usługa AKS w usłudze Azure Local, wersja 23H2
W tym artykule opisano sposób używania sterowników interfejsu magazynu kontenerów (CSI) do instalowania bloków komunikatów serwera (SMB) lub udziałów NFS, gdy wiele węzłów wymaga współbieżnego dostępu do tego samego woluminu magazynu w usłudze AKS włączonej przez usługę Azure Arc.
Omówienie interfejsu CSI w usłudze AKS Arc
Interfejs Container Storage Interface (CSI) jest standardem umożliwiającym uwidacznianie dowolnych systemów magazynów blokowych i magazynów plików konteneryzowanym obciążeniom na platformie Kubernetes. Dzięki użyciu interfejsu CSI usługa AKS włączona przez usługę Arc może zapisywać, wdrażać i iterować wtyczki w celu uwidocznienia nowych systemów magazynowania. Użycie interfejsu CSI może również poprawić istniejące w rozwiązaniu Kubernetes bez konieczności dotykania podstawowego kodu Kubernetes, a następnie czekania na cykle wydania.
Sterowniki CSI dysku i pliku używane przez usługę AKS Arc to sterowniki zgodne ze specyfikacją CSI.
Obsługa sterowników magazynu CSI w usłudze AKS Arc umożliwia korzystanie z następujących funkcji:
Dyski usługi AKS Arc, których można użyć do utworzenia zasobu Kubernetes DataDisk . Są one instalowane jako ReadWriteOnce, więc są dostępne tylko dla jednego zasobnika naraz. W przypadku woluminów magazynu, do których można uzyskiwać dostęp jednocześnie przez wiele zasobników, użyj plików usługi AKS Arc.
Pliki usługi AKS Arc, których można użyć do zainstalowania udziału SMB lub NFS w zasobnikach. Są one instalowane jako ReadWriteMany, dzięki czemu można udostępniać dane między wieloma węzłami i zasobnikami. Można je również zamontować jako ReadWriteOnce na podstawie specyfikacji PCV (oświadczenia trwałego woluminu).
Używanie plików trwałych woluminów przy użyciu sterowników ReadWriteMany CSI
Jeśli wiele węzłów wymaga współbieżnego dostępu do tych samych woluminów magazynu w usłudze AKS Arc, możesz użyć sterowników CSI dla plików, aby zainstalować udziały SMB lub NFS jako ReadWriteMany. Należy z wyprzedzeniem aprowizować udziały SMB lub NFS.
Używanie sterowników SMB
- Usługa AKS na platformie Azure — lokalna wersja 23H2
- Usługa AKS w usłudze Azure Local 22H2 i Windows Server
Upewnij się, że sterownik SMB został wdrożony. Sterownik SMB CSI jest instalowany domyślnie podczas tworzenia klastra Kubernetes przy użyciu witryny Azure Portal lub
az aksarc create
polecenia. Jeśli tworzysz klaster Kubernetes przy użyciu polecenia--disable-smb-driver
, musisz włączyć sterownik SMB w tym klastrze przy użyciuaz aksarc update
polecenia :az aksarc update -n $aksclustername -g $resource_group --enable-smb-driver
Utwórz wpisy tajne platformy Kubernetes w celu przechowywania poświadczeń wymaganych do uzyskania dostępu do udziałów SMB, uruchamiając następujące polecenie:
kubectl create secret generic smbcreds --from-literal username=$username --from-literal password=$password --from-literal domain=$domain
Utwórz klasę magazynu przy użyciu polecenia
kubectl
, aby utworzyć nową klasę magazynu SMB z następującym manifestem: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
Używanie sterowników NFS
- Usługa AKS na platformie Azure — lokalna wersja 23H2
- Usługa AKS w usłudze Azure Local 22H2 i Windows Server
Upewnij się, że sterownik NFS został wdrożony. Sterownik NFS CSI jest instalowany domyślnie podczas tworzenia klastra Kubernetes przy użyciu witryny Azure Portal lub
az aksarc create
polecenia. Jeśli tworzysz klaster Kubernetes przy użyciu polecenia--disable-nfs-driver
, musisz włączyć sterownik NFS w tym klastrze przy użyciuaz aksarc update
polecenia :az aksarc update -n $aksclustername -g $resource_group --enable-nfs-driver
Utwórz klasę magazynu NFS przy użyciu następującego manifestu:
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
Aby odinstalować sterowniki SMB lub NFS
- Usługa AKS na platformie Azure — lokalna wersja 23H2
- Usługa AKS w usłudze Azure Local 22H2 i Windows Server
Użyj następujących poleceń interfejsu wiersza polecenia platformy Azure, aby odinstalować sterowniki SMB lub NFS:
az aksarc update -n $aksclustername -g $resource_group --disable-smb-driver
az aksarc update -n $aksclustername -g $resource_group --disable-nfs-driver