Klassische Cluster: Warum kann ich keine Lastausgleichsfunktion bereitstellen?
Beheben Sie Probleme bei der Bereitstellung oder Aktualisierung von Network Load Balancer (NLB)-Diensten in Ihrem Cluster.
Klassische Infrastruktur
Wenn Sie die Konfigurationszuordnung ibm-cloud-provider-vlan-ip-config in Ihrem klassischen Cluster beschreiben, wird möglicherweise eine Fehlernachricht ähnlich der folgenden Beispielausgabe angezeigt.
oc describe cm ibm-cloud-provider-vlan-ip-config -n kube-system
Warning CreatingLoadBalancerFailed ... ErrorSubnetLimitReached: There are already the maximum number of subnets permitted in this VLAN.
Wenn Sie bei Standardclustern in einer Zone zum ersten Mal einen Cluster erstellen, werden in dieser Zone automatisch ein öffentliches und ein privates VLAN für Sie in Ihrem Konto der IBM Cloud-Infrastruktur bereitgestellt.
In dieser Zone wird ein öffentliches portierbares Teilnetz für das von Ihnen angegebene öffentliche VLAN und ein privates portierbares Teilnetz für das von Ihnen angegebene private VLAN angefordert. Bei Red Hat OpenShift on IBM Cloud gilt für VLANs ein Limit von 40 Teilnetzen. Wenn das VLAN des Clusters in einer Zone bereits diesen Grenzwert erreicht hat, verfügen Sie möglicherweise nicht über eine portierbare öffentliche IP-Adresse, um eine Netzlastausgleichsfunktion (Network Load Balancer, NLB) zu erstellen.
Gehen Sie wie folgt vor, um die Anzahl von Teilnetzen eines VLAN anzuzeigen:
- Wählen Sie in der Infrastrukturkonsole von IBM Cloud die Option Netzwerk > IP-Verwaltung > VLANs aus.
- Klicken Sie auf die VLAN-Nummer des VLANs, mit dem Sie Ihren Cluster erstellt haben. Überprüfen Sie den Abschnitt Teilnetze, um zu sehen, ob mehr als 40 Teilnetze vorhanden sind.
Wenn Sie ein neues VLAN benötigen, wenden Sie sich an den IBM Cloud-Support und fordern Sie es an.
Erstellen Sie dann einen Cluster, der dieses neue VLAN verwendet.
Wenn Sie bereits ein verfügbares VLAN haben, können Sie VLAN Spanning in Ihrem vorhandenen Cluster konfigurieren. Anschließend können Sie dem Cluster neue Workerknoten hinzufügen,
die das andere VLAN mit verfügbaren Teilnetzen verwenden. Verwenden Sie den ibmcloud oc vlan spanning get --region REGION-Befehl, um zu überprüfen,
ob die übergreifende VLAN-Verarbeitung bereits aktiviert ist.
Wenn Sie nicht alle Teilnetze im VLAN verwenden, können Sie Teilnetze im VLAN wiederverwenden, indem Sie sie zu Ihrem Cluster hinzufügen.
-
Prüfen Sie, ob das Teilnetz, das Sie verwenden möchten, verfügbar ist.
Das Infrastrukturkonto, das Sie verwenden, wird möglicherweise von mehreren IBM Cloud-Konten gemeinsam verwendet. In diesem Fall können Sie nur Informationen zu Ihren Clustern anzeigen, selbst wenn Sie den Befehl
ibmcloud oc subnetsausführen, um Teilnetze mit gebundenen Clustern zu sehen. Besprechen Sie sich mit dem Eigner des Infrastrukturkontos, um sicherzustellen, dass die Teilnetze verfügbar sind und nicht von einem anderen Konto oder Team verwendet werden. -
Verwenden Sie den Befehl
ibmcloud oc cluster subnet add, um ein vorhandenes Subnetz für Ihren Cluster verfügbar zu machen. -
Überprüfen Sie, ob das Teilnetz erfolgreich erstellt und zu Ihrem Cluster hinzugefügt wurde. Das Teilnetz-CIDR wird im Abschnitt für Teilnetz-VLANs aufgeführt.
ibmcloud oc cluster get --cluster CLUSTER_NAME --show-resourcesIn dieser Beispielausgabe wurde dem öffentlichen VLAN
2234945ein zweites Teilnetz hinzugefügt:Subnet VLANs VLAN ID Subnet CIDR Public User-managed 2234947 10.xxx.xx.xxx/29 false false 2234945 169.xx.xxx.xxx/29 true false 2234945 169.xx.xxx.xxx/29 true false -
Stellen Sie sicher, dass die portierbaren IP-Adressen aus dem Teilnetz, das Sie hinzugefügt haben, als Wert für EXTERNAL-IP für die Lastausgleichsfunktion verwendet werden. Es kann einige Minuten dauern, bis die Services die portierbaren IP-Adressen aus dem neuen Teilnetz verwenden.
oc get svc -n kube-system