Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: AKS w usłudze Azure Local
W tym artykule opisano sposób używania sterowników interfejsu magazynowania kontenerów (CSI) do zamontowania Bloków Wiadomości 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, którą aktywuje Azure Arc.
Omówienie interfejsu CSI w usłudze AKS Arc
Interfejs Container Storage Interface (CSI) jest standardem pozwalającym na udostępnianie dowolnych systemów pamięci blokowej i plikowej obciążeniom konteneryzowanym w 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. CSI może również poprawić istniejące rozwiązania w Kubernetes bez konieczności modyfikacji podstawowego kodu Kubernetes i oczekiwania na cykle wydań.
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 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 zamontowania udziału SMB lub NFS do zasobników. 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 woluminów trwałych 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
Upewnij się, że sterownik SMB został wdrożony. Sterownik SMB CSI jest instalowany domyślnie podczas tworzenia klastra Kubernetes przy użyciu
az aksarc createpolecenia . Jeśli tworzysz klaster usługi AKS przy użyciu witryny Azure Portal, szablonu usługi Azure Resource Manager (ARM) lub narzędzia Terraform, sterownik SMB CSI nie jest instalowany domyślnie. Musisz włączyć sterownik SMB w klastrze AKS. Równoważne polecenie interfejsu wiersza polecenia platformy Azure w celu zaktualizowania istniejącego klastra usługi AKS i włączenia protokołu SMB to:az aksarc update -n $aksclustername -g $resource_group --enable-smb-driverUtwórz sekrety Kubernetes w celu przechowywania poświadczeń potrzebnych do 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=$domainUtwó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żyj sterowników NFS
Upewnij się, że sterownik SMB został wdrożony. Sterownik SMB CSI jest instalowany domyślnie podczas tworzenia klastra Kubernetes przy użyciu
az aksarc createpolecenia . Jeśli tworzysz klaster usługi AKS przy użyciu witryny Azure Portal, szablonu usługi Azure Resource Manager (ARM) lub narzędzia Terraform, sterownik SMB CSI nie jest instalowany domyślnie. Musisz włączyć sterownik SMB w klastrze AKS. Równoważne polecenie interfejsu wiersza polecenia platformy Azure w celu zaktualizowania istniejącego klastra usługi AKS i włączenia protokołu SMB to:az aksarc update -n $aksclustername -g $resource_group --enable-nfs-driverUtwó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
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