Hilf mit, diese Seite zu verbessern
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Wenn Sie zu diesem Benutzerhandbuch beitragen möchten, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Der FSx for Lustre Container Storage Interface (CSI) -Treiber
In diesem Thema erfahren Sie, wie Sie den FSx for Lustre CSI-Treiber in Ihrem Amazon EKS-Cluster bereitstellen und überprüfen, ob er funktioniert. Wir empfehlen die neueste Version des Treibers zu verwenden. Die verfügbaren Versionen finden Sie in der Kompatibilitätsmatrix der CSI-Spezifikation
Anmerkung
Der Treiber wird auf Fargate- oder Amazon EKS-Hybridknoten nicht unterstützt.
Eine ausführliche Beschreibung der verfügbaren Parameter und vollständige Beispiele, die die Funktionen des Treibers demonstrieren, finden Sie im Treiberprojekt FSx for Lustre Container Storage Interface (CSI)
Sie müssen über Folgendes verfügen:
-
Version
2.12.3
oder höher oder Version1.27.160
oder höher der auf Ihrem Gerät installierten und konfigurierten AWS Befehlszeilenschnittstelle (AWS CLI) oder AWS CloudShell. Um Ihre aktuelle Version zu überprüfen, verwenden Sieaws --version | cut -d / -f2 | cut -d ' ' -f1
. Paketmanager wieyum
apt-get
, oder Homebrew für macOS liegen oft mehrere Versionen hinter der neuesten Version der AWS CLI. Informationen zur Installation der neuesten Version finden Sie unter Installation und Schnellkonfiguration mit aws configure im Benutzerhandbuch für die AWS Befehlszeilenschnittstelle. Die AWS CLI-Version, in der installiert ist, AWS CloudShell kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zur Aktualisierung finden Sie im AWS CloudShell Benutzerhandbuch unter AWS CLI in Ihrem Home-Verzeichnis installieren. -
Version
0.205.0
oder höher deseksctl
-Befehlszeilen-Tools, das auf Ihrem Computer oder in der AWS CloudShell installiert ist. Informationen zum Installieren und Aktualisieren voneksctl
finden Sie in der Dokumentation zueksctl
unter Installation. -
Das
kubectl
-Befehlszeilen-Tool ist auf Ihrem Gerät oder in der AWS CloudShell installiert. Die Version kann mit der Kubernetes-Version Ihres Clusters identisch oder bis zu einer Nebenversion sein, die vor oder nach der Kubernetes-Version liegt. Wenn Ihre Clusterversion beispielsweise1.29
ist, können Siekubectl
-Version1.28
,1.29
, oder1.30
damit verwenden. Informationen zum Installieren oder Aktualisieren vonkubectl
finden Sie unter Einrichten kubectl und eksctl.
Die folgenden Verfahren helfen Ihnen dabei, einen einfachen Testcluster mit dem FSx for Lustre CSI-Treiber zu erstellen, damit Sie sehen können, wie er funktioniert. Es wird nicht empfohlen, den Testcluster für Produktionsworkloads zu verwenden. Für dieses Tutorial empfehlen wir, die zu verwenden, es sei dennexample values
, es wird darauf hingewiesen, dass sie diese ersetzen sollen. Sie können jeden example value
ersetzen, wenn Sie die Schritte für einen Produktionscluster ausführen. Wir empfehlen, alle Schritte im selben Terminal auszuführen, da Variablen während der einzelnen Schritte gesetzt und verwendet werden und nicht in verschiedenen Terminals existieren.
-
Legen Sie einige Variablen fest, die in den verbleibenden Schritten verwendet werden sollen.
my-csi-fsx-cluster
Ersetzen Sie es durch den Namen des Testclusters, den Sie erstellen möchten, undregion-code
durch die AWS Region, in der Sie Ihren Testcluster erstellen möchten.export cluster_name=my-csi-fsx-cluster export region_code=region-code
-
Erstellen Sie einen Testcluster.
eksctl create cluster \ --name $cluster_name \ --region $region_code \ --with-oidc \ --ssh-access \ --ssh-public-key my-key
Die Clusterbereitstellung dauert mehrere Minuten. Während der Clustererstellung werden mehrere Ausgabezeilen angezeigt. Die letzte Ausgabezeile ähnelt der folgenden Beispielzeile.
[✓] EKS cluster "my-csi-fsx-cluster" in "region-code" region is ready
-
Erstellen Sie ein Kubernetes-Dienstkonto für den Treiber und fügen Sie die
AmazonFSxFullAccess
AWS verwaltete Richtlinie mit dem folgenden Befehl an das Dienstkonto an.eksctl create iamserviceaccount \ --name fsx-csi-controller-sa \ --namespace kube-system \ --cluster $cluster_name \ --attach-policy-arn arn:aws: iam::aws:policy/AmazonFSxFullAccess \ --approve \ --role-name AmazonEKSFSxLustreCSIDriverFullAccess \ --region $region_code
Während der Erstellung des Dienstkontos werden mehrere Ausgabezeilen angezeigt. Die letzten Ausgabezeilen ähneln den folgenden.
[ℹ] 1 task: { 2 sequential sub-tasks: { create IAM role for serviceaccount "kube-system/fsx-csi-controller-sa", create serviceaccount "kube-system/fsx-csi-controller-sa", } } [ℹ] building iamserviceaccount stack "eksctl-my-csi-fsx-cluster-addon-iamserviceaccount-kube-system-fsx-csi-controller-sa" [ℹ] deploying stack "eksctl-my-csi-fsx-cluster-addon-iamserviceaccount-kube-system-fsx-csi-controller-sa" [ℹ] waiting for CloudFormation stack "eksctl-my-csi-fsx-cluster-addon-iamserviceaccount-kube-system-fsx-csi-controller-sa" [ℹ] created serviceaccount "kube-system/fsx-csi-controller-sa"
Notieren Sie sich den Namen des AWS CloudFormation Stacks, der bereitgestellt wurde. In der vorigen Beispielausgabe lautet der Name des Stacks
eksctl-my-csi-fsx-cluster-addon-iamserviceaccount-kube-system-fsx-csi-controller-sa
. -
Stellen Sie den Treiber mit dem folgenden Befehl bereit. Ersetzen Sie
release-X.XX
durch die gewünschte Branch. Der Master-Zweig wird nicht unterstützt, da er möglicherweise zukünftige Funktionen enthält, die mit der aktuell veröffentlichten stabilen Version des Treibers nicht kompatibel sind. Wir empfehlen die Verwendung der neuesten veröffentlichten Version. Eine Liste der Branches finden Sie unteraws-fsx-csi-driver
Brancheson GitHub. Anmerkung
Sie können den Inhalt, der angewendet wird, unter aws-fsx-csi-driverdeploy/kubernetes/overlays/stable/on
anzeigen GitHub. kubectl apply -k "github.com/kubernetes-sigs/aws-fsx-csi-driver/deploy/kubernetes/overlays/stable/?ref=release-X.XX"
Eine Beispielausgabe sieht wie folgt aus.
serviceaccount/fsx-csi-controller-sa created serviceaccount/fsx-csi-node-sa created clusterrole.rbac.authorization.k8s.io/fsx-csi-external-provisioner-role created clusterrole.rbac.authorization.k8s.io/fsx-external-resizer-role created clusterrolebinding.rbac.authorization.k8s.io/fsx-csi-external-provisioner-binding created clusterrolebinding.rbac.authorization.k8s.io/fsx-csi-resizer-binding created deployment.apps/fsx-csi-controller created daemonset.apps/fsx-csi-node created csidriver.storage.k8s.io/fsx.csi.aws.com created
-
Notieren Sie sich den ARN für die Rolle, die erstellt wurde. Wenn Sie es vorher nicht bemerkt haben und es in der AWS CLI-Ausgabe nicht mehr verfügbar haben, können Sie wie folgt vorgehen, um es in der zu sehen AWS Management Console.
-
Öffnen Sie die AWS CloudFormation -Konsole
. -
Stellen Sie sicher, dass die Konsole auf die AWS Region eingestellt ist, in der Sie Ihre IAM-Rolle erstellt haben, und wählen Sie dann Stacks aus.
-
Wählen Sie den Stack mit dem Namen
eksctl-my-csi-fsx-cluster-addon-iamserviceaccount-kube-system-fsx-csi-controller-sa
aus. -
Wählen Sie die Registerkarte Ausgaben aus. Der Role1-ARN wird auf der Seite Outputs (1) ((Ausgaben (1)) aufgeführt.
-
-
Patchen Sie die Treiberbereitstellung, um das zuvor erstellte Servicekonto mit dem folgenden Befehl hinzuzufügen. Ersetzen Sie den ARN durch den ARN, den Sie notiert haben. Ersetzen Sie
111122223333
durch Ihre Konto-ID.kubectl annotate serviceaccount -n kube-system fsx-csi-controller-sa \ eks.amazonaws.com/role-arn=arn:aws: iam::111122223333:role/AmazonEKSFSxLustreCSIDriverFullAccess --overwrite=true
Eine Beispielausgabe sieht wie folgt aus.
serviceaccount/fsx-csi-controller-sa annotated
Bei diesem Verfahren wird das GitHub Treiber-Repository FSx für Lustre Container Storage Interface (CSI)
-
Beachten Sie die Sicherheitsgruppe für Ihren Cluster. Sie können es im AWS Management Console Abschnitt Netzwerk oder mit dem folgenden AWS CLI-Befehl sehen.
aws eks describe-cluster --name $cluster_name --query cluster.resourcesVpcConfig.clusterSecurityGroupId
-
Erstellen Sie eine Sicherheitsgruppe für Ihr FSx Amazon-Dateisystem gemäß den Kriterien, die im Amazon FSx for Lustre-Benutzerhandbuch unter Amazon VPC-Sicherheitsgruppen aufgeführt sind. Als VPC wählen Sie die VPC Ihres Clusters aus, die im Abschnitt Networking (Netzwerk) gezeigt wird. Unter „the security groups associated with your Lustre clients“ (die mit Ihren Lustre-Clients verknüpften Sicherheitsgruppen) wählen Sie Ihre Cluster-Sicherheitsgruppe aus. Wenn Sie keine Regeln für ausgehenden Datenverkehr festlegen, können Sie den All traffic (gesamten Datenverkehr) erlauben.
-
Laden Sie das Speicherklassen-Manifest mit dem folgenden Befehl herunter.
curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-fsx-csi-driver/master/examples/kubernetes/dynamic_provisioning/specs/storageclass.yaml
-
Bearbeiten Sie den Parameterabschnitt in der Datei
storageclass.yaml
. Ersetzen Sie jedeexample value
durch Ihre eigenen Werte.parameters: subnetId: subnet-0eabfaa81fb22bcaf securityGroupIds: sg-068000ccf82dfba88 deploymentType: PERSISTENT_1 automaticBackupRetentionDays: "1" dailyAutomaticBackupStartTime: "00:00" copyTagsToBackups: "true" perUnitStorageThroughput: "200" dataCompressionType: "NONE" weeklyMaintenanceStartTime: "7:09:00" fileSystemTypeVersion: "2.12"
-
subnetId
— Die Subnetz-ID, in der das Amazon FSx for Lustre-Dateisystem erstellt werden soll. Amazon FSx for Lustre wird nicht in allen Availability Zones unterstützt. Öffnen Sie die Amazon FSx for Lustre-Konsole unter, https://console.aws.amazon.com/fsx/um zu bestätigen, dass sich das Subnetz, das Sie verwenden möchten, in einer unterstützten Availability Zone befindet. Das Subnetz kann Ihre Knoten enthalten oder ein anderes Subnetz oder eine andere VPC sein: -
Sie können nach den Knoten-Subnetzen in der suchen, AWS Management Console indem Sie die Knotengruppe im Abschnitt Compute auswählen.
-
Wenn das von Ihnen angegebene Subnetz nicht dasselbe Subnetz ist, in dem Sie Knoten haben, VPCs müssen Sie verbunden sein und sicherstellen, dass die erforderlichen Ports in Ihren Sicherheitsgruppen geöffnet sind.
-
-
securityGroupIds
— Die ID der Sicherheitsgruppe, die Sie für das Dateisystem erstellt haben. -
deploymentType
(optional) — Der Bereitstellungstyp des Dateisystems. Gültige Werte sindSCRATCH_1
,SCRATCH_2
,PERSISTENT_1
undPERSISTENT_2
. Weitere Informationen zu Bereitstellungstypen finden Sie unter Erstellen Sie Ihr Amazon FSx for Lustre-Dateisystem. -
andere Parameter (optional) — Informationen zu den anderen Parametern finden Sie unter Bearbeiten StorageClass
am GitHub.
-
-
Erstellen Sie das Speicherklassen-Manifest.
kubectl apply -f storageclass.yaml
Eine Beispielausgabe sieht wie folgt aus.
storageclass.storage.k8s.io/fsx-sc created
-
Laden Sie das Manifest für den dauerhaften Volume-Anspruch herunter.
curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-fsx-csi-driver/master/examples/kubernetes/dynamic_provisioning/specs/claim.yaml
-
(Optional) Bearbeiten Sie die
claim.yaml
-Datei. Ändern Sie1200Gi
in einen der folgenden Inkrementwerte, basierend auf Ihren Speicheranforderungen und demdeploymentType
, den Sie in einem vorherigen Schritt ausgewählt haben.storage: 1200Gi
-
SCRATCH_2
undPERSISTENT
–1.2 TiB
,2.4 TiB
oder Schritte von 2,4 TiB über 2,4 TiB. -
SCRATCH_1
–1.2 TiB
,2.4 TiB
,3.6 TiB
oder Schritte von 3,6 TiB über 3,6 TiB.
-
-
Erstellen Sie den dauerhaften Volume-Anspruch.
kubectl apply -f claim.yaml
Eine Beispielausgabe sieht wie folgt aus.
persistentvolumeclaim/fsx-claim created
-
Vergewissern Sie sich, dass das Dateisystem bereitgestellt wurde.
kubectl describe pvc
Eine Beispielausgabe sieht wie folgt aus.
Name: fsx-claim Namespace: default StorageClass: fsx-sc Status: Bound [...]
Anmerkung
Der
Status
kann für 5-10 Minuten alsPending
angezeigt werden, bevor er zuBound
wechselt. Fahren Sie erst mit dem nächsten Schritt fort, wenn dies derStatus
Fall istBound
. Wenn derStatus
länger als 10 MinutenPending
anzeigt, verwenden Sie die Warnmeldungen in denEvents
als Referenz zur Behebung von Problemen. -
Stellen Sie die Beispielanwendung bereit.
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-fsx-csi-driver/master/examples/kubernetes/dynamic_provisioning/specs/pod.yaml
-
Stellen Sie sicher, dass die Beispielanwendung ausgeführt wird.
kubectl get pods
Eine Beispielausgabe sieht wie folgt aus.
NAME READY STATUS RESTARTS AGE fsx-app 1/1 Running 0 8s
-
Überprüfen Sie, ob das Dateisystem ordnungsgemäß von der Anwendung aufgespielt wurde.
kubectl exec -ti fsx-app -- df -h
Eine Beispielausgabe sieht wie folgt aus.
Filesystem Size Used Avail Use% Mounted on overlay 80G 4.0G 77G 5% / tmpfs 64M 0 64M 0% /dev tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup 192.0.2.0@tcp:/abcdef01 1.1T 7.8M 1.1T 1% /data /dev/nvme0n1p1 80G 4.0G 77G 5% /etc/hosts shm 64M 0 64M 0% /dev/shm tmpfs 6.9G 12K 6.9G 1% /run/secrets/kubernetes.io/serviceaccount tmpfs 3.8G 0 3.8G 0% /proc/acpi tmpfs 3.8G 0 3.8G 0% /sys/firmware
-
Stellen Sie sicher, dass die Beispiel-App Daten in das FSx for Lustre-Dateisystem geschrieben hat.
kubectl exec -it fsx-app -- ls /data
Eine Beispielausgabe sieht wie folgt aus.
out.txt
Diese Beispielausgabe zeigt, dass die Beispiel-App erfolgreich die
out.txt
-Datei in das Dateisystem geschrieben hat.
Anmerkung
Stellen Sie vor dem Löschen des Clusters sicher, dass Sie das FSx for Lustre-Dateisystem löschen. Weitere Informationen finden Sie unter Ressourcen bereinigen im FSx for Lustre-Benutzerhandbuch.