Wie konfiguriere ich das Amazon VPC CNI-Plugin für die Verwendung einer IP-Adresse in VPC-Subnetzen mit Amazon EKS?
Ich möchte das Amazon Virtual Private Cloud (VPC) Container Network Interface (CNI)-Plugin so konfigurieren, dass es eine IP-Adresskontrollnummer in VPC-Subnetzen mit Amazon Elastic Kubernetes Service (Amazon EKS) verwendet.
Kurzbeschreibung
Eine der Hauptkomponenten des Amazon VPC CNI ist der L-IPAM-Daemon, der Knoten IP-Adressen zuweist.
Wenn ein neuer Pod auf einem Knoten geplant ist, ruft die Container Runtime die CNI-Binärdatei auf. Die CNI-Binärdatei ruft L-IPAMD auf, um eine IP-Adresse für den neuen Pod abzurufen. Anschließend verfolgt der Pod die elastischen Netzwerkschnittstellen und IP-Adressen, die an die Instance angehängt sind.
Sie können bestimmte Konfigurationsvariablen verwenden, um zu steuern, wie viele Netzwerkschnittstellen und IP-Adressen verwaltet werden. Weitere Informationen finden Sie unter WARM_ENI_TARGET, WARM_IP_TARGET und MINIMUM_IP_TARGET und WARM_PREFIX_TARGET, WARM_IP_TARGET und MINIMUM_IP_TARGET auf der GitHub-Website.
Behebung
Im Folgenden finden Sie bewährte Methoden für jede der Konfigurationsvariablen, die die Wartung von Netzwerkschnittstellen und IP-Adressen steuern.
WARM_ENI_TARGET
Verwenden Sie die Variable WARM_ENI_TARGET, um zu ermitteln, wie viele elastische Netzwerkschnittstellen die L-IPAMD verfügbar hält. Auf diese Weise wird Pods sofort eine IP-Adresse zugewiesen, wenn sie auf einem Knoten geplant werden.
Im Folgenden finden Sie bewährte Methoden für WARM_ENI_TARGET:
- Überprüfen Sie den Worker-Node-Instance-Typ und die maximale Anzahl von Netzwerkschnittstellen und privaten IPv4-Adressen pro Schnittstelle. Dies verhindert die Erschöpfung der verfügbaren Subnetz-IP-Adressen.
- Wenn Sie erwarten, dass Ihre Anwendung stark skaliert wird, verwenden Sie WARM_ENI_TARGET, um neu geplante Pods schnell zu integrieren.
WARM_IP_TARGET
Verwenden Sie die Variable WARM_IP_TARGET um sicherzustellen, dass Sie immer eine definierte Anzahl verfügbarer IP-Adressen im Warm-Pool von L-IPAMD haben.
Im Folgenden finden Sie bewährte Methoden für WARM_IP_TARGET:
- Verwenden Sie für Cluster mit niedriger Produktivität WARM_IP_TARGET.Dies bedeutet, dass der Netzwerkschnittstelle nur die erforderliche Anzahl von IP-Adressen zugewiesen wird.
- Verwenden Sie diese Einstellung nicht für große Cluster oder wenn der Cluster eine hohe Pod-Churn aufweist. Diese Einstellung kann zu zusätzlichen Aufrufen der Amazon Elastic Compute Cloud (Amazon EC2)-API führen und Anfragen drosseln. Es hat sich bewährt, ein MINIMUM\ _IP\ _TARGET festzulegen, wenn Sie WARM\ _IP\ _TARGET verwenden.
- Wenn ein MINIMUM\ _IP\ _TARGET festgelegt ist, empfiehlt es sich, WARM\ _IP\ _TARGET größer als 0 zu verwenden.
MINIMUM_IP_TARGET
Verwenden Sie MINIMUM\ _IP\ _TARGET, um sicherzustellen, dass einem Knoten bei seiner Erstellung eine Mindestanzahl von IP-Adressen zugewiesen wird. Diese Variable wird im Allgemeinen mit der Variablen WARM_IP_TARGET verwendet.
Im Folgenden finden Sie bewährte Methoden für MINIMUM_IP_TARGET:
- Wenn Sie die Mindestanzahl von Pods kennen, die Sie pro Knoten ausführen möchten, verwenden Sie MINIMUM_IP_TARGET. Dadurch wird sichergestellt, dass die erforderliche Anzahl von IP-Adressen zugewiesen wird.
- Setzen Sie diese Variable mit WARM_IP_TARGET, um sicherzustellen, dass auf dem Knoten verfügbare IP-Adressen für zukünftige Pods verfügbar sind.
WARM_PREFIX_TARGET
Verwenden Sie die Variable WARM_PREFIX_TARGET, um sicherzustellen, dass Sie der Netzwerkschnittstelle der Instance immer eine definierte Anzahl von Präfixen (/28 CIDR-Blöcke) hinzugefügt haben. Sie können WARM_PREFIX_TARGET nur für CNI-Version 1.9.0 oder höher verwenden, und Sie müssen die Amazon VPC CNI-Funktion zur Zuweisung von IP-Adresspräfixen aktivieren.
Im Folgenden finden Sie bewährte Methoden für WARM_PREFIX_TARGET:
-
Wenn Sie die IP-Adresspräfixzuweisung verwenden, stellen Sie sicher, dass die Variable WARM_PREFIX_TARGET auf einen Wert größer oder gleich 1 gesetzt ist. Wenn es auf 0 gesetzt ist, erhalten Sie die folgende Fehlermeldung:
„Error: Setting WARM_PREFIX_TARGET = 0 is not supported while WARM_IP_TARGET/MINIMUM_IP_TARGET is not set. Please configure either one of the WARM_{PREFIX/IP}_TARGET or MINIMUM_IP_TARGET env variables.“
-
Verwenden Sie für kleinere Subnetze WARM_IP_TARGET mit WARM_PREFIX_TARGET. Dadurch wird die Zuweisung zu vieler Präfixe vermieden, die die verfügbaren IP-Adressen erschöpfen können.
Weitere Informationen darüber, wie sich diese Konfigurationsvariablen auf die Nutzung von IP-Adressen auswirken, finden Sie unter CNI-Konfigurationsvariablen auf der GitHub-Website.
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren