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.
A definiert StorageClass
im automatischen Modus von Amazon EKS, wie Amazon EBS-Volumes automatisch bereitgestellt werden, wenn Anwendungen persistenten Speicher anfordern. Auf dieser Seite wird erklärt, wie Sie eine erstellen und konfigurierenStorageClass
, die mit dem Amazon EKS Auto Mode zur Bereitstellung von EBS-Volumes zusammenarbeitet.
Durch die Konfiguration von können Sie Standardeinstellungen für Ihre EBS-Volumes angeben, darunter Volumetyp, Verschlüsselung, IOPS und andere Speicherparameter. StorageClass
Sie können die auch so konfigurierenStorageClass
, dass AWS KMS-Schlüssel für das Verschlüsselungsmanagement verwendet werden.
Der automatische EKS-Modus erstellt keine StorageClass
für Sie. Sie müssen eine StorageClass
Referenzierung erstellenebs.csi.eks.amazonaws.com
, um die Speicherfunktion von EKS Auto Mode nutzen zu können.
Erstellen Sie zunächst eine Datei mit dem Namenstorage-class.yaml
:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: auto-ebs-sc
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: ebs.csi.eks.amazonaws.com
volumeBindingMode: WaitForFirstConsumer
parameters:
type: gp3
encrypted: "true"
Zweitens wenden Sie die Speicherklasse auf Ihren Cluster an.
kubectl apply -f storage-class.yaml
Die wichtigsten Komponenten:
-
provisioner: ebs.csi.eks.amazonaws.com
- Verwendet den EKS-Automatikmodus -
volumeBindingMode: WaitForFirstConsumer
- Verzögert die Volume-Erstellung, bis ein Pod sie benötigt -
type: gp3
— Gibt den EBS-Volumetyp an -
encrypted: "true"
- EBS verschlüsselt alle Volumes, die mit dem erstellt wurden.StorageClass
EBS verwendet denaws/ebs
Standard-Schlüsselalias. Weitere Informationen finden Sie unter So funktioniert die Amazon EBS-Verschlüsselung im Amazon EBS-Benutzerhandbuch. Dieser Wert ist optional, wird aber empfohlen. -
storageclass.kubernetes.io/is-default-class: "true"
— Kubernetes verwendet diese Speicherklasse standardmäßig, es sei denn, Sie geben für einen Anspruch auf persistentes Volume eine andere Volume-Klasse an. Dieser Wert ist optional. Seien Sie vorsichtig, wenn Sie diesen Wert festlegen, wenn Sie von einem anderen Speichercontroller migrieren.
Verwenden Sie den selbstverwalteten KMS-Schlüssel, um EBS-Volumes zu verschlüsseln
Um einen selbstverwalteten KMS-Schlüssel zur Verschlüsselung von EBS-Volumes zu verwenden, die durch den automatischen Modus von EKS automatisiert werden, müssen Sie:
-
Erstellen Sie einen selbstverwalteten KMS-Schlüssel.
-
Erstellen Sie eine neue Richtlinie, die den Zugriff auf den KMS-Schlüssel ermöglicht.
-
Verwenden Sie die nachstehende Beispiel-IAM-Richtlinie, um die Richtlinie zu erstellen. Fügen Sie den ARN des neuen selbstverwalteten KMS-Schlüssels ein. Weitere Informationen finden Sie im AWS IAM-Benutzerhandbuch unter Rollen erstellen und Richtlinien anhängen (Konsole).
-
-
Hängen Sie die Richtlinie an die EKS-Clusterrolle an.
-
Verwenden Sie die AWS Konsole, um den ARN der EKS-Clusterrolle zu finden. Die Rolleninformationen sind im Abschnitt Übersicht sichtbar. Weitere Informationen finden Sie unter Amazon-EKS-Cluster-IAM-Rolle.
-
-
Aktualisieren Sie das
StorageClass
, sodass es auf die KMS-Schlüssel-ID imparameters.kmsKeyId
Feld verweist.
Beispiel für eine selbstverwaltete KMS-IAM-Richtlinie
Aktualisieren Sie die folgenden Werte in der Richtlinie unten:
-
<account-id>
— Ihre AWS Konto-ID, z. B.111122223333
-
<aws-region>
— Die AWS Region Ihres Clusters, z. B.us-west-2
{
"Version": "2012-10-17",
"Id": "key-auto-policy-3",
"Statement": [
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<account-id>:root"
},
"Action": "kms:*",
"Resource": "*"
},
{
"Sid": "Allow access through EBS for all principals in the account that are authorized to use EBS",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:CreateGrant",
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:CallerAccount": "<account-id>",
"kms:ViaService": "ec2.<aws-region>.amazonaws.com"
}
}
}
]
}
Beispiel für ein selbstverwaltetes KMS StorageClass
parameters:
type: gp3
encrypted: "true"
kmsKeyId: <custom-key-arn>
StorageClass
Referenz zu den Parametern
Allgemeine Informationen zu den StorageClass
Kubernetes-Ressourcen finden Sie in der Kubernetes-Dokumentation unter Speicherklassen
THe parameters
Der Abschnitt der StorageClass
Ressource ist spezifisch für. AWS Verwenden Sie die folgende Tabelle, um die verfügbaren Optionen zu überprüfen.
Parameter | Werte | Standard | Beschreibung |
---|---|---|---|
„csi.storage.k8s.io/fstype“ |
xfs, ext2, ext3, ext4 |
ext4 |
Dateisystemtyp, der bei der Volumenerstellung formatiert wird. Bei diesem Parameter wird Groß- und Kleinschreibung beachtet! |
„Typ“ |
io1, io2, gp2, gp3, sc1, st1, standard, sbp1, sbg1 |
gp3 |
EBS-Volumetyp. |
„IOPSPer RGB“ |
I/O-Operationen pro Sekunde pro GiB. Kann für IO1 IO2, und GP3 Volumes angegeben werden. |
||
„Automatisch zulassen IOPSPerGBIncrease“ |
true, false |
false |
Wenn |
„IOPS“ |
I/O-Operationen pro Sekunde. Kann für IO1 IO2, und GP3 Volumes angegeben werden. |
||
„Durchsatz“ |
125 |
Durchsatz in MiB/s. Nur wirksam, wenn der GP3-Volumetyp angegeben ist. |
|
„verschlüsselt“ |
true, false |
false |
Ob das Volume verschlüsselt werden soll oder nicht. Gültige Werte sind „wahr“ oder „falsch“. |
„BlockExpress“ |
true, false |
false |
Ermöglicht die Erstellung von io2 Block Express-Volumes. |
"kmsKeyId" |
Der vollständige ARN des Schlüssels, der beim Verschlüsseln des Volumes verwendet werden soll. Falls nicht angegeben, AWS wird der Standard-KMS-Schlüssel für die Region verwendet, in der sich das Volume befindet. Dies ist ein automatisch generierter Schlüssel, der aufgerufen wird, |
||
„Blockgröße“ |
Die Blockgröße, die beim Formatieren des zugrunde liegenden Dateisystems verwendet werden soll. Wird nur auf Linux-Knoten und mit fstype |
||
„Inode-Größe“ |
Die Inode-Größe, die beim Formatieren des zugrunde liegenden Dateisystems verwendet werden soll. Wird nur auf Linux-Knoten und mit fstype |
||
"bytesPerInode" |
Der |
||
"numberOfInodes" |
Der |
||
„ext4“ BigAlloc |
true, false |
false |
Ändert das |
„ext4ClusterSize“ |
Die Clustergröße, die beim Formatieren eines |
Weitere Informationen finden Sie unter AWS EBS CSI Driver
Überlegungen
Die Blockspeicherfähigkeit des EKS-Automodus unterscheidet sich von der des EBS-CSI-Treibers.
-
Statische Bereitstellung
-
Wenn Sie extern erstellte EBS-Volumes mit dem automatischen EKS-Modus verwenden möchten, müssen Sie manuell ein AWS Tag mit dem Schlüssel
eks:eks-cluster-name
und dem Wert des Clusternamens hinzufügen.
-
-
Node Startup Taint
-
Sie können die Funktion „Node Startup Taint“ nicht verwenden, um das Pod-Scheduling zu verhindern, bevor die Speicherkapazität bereit ist
-
-
Benutzerdefinierte Tags auf dynamisch bereitgestellten Volumes
-
Sie können das CLI-Flag für Extra-Tags nicht verwenden, um benutzerdefinierte Tags auf dynamisch bereitgestellten EBS-Volumes zu konfigurieren
-
Sie können
StorageClass
Tagging verwenden, um benutzerdefinierte Tags hinzuzufügen. Der automatische Modus von EKS fügt den zugehörigen AWS Ressourcen Tags hinzu. Sie müssen die Cluster-IAM-Rolle für benutzerdefinierte Tags aktualisieren. Weitere Informationen finden Sie unter Benutzerdefinierte Tags für EKS Auto-Ressourcen AWS.
-
-
Detaillierte EBS-Leistungskennzahlen
-
Sie können nicht auf Prometheus-Metriken für die detaillierte EBS-Leistung zugreifen
-
Installieren Sie das CSI Snapshot Controller-Addon
Der EKS-Automatikmodus ist mit dem Amazon EKS-Add-on CSI Snapshot Controller kompatibel.
AWS schlägt vor, dass Sie dieses Add-on so konfigurieren, dass es im integrierten system
Knotenpool ausgeführt wird.
Weitere Informationen finden Sie unter:
Um den Snapshot-Controller im Systemknotenpool zu installieren
-
Öffnen Sie Ihren EKS-Cluster in der AWS Konsole
-
Wählen Sie auf der Registerkarte „Add-ons“ die Option Weitere Add-Ons herunterladen
-
Wählen Sie den CSI Snapshot Controller und dann Weiter
-
Wählen Sie auf der Seite Ausgewählte Add-On-Einstellungen konfigurieren die Option Optionale Konfigurationseinstellungen aus, um das Add-on-Konfigurationsschema anzuzeigen
-
Fügen Sie das folgende Yaml ein, um den Snapshot-Controller dem
system
Knotenpool zuzuordnen. Der Snapshot-Controller beinhaltet eine Toleranz für denCriticalAddonsOnly
Makel.{ "nodeSelector": { "karpenter.sh/nodepool": "system" } }
-
Wählen Sie Weiter
-
-
Überprüfen Sie die Konfiguration des Add-ons und wählen Sie dann Erstellen