VPC-Teilnetze konfigurieren
Virtual Private Cloud
Ändern Sie den Pool der verfügbaren, portierbaren öffentlichen oder privaten IP-Adressen, indem Sie Teilnetze zu Ihrem IBM Cloud® Kubernetes Service-VPC-Cluster hinzufügen.
Der Inhalt dieser Seite bezieht sich speziell auf VPC-Cluster. Informationen zu klassischen Clustern finden Sie unter Teilnetze und IP-Adressen für klassische Cluster konfigurieren.
Übersicht über den VPC-Netzbetrieb in IBM Cloud Kubernetes Service
Machen Sie sich mit den Basiskonzepten des VPC-Netzbetriebs in IBM Cloud Kubernetes Service-Clustern vertraut.
Teilnetze
Bevor Sie zum ersten Mal einen VPC-Cluster erstellen, müssen Sie in jeder Zone, in der Sie Worker-Knoten bereitstellen möchten, ein VPC-Subnetz erstellen. Ein VPC-Teilnetz besteht aus einem angegebenen Bereich privater IP-Adressen (CIDR-Block) und konfiguriert eine Gruppe von Workerknoten und Pods so, als wären diese an dasselbe physische Kabel angeschlossen.
Wenn Sie einen Cluster erstellen, können Sie für jede Zone nur ein vorhandenes VPC-Teilnetz angeben. Jeder Workerknoten, den Sie in einem Cluster hinzufügen, wird mit einer privaten IP-Adresse aus dem VPC-Teilnetz in dieser Zone bereitgestellt.
Nach der Bereitstellung des Workerknotens bleibt die IP-Adresse des Workerknotens nach einer Operation vom Typ reboot (Neustart) erhalten; nach Operationen vom Typ replace (Ersetzen) und update (Aktualisieren)
ändern sich die IP-Adresse des Workerknotens jedoch.
Löschen Sie nicht die Teilnetze, die Sie Ihrem Cluster bei der Clustererstellung oder beim Hinzufügen von Workerknoten in einer Zone zugeordnet haben. Wenn Sie ein von Ihrem Cluster verwendetes VPC-Teilnetz löschen, können bei allen Lastausgleichsfunktionen, die IP-Adressen aus dem Teilnetz verwenden, Probleme auftreten, und Sie können möglicherweise keine neuen Lastausgleichsfunktionen erstellen.
Wie viele IP-Adressen benötige ich für mein VPC-Subnetz?
Achten Sie beim Erstellen Ihres VPC-Subnetzes darauf, ein Subnetz mit ausreichend IP-Adressen für Ihren Cluster zu erstellen, beispielsweise 256. Sie können die Anzahl der IP-Adressen, die in einem VPC-Teilnetz verwendet werden, später nicht mehr ändern.
Berücksichtigen Sie bei Ihrer Planung die folgenden Reservierungsregeln für IP-Adressen:
- 5 IP-Adressen aus jedem Teilnetz sind standardmäßig durch VPC reserviert.
- Für das Virtual Private Endpoints(VPE)-Gateway ist jeweils eine IP-Adresse aus einem Subnetz in jeder Zone erforderlich, in der Ihr Cluster Worker-Knoten enthält.
- 1 IP-Adresse ist pro Workerknoten in Ihrem Cluster erforderlich.
- 1 IP-Adresse ist jedes Mal erforderlich, wenn Sie einen Workerknoten aktualisieren oder ersetzen. Diese IP-Adressen werden am Ende des Vorgangs wieder freigegeben und können wiederverwendet werden.
- 2 IP-Adressen werden jedes Mal verwendet, wenn Sie eine öffentliche oder private Lastausgleichsfunktion erstellen. Wenn Sie über einen Mehrzonencluster verfügen, werden diese beiden IP-Adressen über Zonen verteilt, sodass das Teilnetz möglicherweise keine reservierte IP-Adresse aufweist.
- Für weitere Netzressourcen, die Sie für den Cluster einrichten, wie beispielsweise automatische Skalierung mit VPNaaS oder LBaaS, sind möglicherweise zusätzliche IP-Adressen erforderlich, oder es gelten andere Servicebeschränkungen. Bei der automatischen Skalierung mit LBaaS beispielsweise kann unter Umständen ein Scale-up auf 16 IP-Adressen pro Lastausgleichsfunktion durchgeführt werden.
Welche IP-Bereiche kann ich für meine VPC-Subnetze verwenden?
Der standardmäßige IP-Adressbereich für VPC-Teilnetze ist 10.0.0.0 bis 10.255.255.255. Eine Liste der IP-Adressbereiche pro VPC-Zone finden Sie im Abschnitt VPC-Standardadresspräfixe.
Wenn Sie Ihren Cluster unter Verwendung von Teilnetzen mit angepassten Bereichen erstellen müssen, finden Sie weitere Informationen in der Anleitung für angepasste Adresspräfixe. Wenn Sie jedoch Teilnetze mit angepassten Bereichen für Ihre Workerknoten verwenden, müssen Sie sicherstellen, dass sich der IP-Bereich für die Teilnetze der Workerknoten nicht mit dem Pod-Teilnetz Ihres Clusters überschneidet. Das Pod-Teilnetz variiert abhängig von der von Ihnen für Teilnetze getroffenen Auswahl während der Clustererstellung und dem Typ von Infrastruktur bei Ihrem Cluster:
- Wenn Sie bei der Cluster-Erstellung in der Option
--pod-subnetein eigenes Pod-Subnetz angegeben haben, werden Ihren Pods IP-Adressen aus diesem Bereich zugewiesen. - Wenn Sie während der Clustererstellung kein angepasstes Pod-Teilnetz angegeben haben, verwendet Ihr Cluster das standardmäßige Pod-Teilnetz. Im ersten Cluster, den Sie in einer VPC erstellen, ist
172.17.0.0/18das Standard-Pod-Teilnetz. Im zweiten Cluster, den Sie in dieser VPC erstellen, ist172.17.64.0/18das standardmäßige Pod-Teilnetz. In jedem weiteren Cluster ist der Podteilnetzbereich das nächste verfügbare Bereich, der keine Überschneidung mit dem Teilnetz/18hat.
Wie erstelle ich Subnetze für den Zugriff auf die klassische Infrastruktur?
Wenn Sie beim Erstellen der VPC den klassischen Zugriff aktivieren, werden die IP-Bereiche der von Ihnen erstellten Teilnetze automatisch durch die Standardadresspräfixe für den klassischen Zugriff bestimmt. Die Standard-IP-Bereiche für den klassischen Zugriff bei VPC-Teilnetzen überschneiden sich jedoch mit den Teilnetzen für die IBM Cloud Kubernetes Service-Steuerebene, sodass Konflikte entstehen. Stattdessen müssen Sie die VPC ohne die automatischen Standard-Adresspräfixe erstellen und anschließend eigene Adresspräfixe und Subnetze innerhalb dieser Bereiche für Ihren Cluster anlegen.
Kann ich für Pods und Dienste in meinem Cluster Subnetze festlegen?
Falls Sie planen, Ihren Cluster mit lokalen Netzen über IBM Cloud Direct Link oder über einen VPN-Service zu verbinden, können Sie Teilnetzkonflikte vermeiden, indem Sie ein CIDR für ein angepasstes Teilnetz angeben, das die privaten IP-Adressen für Ihre Pods bereitstellt, und ein CIDS für ein angepasstes Teilnetz, das die privaten IP-Adressen für Services bereitstellt.
Um bei der Clustererstellung benutzerdefinierte Pod- und Service-Subnetze anzugeben, verwenden Sie die Optionen --service-subnet und --pod-subnet im ibmcloud ks cluster create CLI-Befehl.
Um zu bestimmen, welches Pod- und welches Serviceteilnetz Ihr Cluster verwendet, suchen Sie in der Ausgabe von Pod Subnet das Feld für das Pod-Teilnetz (Service Subnet) und das Feld für das Serviceteilnetz (ibmcloud ks cluster get).
Pods
- Standardbereich
-
Im ersten Cluster, den Sie in einer VPC erstellen, ist
172.17.0.0/18das Standard-Pod-Teilnetz. Im zweiten Cluster, den Sie in dieser VPC erstellen, ist172.17.64.0/18das standardmäßige Pod-Teilnetz. In jedem weiteren Cluster ist der Podteilnetzbereich das nächste verfügbare Bereich, der keine Überschneidung mit dem Teilnetz/18hat. - Größenanforderungen
-
Wenn Sie ein angepasstes Teilnetz angeben, berücksichtigen Sie die Größe des Clusters, den Sie erstellen möchten, und die Anzahl der Workerknoten, die Sie zukünftig hinzufügen können. Das Teilnetz muss ein CIDR von mindestens
/23haben, sodass ausreichend Pod-IP-Adressen für die maximale Anzahl von vier Workerknoten in einem Cluster zur Verfügung gestellt werden können. Für größere Cluster verwenden Sie/22, um genügend Pod-IP-Adressen für acht Workerknoten zu haben,/21, um genügend Pod-IP-Adressen für 16 Workerknoten zu haben, usw. -
Für VPC-Cluster können Sie die Teilnetzgröße angeben, indem Sie sie in die Option
--pod-subneteinschließen. Beispiel:--pod-subnet 0.0.0.0/X, wobeiXdie erforderliche Teilnetzgröße des Pods ist. Anschließend wird das Pod-Teilnetz automatisch ausgewählt. Bei der automatischen Zuweisung des Pod-Subnetzes beginnt die Zuweisung bei172.17.0.0, die maximale Subnetzgröße ist auf13und die minimale Subnetzgröße auf23begrenzt. -
Es gibt ein globales Limit für Arbeiterknoten. Sie können nicht mehr als 500 Arbeitsknoten in allen Clustern einer Region verwenden.
- Bereichsanforderungen
-
Die Pod- und Serviceteilnetze dürfen sich nicht überschneiden und das Pod-Teilnetz darf sich nicht mit den VPC-Teilnetzen für Ihre Workerknoten überschneiden. Das von Ihnen ausgewählte Teilnetz muss in einem der folgenden Bereiche liegen.
-
172.17.0.0 - 172.17.255.255 -
172.21.0.0 - 172.31.255.255 -
192.168.0.0 - 192.168.255.255 -
198.18.0.0 - 198.19.255.255
-
Services
- Standardbereich
- Allen Services, die im Cluster bereitgestellt werden, wird standardmäßig eine private IP-Adresse im Bereich
172.21.0.0/16zugeordnet. - Größenanforderungen
- Wenn Sie ein angepasstes Teilnetz angeben, muss das Teilnetz im CIDR-Format mit einer Größe von mindestens
/24angegeben werden, was mindestens 255 Services im Cluster ermöglicht. - Bereichsanforderungen
- Die Pod- und Serviceteilnetze dürfen sich nicht überschneiden. Das von Ihnen ausgewählte Teilnetz muss in einem der folgenden Bereiche liegen.
-
172.17.0.0 - 172.17.255.255 -
172.21.0.0 - 172.31.255.255 -
192.168.0.0 - 192.168.255.255 -
198.18.0.0 - 198.19.255.255
-
Öffentliche Gateways
Ein öffentliches Gateway ermöglicht einem Teilnetz und allen damit verbundenen Workerknoten das Herstellen abgehender Verbindungen zum Internet. Wenn Ihre Workerknoten auf einen öffentlichen Endpunkt außerhalb des Clusters zugreifen müssen, können Sie auf den VPC-Teilnetzen, auf denen Workerknoten bereitgestellt werden, ein öffentliches Gateway aktivieren.
Wenn ein IBM Cloud-Service Privat-Cloud-Serviceendpunkte nicht unterstützt, müssen Ihre Workerknoten mit einem Teilnetz verbunden sein, dem ein öffentliches Gateway zugeordnet ist. Die Pods auf diesen Workerknoten können durch das öffentliche
Gateway über das öffentliche Netz sicher mit den Services kommunizieren. Beachten Sie, dass kein öffentliches Gateway in Ihren Teilnetzen erforderlich ist, um den eingehenden Netzverkehr vom Internet zu LoadBalancer-Services
oder ALBs zuzulassen.
Innerhalb einer VPC können Sie nur ein öffentliches Gateway pro Zone erstellen. Dieses öffentliche Gateway kann jedoch an mehrere Teilnetze innerhalb dieser Zone angeschlossen sein. Weitere Informationen zu öffentlichen Gateways finden Sie in der Dokumentation zum Netzbetrieb für VPC.
Virtuelle private Endpunkte (VPEs)
Informationen zu VPEs finden Sie im Abschnitt Sichere standardmäßige Cluster-VPC-Vernetzung verstehen.
Netzsegmentierung
Mit 'Netzsegmentierung' wird die Methode beschrieben, bei der ein Netz in mehrere Teilnetze aufgeteilt wird. Apps, die in einem Teilnetz ausgeführt werden, können keine Apps in einem anderen Teilnetz sehen oder darauf zugreifen. Weitere Informationen zu Optionen der Netzsegmentierung für VPC-Teilnetze finden Sie in diesem Abschnitt zur Clustersicherheit.
Teilnetze stellen einen Kanal für die Konnektivität zwischen den Workerknoten innerhalb des Clusters bereit. Darüber hinaus kann jedes System, das mit einem der privaten Teilnetze in derselben VPC verbunden ist, mit den Workerknoten kommunizieren. So können zum Beispiel alle Teilnetze in einer VPC über die Weiterleitung des privaten Layers 3 mit einem integrierten VPC-Router kommunizieren.
Wenn mehrere Ihrer Cluster in der Lage sein müssen, miteinander zu kommunizieren, können Sie diese Cluster in derselben VPC erstellen. Wenn Ihre Cluster jedoch nicht miteinander kommunizieren müssen, können Sie eine bessere Segmentierung des Netzes erreichen, indem Sie die Cluster in separaten VPCs erstellen. Zur Vermittlung des Datenverkehrs im privaten Netz können Sie auch Zugriffssteuerungslisten (ACLs) für Ihre VPC-Teilnetze erstellen. Zugriffssteuerungslisten bzw. ACLs (Access Control Lists) bestehen aus Regeln für den eingehenden und den ausgehenden Datenverkehr, mit denen definiert wird, welcher Ingress und Egress für die einzelnen VPC-Teilnetze zulässig ist.
Einschränkungen für VPC-Netze
Berücksichtigen Sie bei der Erstellung von VPC-Teilnetzen für Ihre Cluster die folgenden Features und Einschränkungen.
- Die CIDR-Standardgröße eines jeden VPC-Teilnetzes beträgt
/24und kann damit bis zu 253 Workerknoten unterstützen. Falls Sie beabsichtigen, mehr als 250 Workerknoten pro Zone in einem Cluster bereitzustellen, sollten Sie die Erstellung eines größer ausgelegten Teilnetzes in Betracht ziehen. - Nachdem Sie ein VPC-Teilnetz erstellt haben, können Sie die Größe und den IP-Bereich des Teilnetzes nicht mehr ändern.
- Mehrere Cluster in derselben VPC können VPC-Teilnetze gemeinsam nutzen. Angepasste Pod- und Serviceteilnetze können jedoch nicht von mehreren Clustern gemeinsam genutzt werden.
- VPC-Subnetze sind an eine Region mit einem einzigen Campus und mehreren Zonen gebunden und können sich nicht über mehrere Zonen oder Regionen erstrecken.
- Nachdem Sie ein Teilnetz erstellt haben, können Sie es nicht in eine andere Zone, Region oder VPC verschieben.
- Wenn Sie Workerknoten haben, die an ein vorhandenes Teilnetz in einer Zone angehängt sind, können Sie das Teilnetz für diese Zone im Cluster nicht ändern.
- Die Bereiche
172.16.0.0/16,172.18.0.0/16,172.19.0.0/16und172.20.0.0/16dürfen nicht verwendet werden. - Innerhalb einer VPC können Sie nur ein öffentliches Gateway pro Zone erstellen. Dieses öffentliche Gateway kann jedoch an mehrere Teilnetze innerhalb dieser Zone angeschlossen sein.
- Die Standardadresspräfixe für den klassischen Zugriff führen jedoch zu einem Konflikt mit den Teilnetzen für die IBM Cloud Kubernetes Service-Steuerebene. Sie müssen die VPC ohne die automatischen Standard-Adresspräfixe erstellen und anschließend eigene Adresspräfixe und Subnetze innerhalb dieser Bereiche für Ihren Cluster anlegen.
VPC-Teilnetz erstellen und öffentliches Gateway zuordnen
Erstellen Sie ein VPC-Teilnetz für Ihren Cluster und ordnen Sie dem Teilnetz optional ein öffentliches Gateway zu.
VPC-Teilnetz in der Konsole erstellen
Erstellen Sie mithilfe der IBM Cloud-Konsole ein VPC-Teilnetz für Ihren Cluster und ordnen Sie dem Teilnetz optional ein öffentliches Gateway zu.
- Klicken Sie im Dashboard für VPC-Teilnetze auf Erstellen.
- Geben Sie einen Namen für Ihr Teilnetz ein und wählen Sie den Namen der VPC aus, die Sie erstellt haben.
- Wählen Sie den Standort und die Zone aus, in der Sie das Teilnetz erstellen möchten.
- Geben Sie die Anzahl der zu erstellenden IP-Adressen an.
- VPC-Teilnetze stellen IP-Adressen für Ihre Workerknoten und Services für Lastausgleichsfunktionen bereit. Daher müssen Sie ein VPC-Teilnetz mit einer ausreichenden Anzahl von IP-Adressen erstellen, beispielsweise 256. Sie können die Anzahl der IPs, über die ein VPC-Teilnetz später verfügt, nicht ändern.
- Wenn Sie einen bestimmten IP-Bereich eingeben, verwenden Sie nicht die folgenden reservierten Bereiche:
172.16.0.0/16,172.18.0.0/16,172.19.0.0/16und172.20.0.0/16.
- Wählen Sie aus, ob Sie Ihrem Teilnetz ein öffentliches Netzgateway zuordnen möchten. Ein öffentliches Netzgateway ist erforderlich, wenn Sie möchten, dass Ihr Cluster auf öffentliche Endpunkte zugreifen kann, zum Beispiel auf eine öffentliche URL einer anderen App oder auf einen IBM CloudService, der nur Public-Cloud-Serviceendpunkte unterstützt.
- Klicken Sie auf Teilnetz erstellen.
- Verwenden Sie das Teilnetz, um einen Cluster zu erstellen, einen neuen Workerpool zu erstellen oder das Teilnetz zu einem vorhandenen Workerpool hinzuzufügen.> Löschen Sie nicht die Teilnetze, die Sie Ihrem Cluster bei der Clustererstellung oder beim Hinzufügen von Workerknoten in einer Zone zugeordnet haben. Wenn Sie ein von Ihrem Cluster verwendetes VPC-Teilnetz löschen, können bei allen Lastausgleichsfunktionen, die IP-Adressen aus dem Teilnetz verwenden, Probleme auftreten, und Sie können möglicherweise keine neuen Lastausgleichsfunktionen erstellen.
VPC-Teilnetz in der CLI erstellen
Erstellen Sie mithilfe der IBM Cloud-Befehlszeilenschnittstelle (CLI) ein VPC-Teilnetz für Ihren Cluster und ordnen Sie dem Teilnetz optional ein öffentliches Gateway zu.
Vorbereitende Schritte
- Melden Sie sich über die Befehlszeile bei Ihrem IBM Cloud-Konto an und geben Sie die IBM Cloud-Region und -Ressourcengruppe an, in der der VPC-Cluster erstellt werden soll. Informationen zu den unterstützten Regionen finden Sie in Abschnitt
VPC in einer anderen Region erstellen. Die Ressourcengruppe des Clusters kann sich von der VPC-Ressourcengruppe unterscheiden. Geben Sie Ihre IBM Cloud-Berechtigungsnachweise
ein, wenn Sie dazu aufgefordert werden. Wenn Sie über eine föderierte ID verfügen, nutzen Sie die Option
--ssozum Anmelden.ibmcloud login -r REGION [-g <resource_group>] [--sso] - Erstellen Sie eine VPC in derselben Region, in der Sie den Cluster erstellen möchten.
Befolgen Sie diese Schritte, um ein VPC-Teilnetz zu erstellen.
-
Rufen Sie die ID der VPC ab, in der Sie das Teilnetz erstellen wollen.
ibmcloud ks vpcs -
Erstellen Sie das Teilnetz. Weitere Informationen zu den Optionen in diesem Befehl finden Sie in der CLI-Referenz.
ibmcloud is subnet-create SUBNET_NAME VPC_ID --zone VPC_ZONE --ipv4-address-count NUMBER_OF_IP_ADDRESS- VPC-Teilnetze stellen IP-Adressen für Ihre Workerknoten und Services für Lastausgleichsfunktionen bereit. Daher müssen Sie ein VPC-Teilnetz mit einer ausreichenden Anzahl von IP-Adressen erstellen, beispielsweise 256. Sie können die Anzahl der IPs, über die ein VPC-Teilnetz später verfügt, nicht ändern.
- Verwenden Sie die folgenden reservierten Zeichenfolgen nicht:
172.16.0.0/16,172.18.0.0/16,172.19.0.0/16, und172.20.0.0/16.
-
Überprüfen Sie, ob Sie über ein öffentliches Gateway in den Zonen verfügen, in denen Sie einen Cluster erstellen möchten. Innerhalb einer VPC können Sie nur ein öffentliches Gateway pro Zone erstellen. Dieses öffentliche Gateway kann jedoch an mehrere Teilnetze innerhalb dieser Zone angeschlossen sein.
ibmcloud is public-gatewaysBeispielausgabe
ID Name VPC Zone Floating IP Created Status Resource group 26426426-6065-4716-a90b-ac7ed7917c63 test-pgw testvpc(36c8f522-.) us-south-1 169.xx.xxx.xxx(26466378-.) 2019-09-20T16:27:32-05:00 available - 2ba2ba2b-fffa-4b0c-bdca-7970f09f9b8a pgw-73b62bc0-b53a-11e9-9838-f3f4efa02374 team3(ff537d43-.) us-south-2 169.xx.xxx.xxx(2ba9a280-.) 2019-08-02T10:30:29-05:00 available -- Wenn Sie bereits über ein öffentliches Gateway in jeder Zone verfügen, notieren Sie jeweils die IDs der öffentlichen Gateways.
- Wenn Sie nicht in jeder Zone über ein öffentliches Gateway verfügen, erstellen Sie ein öffentliches Gateway. Sie sollten das öffentliche Gateway im Format
<cluster>-<zone>-gatewaybenennen. Beachten Sie in der Ausgabe die ID des öffentlichen Gateways.
ibmcloud is public-gateway-create <gateway_name> <VPC_ID> <zone>Beispielausgabe
ID 26466378-6065-4716-a90b-ac7ed7917c63 Name mycluster-us-south-1-gateway Floating IP 169.xx.xx.xxx(26466378-6065-4716-a90b-ac7ed7917c63) Status pending Created 2019-09-20T16:27:32-05:00 Zone us-south-1 VPC myvpc(36c8f522-4f0d-400c-8226-299f0b8198cf) Resource group - -
Verbinden Sie das öffentliche Gateway und das Teilnetz mit den IDs des öffentlichen Gateways und des Teilnetzes.
ibmcloud is subnet-update <subnet_ID> --public-gateway-id <gateway_ID>Beispielausgabe
ID 91e946b4-7094-46d0-9223-5c2dea2e5023 Name mysubnet1 IPv4 CIDR 10.240.xx.xx/24 Address available 250 Address total 256 ACL allow-all-network-acl-36c8f522-4f0d-400c-8226-299f0b8198cf(585bc142-5392-45d4-afdd-d9b59ef2d906) Gateway mycluster-us-south-1-gateway(26466378-6065-4716-a90b-ac7ed7917c63) Created 2019-08-21T09:43:11-05:00 Status available Zone us-south-1 VPC myvpc(36c8f522-4f0d-400c-8226-299f0b8198cf) -
Verwenden Sie das Teilnetz zum Erstellen eines Clusters, zum Erstellen eines neuen Worker-Pools oder zum Hinzufügen des Teilnetzes zu einem vorhandenen Worker-Pool. Löschen Sie nicht die Teilnetze, die Sie Ihrem Cluster bei der Clustererstellung oder beim Hinzufügen von Workerknoten in einer Zone zugeordnet haben. Wenn Sie ein von Ihrem Cluster verwendetes VPC-Teilnetz löschen, können bei allen Lastausgleichsfunktionen, die IP-Adressen aus dem Teilnetz verwenden, Probleme auftreten, und Sie können möglicherweise keine neuen Lastausgleichsfunktionen erstellen.
VPC-Teilnetze für den klassischen Zugriff erstellen
Wenn Sie beim Erstellen der VPC den klassischen Zugriff aktivieren, werden die IP-Bereiche der von Ihnen erstellten Teilnetze automatisch durch die Standardadresspräfixe für den klassischen Zugriff bestimmt. Die Standard-IP-Bereiche für den klassischen Zugriff bei VPC-Teilnetzen überschneiden sich jedoch mit den Teilnetzen für die IBM Cloud Kubernetes Service-Steuerebene, sodass Konflikte entstehen. Stattdessen müssen Sie die VPC ohne die automatischen Standardadresspräfixe erstellen und eigene Adresspräfixe festlegen. Wenn Sie dann Teilnetze für Ihren Cluster erstellen, erstellen Sie die Teilnetze in den von Ihnen erstellten Adresspräfixbereichen.
VPC-Teilnetze für den klassischen Zugriff in der Konsole erstellen
- Erstellen Sie eine VPC mit klassischem Zugriff ohne Standardadresspräfixe.
- Klicken Sie im Dashboard für VPCs auf Erstellen.
- Geben Sie Details für den Namen, die Ressourcengruppe und die gewünschten Tags ein.
- Wählen Sie das Kontrollkästchen für Zugriff auf klassische Ressource aktivieren aus und inaktivieren Sie das Kontrollkästchen für Standardpräfix für jede Zone erstellen.
- Wählen Sie die Region für die VPC aus.
- Klicken Sie auf Virtual Private Cloud-Instanz erstellen.
- Erstellen Sie in jeder Zone Adresspräfixe.
- Klicken Sie auf den Namen Ihrer VPC, um die zugehörigen Details anzuzeigen.
- Klicken Sie auf die Registerkarte Adresspräfixe und klicken Sie auf Erstellen.
- Erstellen Sie für jede Zone, in der Teilnetze erstellt werden sollen, mindestens ein Adresspräfix. Die Adresspräfixe müssen in einem der folgenden Bereiche liegen:
10.0.0.0 - 10.255.255.255,172.17.0.0 - 172.17.255.255,172.21.0.0 - 172.31.255.255,192.168.0.0 - 192.168.255.255.
- Erstellen Sie Teilnetze, die Ihre Adresspräfixe verwenden.
- Klicken Sie im Dashboard für VPC-Teilnetze auf Erstellen.
- Geben Sie einen Namen für Ihr Teilnetz ein und wählen Sie den Namen Ihrer VPC mit klassischem Zugriff aus.
- Wählen Sie den Standort und die Zone aus, in der Sie das Teilnetz erstellen möchten.
- Wählen Sie das Adresspräfix aus, das Sie für diese Zone erstellt haben.
- Geben Sie die Anzahl der zu erstellenden IP-Adressen an. VPC-Teilnetze stellen IP-Adressen für Ihre Workerknoten und Services für Lastausgleichsfunktionen bereit. Daher müssen Sie ein VPC-Teilnetz mit einer ausreichenden Anzahl von IP-Adressen erstellen, beispielsweise 256. Sie können die Anzahl der IPs, über die ein VPC-Teilnetz später verfügt, nicht ändern.
- Wählen Sie aus, ob Sie Ihrem Teilnetz ein öffentliches Netzgateway zuordnen möchten. Ein öffentliches Netzgateway ist erforderlich, wenn Sie möchten, dass Ihr Cluster auf öffentliche Endpunkte zugreifen kann, zum Beispiel auf eine öffentliche URL einer anderen App oder auf einen IBM CloudService, der nur Public-Cloud-Serviceendpunkte unterstützt.
- Klicken Sie auf Teilnetz erstellen.
- Verwenden Sie die Teilnetze, um ein Cluster zu erstellen. Löschen Sie nicht die Teilnetze, die Sie Ihrem Cluster bei der Clustererstellung oder beim Hinzufügen von Workerknoten in einer Zone zugeordnet haben. Wenn Sie ein von Ihrem Cluster verwendetes VPC-Teilnetz löschen, können bei allen Lastausgleichsfunktionen, die IP-Adressen aus dem Teilnetz verwenden, Probleme auftreten, und Sie können möglicherweise keine neuen Lastausgleichsfunktionen erstellen.
VPC-Teilnetze für den klassischen Zugriff über die Befehlszeilenschnittstelle erstellen
- Melden Sie sich über die Befehlszeile bei Ihrem IBM Cloud-Konto an und geben Sie die IBM Cloud-Region und -Ressourcengruppe an, in der der VPC-Cluster erstellt werden soll. Informationen zu den unterstützten Regionen finden Sie in Abschnitt
VPC in einer anderen Region erstellen. Die Ressourcengruppe des Clusters kann sich von der VPC-Ressourcengruppe unterscheiden. Geben Sie Ihre IBM Cloud-Berechtigungsnachweise
ein, wenn Sie dazu aufgefordert werden. Wenn Sie über eine föderierte ID verfügen, nutzen Sie die Option
--ssozum Anmelden.ibmcloud login -r <region> [-g <resource_group>] [--sso] - Erstellen Sie eine VPC mit klassischem Zugriff ohne Standardadresspräfixe. Kopieren Sie die VPC-ID in der Ausgabe.
ibmcloud is vpc-create <name> --classic-access --address-prefix-management manual - Erstellen Sie für jede Zone, in der Teilnetze erstellt werden sollen, mindestens ein Adresspräfix. Die Adresspräfixe müssen in einem der folgenden Bereiche liegen:
10.0.0.0 - 10.255.255.255,172.17.0.0 - 172.17.255.255,172.21.0.0 - 172.31.255.255,192.168.0.0 - 192.168.255.255.ibmcloud is vpc-address-prefix-create <prefix_name> <vpc_id> <zone> <prefix_range> - Erstellen Sie in jeder Zone Teilnetze, die Ihre Adresspräfixe verwenden. Weitere Informationen zu den Optionen in diesem Befehl finden Sie in der CLI-Referenz.
VPC-Teilnetze stellen IP-Adressen für Ihre Workerknoten und Services für Lastausgleichsfunktionen bereit. Daher müssen Sie ein VPC-Teilnetz mit einer ausreichenden Anzahl von IP-Adressen erstellen,
beispielsweise 256. Sie können die Anzahl der IPs, über die ein VPC-Teilnetz später verfügt, nicht ändern.
ibmcloud is subnet-create <subnet_name> <vpc_id> --zone <vpc_zone> --ipv4-address-count <number_of_ip_address> --ipv4-cidr-block <prefix_range> - Optional: Schließen Sie ein öffentliches Netzgateway an Ihr Teilnetz an. Ein öffentliches Netzgateway ist erforderlich, wenn Sie möchten, dass Ihr Cluster auf öffentliche Endpunkte zugreifen kann, zum Beispiel auf eine öffentliche URL einer
anderen App oder auf einen IBM CloudService, der nur Public-Cloud-Serviceendpunkte unterstützt.
- Erstellen Sie in jeder Zone ein öffentliches Gateway. Sie sollten das öffentliche Gateway im Format
<cluster>-<zone>-gatewaybenennen. Beachten Sie in der Ausgabe die ID des öffentlichen Gateways.
ibmcloud is public-gateway-create <gateway_name> <VPC_ID> <zone> ``` Beispielausgabe ```sh {: screen} ID 26466378-6065-4716-a90b-ac7ed7917c63 Name mycluster-us-south-1-gateway Floating IP 169.xx.xx.xxx(26466378-6065-4716-a90b-ac7ed7917c63) Status pending Created 2019-09-20T16:27:32-05:00 Zone us-south-1 VPC myvpc(36c8f522-4f0d-400c-8226-299f0b8198cf) Resource group - ``` 2. Hängen Sie das öffentliche Gateway an das Teilnetz an, indem Sie die IDs des öffentlichen Gateways und des Teilnetzes verwenden. ```sh {: pre} ibmcloud is subnet-update <subnet_ID> --public-gateway-id <gateway_ID> ``` Beispielausgabe ```sh {: screen} ID 91e946b4-7094-46d0-9223-5c2dea2e5023 Name mysubnet1 IPv4 CIDR 10.240.xx.xx/24 Address available 250 Address total 256 ACL allow-all-network-acl-36c8f522-4f0d-400c-8226-299f0b8198cf(585bc142-5392-45d4-afdd-d9b59ef2d906) Gateway mycluster-us-south-1-gateway(26466378-6065-4716-a90b-ac7ed7917c63) Created 2019-08-21T09:43:11-05:00 Status available Zone us-south-1 VPC myvpc(36c8f522-4f0d-400c-8226-299f0b8198cf) ``` - Erstellen Sie in jeder Zone ein öffentliches Gateway. Sie sollten das öffentliche Gateway im Format
- Verwenden Sie die Teilnetze, um ein Cluster zu erstellen. Löschen Sie nicht die Teilnetze, die Sie Ihrem Cluster bei der Clustererstellung oder beim Hinzufügen von Workerknoten in einer Zone zugeordnet haben. Wenn Sie ein von Ihrem Cluster verwendetes VPC-Teilnetz löschen, können bei allen Lastausgleichsfunktionen, die IP-Adressen aus dem Teilnetz verwenden, Probleme auftreten, und Sie können möglicherweise keine neuen Lastausgleichsfunktionen erstellen.
Datenverkehr öffentlicher Netze auf ein Teilnetz mit einem öffentlichen Gateway beschränken
Sie können die Sicherheit Ihres IBM Cloud® Kubernetes Service-Clusters verbessern, indem Sie Zahl der Workerknoten einschränken, die über einen externen Zugriff über ein öffentliches VPC-Teilnetz verfügen.
Wenn die Pods auf Ihren Workerknoten eine Verbindung zu einem öffentlichen externen Endpunkt herstellen müssen, können Sie dem Teilnetz, in dem sich diese Workerknoten befinden, ein öffentliches Gateway zuordnen. Ihr VPC-Cluster kann z. B. automatisch eine Verbindung zu anderen IBM Cloud-Services, die Private-Cloud-Serviceendpunkte unterstützen, wie z. B. IBM Cloud Container Registry. Wenn Sie jedoch auf IBM Cloud-Services zugreifen müssen, die nur Public-Cloud-Serviceendpunkte unterstützen, können Sie ein öffentliches Gateway mit dem Teilnetz verbinden, damit Ihre Pods Anforderungen über das öffentliche Netz senden können.
Sie können den Netzdatenverkehr in Ihrem Cluster isolieren, indem Sie ein öffentliches Gateway mit nur einem Teilnetz in Ihrem Cluster verbinden. Anschließend können Sie die App-Affinität verwenden, um App-Pods bereitzustellen, für die der Zugriff auf externe Endpunkte nur für das Teilnetz mit einem verbundenen öffentlichen Gateway erforderlich ist.
In VPC-Clustern ist ein Teilnetz auf eine Zone begrenzt. Wenn Sie einem Teilnetz nur ein öffentliches Gateway zuordnen und App-Pods planen, für die ein öffentlicher Zugriff nur auf die Workerknoten in diesem Teilnetz erforderlich ist, werden diese Pods in einer Zone in Ihrem Cluster isoliert.
-
Wählen Sie als Ziel die Region des VPC aus, in der Ihr Cluster bereitgestellt wurde.
ibmcloud target -r <region> -
Überprüfen Sie, ob Sie über ein öffentliches Gateway in einer Zone verfügen, in der Sie über Workerknoten verfügen. Innerhalb einer VPC können Sie nur ein öffentliches Gateway pro Zone erstellen. Dieses öffentliche Gateway kann jedoch an mehrere Teilnetze innerhalb dieser Zone angeschlossen sein.
ibmcloud is public-gatewaysBeispielausgabe
ID Name VPC Zone Floating IP Created Status Resource group 26426426-6065-4716-a90b-ac7ed7917c63 test-pgw testvpc(36c8f522-.) us-south-1 169.xx.xxx.xxx(26466378-.) 2019-09-20T16:27:32-05:00 available - 2ba2ba2b-fffa-4b0c-bdca-7970f09f9b8a pgw-73b62bc0-b53a-11e9-9838-f3f4efa02374 team3(ff537d43-.) us-south-2 169.xx.xxx.xxx(2ba9a280-.) 2019-08-02T10:30:29-05:00 available -- Wenn Sie bereits über ein öffentliches Gateway in einer Zone verfügen, in der Sie Worker haben, und in dem VPC, in dem sich Ihr Cluster befindet, dann notieren Sie sich die ID des Gateways.
- Wenn Sie über kein öffentliches Gateway in einer Zone verfügen, in der Sie Worker besitzen, oder in der VPC, in der sich Ihr Cluster befindet, erstellen Sie ein öffentliches Gateway. Sie sollten das öffentliche Gateway im Format
<cluster>-<zone>-gatewaybenennen. Beachten Sie in der Ausgabe die ID des öffentlichen Gateways.
ibmcloud is public-gateway-create <gateway_name> <VPC_ID> <zone> ``` Beispielausgabe ```sh {: screen} ID 26466378-6065-4716-a90b-ac7ed7917c63 Name mycluster-us-south-1-gateway Floating IP 169.xx.xx.xxx(26466378-6065-4716-a90b-ac7ed7917c63) Status pending Created 2019-09-20T16:27:32-05:00 Zone us-south-1 VPC myvpc(36c8f522-4f0d-400c-8226-299f0b8198cf) Resource group - ``` -
Listen Sie die Workerknoten in Ihrem Cluster auf. Für die Zone, in der Sie das öffentliche Gateway aktiviert haben, notieren Sie sich die primäre ID (Primary IP) eines Workerknotens.
ibmcloud ks worker ls -c <cluster_name_or_ID>Beispielausgabe
ID Primary IP Flavor State Status Zone Version kube-bl25g33d0if1cmfn0p8g-vpctest-default-000005ac 10.240.02.00 c2.2x4 normal Ready us-south-2 1.35.7 kube-bl25g33d0if1cmfn0p8g-vpctest-default-00000623 10.240.01.00 c2.2x4 normal Ready us-south-1 1.35.7 -
Beschreiben Sie den Workerknoten. Notieren Sie in der Ausgabe mit den Bezeichnungen (Labels) die Teilnetz-ID in der Bezeichnung
ibm-cloud.kubernetes.io/subnet-id(z. B.5f5787a4-f560-471b-b6ce-20067ac93439im folgenden Beispiel).kubectl describe node <worker_primary_ip>Beispielausgabe
NAME: 10.240.01.00 Roles: <none> Labels: arch=amd64 beta.kubernetes.io/arch=amd64 beta.kubernetes.io/instance-type=c2.2x4 beta.kubernetes.io/os=linux failure-domain.beta.kubernetes.io/region=us-south failure-domain.beta.kubernetes.io/zone=us-south-1 ibm-cloud.kubernetes.io/ha-worker=true ibm-cloud.kubernetes.io/iaas-provider=gc ibm-cloud.kubernetes.io/internal-ip=10.240.0.77 ibm-cloud.kubernetes.io/machine-type=c2.2x4 ibm-cloud.kubernetes.io/os=UBUNTU_20_64 ibm-cloud.kubernetes.io/region=us-south ibm-cloud.kubernetes.io/sgx-enabled=false ibm-cloud.kubernetes.io/subnet-id=5f5787a4-f560-471b-b6ce-20067ac93439 ibm-cloud.kubernetes.io/worker-id=kube-bl25g33d0if1cmfn0p8g-vpcprod-default-00001093 ibm-cloud.kubernetes.io/worker-pool-id=bl25g33d0if1cmfn0p8g-5aa474f ibm-cloud.kubernetes.io/worker-pool-name=default ibm-cloud.kubernetes.io/worker-version=1.15.3_1517 ibm-cloud.kubernetes.io/zone=us-south-1 kubernetes.io/arch=amd64 kubernetes.io/hostname=10.240.0.77 kubernetes.io/os=linux Annotations: node.alpha.kubernetes.io/ttl: 0 ... -
Hängen Sie das öffentliche Gateway an das Teilnetz an, indem Sie die IDs des öffentlichen Gateways und des Teilnetzes verwenden. Die in diesem Teilnetz in dieser Zone bereitgestellten Workerknoten haben jetzt Zugriff auf externe Endpunkte.
ibmcloud is subnet-update <subnet_ID> --public-gateway-id <gateway_ID>Beispielausgabe
ID 91e946b4-7094-46d0-9223-5c2dea2e5023 Name mysubnet1 IPv4 CIDR 10.240.xx.xx/24 Address available 250 Address total 256 ACL allow-all-network-acl-36c8f522-4f0d-400c-8226-299f0b8198cf(585bc142-5392-45d4-afdd-d9b59ef2d906) Gateway mycluster-us-south-1-gateway(26466378-6065-4716-a90b-ac7ed7917c63) Created 2019-08-21T09:43:11-05:00 Status available Zone us-south-1 VPC myvpc(36c8f522-4f0d-400c-8226-299f0b8198cf) -
Fügen Sie in der Bereitstellungsdatei Ihrer App eine Affinitätsregel für das Subnetz-ID-Label hinzu, das Sie in Schritt 4 ermittelt haben.
Im Abschnitt Affinität dieses YAML-Beispiels steht
ibm-cloud.kubernetes.io/subnet-idfürkeyund<subnet_ID>fürvalue.apiVersion: apps/v1 kind: Deployment metadata: name: with-node-affinity spec: template: spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: ibm-cloud.kubernetes.io/subnet-id operator: In values: - <subnet_ID> ... -
Wenden Sie die aktualisierte Bereitstellungskonfigurationsdatei an.
kubectl apply -f with-node-affinity.yaml -
Stellen Sie sicher, dass die App-Pods auf den richtigen Workerknoten bereitgestellt wurden.
- Listen Sie die Pods in Ihrem Cluster auf. Geben Sie in der Ausgabe einen Pod für Ihre App an. Notieren Sie sich die private IP-Adresse (NODE) des Workerknotens, auf dem sich der Pod befindet.
kubectl get pods -o wide ``` In dieser Beispielausgabe befindet sich der App-Pod `cf-py-d7b7d94db-vp8pq` auf einem Workerknoten mit der IP-Adresse `10.240.01.00`. ```sh {: screen} NAME READY STATUS RESTARTS AGE IP NODE cf-py-d7b7d94db-vp8pq 1/1 Running 0 15d 172.30.xxx.xxx 10.240.01.00 ``` 2. Listen Sie die Workerknoten in Ihrem Cluster auf. Suchen Sie in der Ausgabe nach den Workerknoten in der Zone, in der Sie das öffentliche Gateway verbunden haben. Stellen Sie sicher, dass der Workerknoten mit der privaten IP-Adresse, die Sie im vorherigen Schritt angegeben haben, in dieser Zone bereitgestellt wurde. ```sh {: pre} ibmcloud ks worker ls --cluster <cluster_name_or_ID> ``` Beispielausgabe ```sh {: screen} ID Primary IP Flavor State Status Zone Version kube-bl25g33d0if1cmfn0p8g-vpctest-default-000005ac 10.240.02.00 c2.2x4 normal Ready us-south-2 1.35.7 kube-bl25g33d0if1cmfn0p8g-vpctest-default-00000623 10.240.01.00 c2.2x4 normal Ready us-south-1 1.35.7 ``` -
Optional: Wenn Sie Zugriffssteuerungslisten (Access Control Lists, ACLs) verwenden, um Ihren Clusternetzdatenverkehr zu steuern, erstellen Sie in der ACL dieses Teilnetzes Regeln für eingehende und abgehende Daten, um eingehenden und abgehenden Datenverkehr bei den externen öffentlichen Endpunkten zuzulassen, auf die Ihre Pods zugreifen müssen.