Warum können ALB-Pods nicht auf Workerknoten bereitgestellt werden?

Virtuelle Private Cloud Klassische Infrastruktur

Bei Ausführung von kubectl get pods -n kube-system | grep alb werden keine ALB-Pods oder nur einige ALB-Pods erfolgreich in Ihren Workerknoten bereitgestellt.

Wenn Sie einen ALB-Pod durch Ausführen von kubectl describe pod -n kube-system <pod_name> beschreiben, wird eine Nachricht ähnlich der folgenden im Abschnitt Ereignisse der Ausgabe angezeigt.

0/3 nodes are available: 1 node(s) didn’t match pod affinity/anti-affinity, 2 node(s) didn’t match node selector.

Für Ingress sind pro Zone mindestens zwei Workerknoten erforderlich, um die Hochverfügbarkeit sicherzustellen und regelmäßige Aktualisierungen anzuwenden.

ALB-Pods verfügen standardmäßig über zwei Replikate. Allerdings haben ALB-Pods Anti-Affinität-Regeln, um sicherzustellen, dass für die Hochverfügbarkeit nur ein Pod auf jedem Workerknoten geplant wird. Wenn in einem klassischen Cluster oder VPC-Cluster nur ein Workerknoten pro Zone vorhanden ist oder in einem VLAN nur ein Workerknoten, dem Ihr klassischer Cluster zugeordnet ist, können ALB-Pods nicht ordnungsgemäß bereitgestellt werden.

Befolgen Sie diese Schritte, um das Problem zu lösen:

  1. Überprüfen Sie die Anzahl der Worker-Knoten pro Zone in Ihrem Cluster.

    ibmcloud ks worker ls -c <cluster_name_or_ID>
    
  2. Wenn in einer Zone nur ein Arbeitsknoten vorhanden ist, erhöhen Sie die Anzahl der Arbeitsknoten in dieser Zone.

    • Klassische und VPC-Cluster:
    • Nur bei klassischen Clustern: Wenn in jeder Zone Ihres klassischen Clusters mehr als ein Arbeitsknoten vorhanden ist, können Ihre Arbeitsknoten mit verschiedenen VLANs innerhalb einer Zone verbunden sein, so dass nur ein Arbeitsknoten in einem privaten VLAN existiert. Fahren Sie mit dem nächsten Schritt fort.
  3. Bei klassischen Clustern mit mehreren Arbeitsknoten pro Zone überprüfen Sie das private VLAN, mit dem jeder Arbeitsknoten verbunden ist.

    ibmcloud ks worker get -w <worker_ID> -c <cluster_name_or_ID>
    
  4. Wenn in einem privaten VLAN nur ein Workerknoten vorhanden ist und die anderen Workerknoten in der Zone einem anderen privaten VLAN zugeordnet sind, erstellen Sie einen neuen Worker-Pool mit einer Größe von mindestens einem Workerknoten. Wenn Sie dem Worker-Pool eine Zone hinzufügen, geben Sie dieselbe Zone und dasselbe private VLAN an wie der zuvor identifizierte Worker-Knoten.

  5. Wiederholen Sie diese Schritte für jede Zone in Ihrem Cluster, um sicherzustellen, dass in einem privaten VLAN mehr als ein Workerknoten vorhanden ist.

Nach der Bereitstellung der Workerknoten wird die Bereitstellung der ALB-Pods in diesen Workerknoten automatisch geplant.