Warum ist nach der Clustererstellung keine Ingress-Unterdomäne vorhanden?

Virtuelle Private Cloud Klassische Infrastruktur

Sie erstellen einen Cluster und führen ibmcloud ks cluster get --cluster <cluster> aus, um dessen Status zu überprüfen. Der Zustand (State) des Clusters ist normal, aber die Ingress-Unterdomäne und der geheime Ingress-Schlüssel sind nicht verfügbar.

Auch wenn der Cluster den Status normal hat, kann es sein, dass die Ingress-Unterdomäne und der geheime Schlüssel noch in Bearbeitung sind. Die Erstellung der Ingress-Subdomain und des Secrets kann mehr als 15 Minuten dauern.

Klassische Cluster

  1. Wenn die Workerknoten vollständig bereitgestellt und in den VLANs bereit sind, werden ein portierbares öffentliches und ein portierbares privates Teilnetz für die VLANs bestellt.
  2. Nachdem die portierbaren Teilnetzbestellungen erfolgreich ausgeführt wurden, wird die Konfigurationszuordnung ibm-cloud-provider-vlan-ip-config mit der portierbaren öffentlichen und der portierbaren privaten IP-Adresse aktualisiert.
  3. Wenn die Konfigurationszuordnung ibm-cloud-provider-vlan-ip-config aktualisiert wird, wird die Erstellung einer öffentlichen ALB pro Zone ausgelöst.
  4. Es wird ein Service für die Lastausgleichsfunktion erstellt, der die ALB zugänglich macht, und diesem Service wird eine IP-Adresse zugewiesen.
  5. Die IP-Adresse des Load Balancers wird verwendet, um die Ingress-Subdomain unter IBMNS1 zu registrieren. IBM NS1 Es kann während des Registrierungsvorgangs zu Verzögerungen kommen.

VPC-Cluster

  1. Wenn Sie einen VPC-Cluster erstellen, wird außerhalb Ihres Clusters in Ihrer VPC automatisch eine öffentliche und eine private VPC-Lastausgleichsfunktion erstellt.
  2. Die Erstellung einer öffentlichen ALB pro Zone wird ausgelöst.
  3. Es wird ein Service für die Lastausgleichsfunktion erstellt, der die ALB zugänglich macht, und diesem Service wird ein Hostname zugewiesen.
  4. Der Hostname des Load Balancers wird verwendet, um die Ingress-Subdomain unter IBMNS1 zu registrieren. IBM NS1 Es kann während des Registrierungsvorgangs zu Verzögerungen kommen.

Erstellen Sie einen neuen Cluster mit demselben oder einem ähnlichen Namen, nachdem Sie einen Cluster gelöscht haben? Lesen Sie stattdessen die Informationen im Abschnitt Warum ist nach der Erstellung von Clustern mit dem gleichen oder einem ähnlichen Namen keine Ingress-Unterdomäne vorhanden?.

In der Regel werden, sobald der Cluster bereit ist, innerhalb von 15 Minuten die Ingress-Unterdomäne und der geheime Schlüssel erstellt.

Wenn die Ingress-Unterdomäne und der geheime Schlüssel noch nicht verfügbar sind, nachdem sich Ihr Cluster mehr als 15 Minuten im Status normal befindet, können Sie den Fortschritt des Erstellungsprozesses anhand der folgenden Schritte überprüfen:

  1. Überprüfen, ob die Workerknoten den Zustand (State) normal und den Status Ready aufweisen. Nachdem Sie den Cluster erstellt haben, kann es bis zu 20 Minuten dauern, bis die Workerknoten bereit sind.

    ibmcloud ks worker ls -c CLUSTER_NAME_OR_ID
    

    Beispielausgabe

    ID                                                     Public IP         Private IP      Flavor              State     Status   Zone    Version
    kube-blrs3b1d0p0p2f7haq0g-mycluster-default-000001f7   169.xx.xxx.xxx    10.xxx.xx.xxx   u3c.2x4.encrypted   deployed   Ready    dal10   1.36
    
  2. Stellen Sie sicher, dass die vorausgesetzten Schritte für die ALB-Erstellung abgeschlossen sind.

    • Klassische Cluster: Hier finden Sie Details zur Config ibm-cloud-provider-vlan-ip-config Map.
        kubectl describe cm ibm-cloud-provider-vlan-ip-config -n kube-system
        ```
    * Wenn die Konfigurationszuordnung IP-Adressen anzeigt, fahren Sie mit dem nächsten Schritt fort.
    * Wenn der Abschnitt 'Ereignisse' (**Events**) eine Warnnachricht wie `ErrorSubnetLimitReached: There are already the maximum number of subnets permitted in this VLAN` (Maximale Anzahl zulässiger Teilnetze für dieses VLAN ist erreicht) anzeigt, lesen Sie die Informationen im Thema [Fehlerbehebung für VLAN-Kapazität](/docs/containers?topic=containers-cs_subnet_limit).
    
    Beispielausgabe für eine Konfigurationszuordnung, die mit IP-Adressen gefüllt ist:
    ```sh {: screen}
    NAME:         ibm-cloud-provider-vlan-ip-config
    Namespace:    kube-system
    Labels:       <none>
    Annotations:  <none>
    Data
    ====
    reserved_public_vlan_id:
    ----
    vlanipmap.json:
    ----
    {
        "vlans": [
        {
          "id": "2234947",
          "subnets": [
            {
              "id": "2215454",
              "ips": [
                "10.XXX.XXX.XXX",
                "10.XXX.XXX.XXX",
                "10.XXX.XXX.XXX",
                "10.XXX.XXX.XXX",
                "10.XXX.XXX.XXX"
              ],
              "is_public": false,
              "is_byoip": false,
              "cidr": "10.XXX.XXX.X/29"
            }
          ],
          "zone": "dal10",
          "region": "us-south"
        },
        {
          "id": "2234945",
          "subnets": [
            {
              "id": "2219170",
              "ips": [
                "169.XX.XXX.XX",
                "169.XX.XXX.XX",
                "169.XX.XXX.XX",
                "169.XX.XXX.XX",
                "169.XX.XXX.XX"
              ],
              "is_public": true,
              "is_byoip": false,
              "cidr": "169.XX.XXX.X/29"
            }
          ],
          "zone": "dal10",
          "region": "us-south"
        }
        ],
        "vlan_errors": [],
        "reserved_ips": []
    }
    cluster_id:
    ----
    bmnj1b1d09lpvv3oof0g
    reserved_private_ip:
    ----
    reserved_private_vlan_id:
    ----
    reserved_public_ip:
    ----
    Events:  <none>
    
    • VPC-Cluster: Stellen Sie sicher, dass der VPC-Load-Balancer für Ihre ALBs vorhanden ist. Suchen Sie in der Ausgabe nach dem Namen der VPC-Lastausgleichsfunktion, der mit kube-<cluster_ID> beginnt. Falls das Plug-in infrastructure-service nicht installiert ist, holen Sie die Installation durch Ausführen von ibmcloud plugin install infrastructure-service nach.
        ibmcloud is load-balancers
        ```
    Obwohl die VPC-Lastausgleichsfunktion aufgelistet ist, kann es sein, dass der zugehörige DNS-Eintrag zurzeit noch registriert wird. Wenn eine VPC-Lastausgleichsfunktion erstellt wurde, wird der Hostname durch ein öffentliches DNS registriert. Manchmal kann es einige Minuten dauern, bis dieser DNS-Eintrag in das von Ihrem Client verwendete bestimmte DNS repliziert wird.
    {: note}
    
    
  3. Überprüfen Sie, ob eine ALB für Ihren Cluster vorhanden ist und ob der ALB eine IP-Adresse (klassische Cluster) oder ein Hostname (VPC-Cluster) zugeordnet ist.

    ibmcloud ks ingress alb ls -c <cluster_name_or_ID>
    

    Beispielausgabe

    ALB ID                                Enabled   Status     Type      ALB IP          Zone    Build                          ALB VLAN ID   NLB Version
    private-crbmnj1b1d09lpvv3oof0g-alb1   false     disabled   private   -               dal10   ingress:1.1.2_2507_iks   2234947       2.0
    public-crbmnj1b1d09lpvv3oof0g-alb1    true      enabled    public    169.XX.XXX.XX   dal10   ingress:1.1.2_2507_iks   2234945       2.0
    
    • Wenn eine öffentliche ALB aufgelistet ist und ihr eine IP-Adresse (klassische Cluster) oder ein Hostname (VPC-Cluster) zugewiesen wurde, fahren Sie mit dem nächsten Schritt fort.
    • Wenn eine öffentliche ALB aufgelistet ist, ihr jedoch keine IP-Adresse (klassische Cluster) oder ein Hostname (VPC-Cluster) zugewiesen wurde, versuchen Sie die ALBs zu inaktivieren und anschließend wieder zu aktivieren.
      • Klassische Cluster:
        ibmcloud ks ingress alb disable --alb <ALB_ID> -c <cluster_name_or_ID>
        
        ibmcloud ks ingress alb enable classic --alb <ALB_ID> -c <cluster_name_or_ID>
        
      • VPC-Cluster:
        ibmcloud ks ingress alb disable --alb <ALB_ID> -c <cluster_name_or_ID>
        
        ibmcloud ks ingress alb enable vpc-gen2 --alb <ALB_ID> -c <cluster_name_or_ID>
        
    • Wenn nach einigen Minuten keine ALBs erstellt wurden, prüfen Sie die Möglichkeiten, Hilfe zu erhalten.
  4. Prüfen Sie, ob der Service LoadBalancer, der die ALB zugänglich macht, vorhanden ist, und dass ihm dieselbe IP-Adresse (klassische Cluster) bzw. derselbe Hostname (VPC-Cluster) zugewiesen wurde wie der öffentlichen ALB.

    • Wenn der Service LoadBalancer aufgelistet ist und ihm eine IP-Adresse (klassische Cluster) bzw. ein Hostname (VPC-Cluster) zugewiesen wurde, fahren Sie mit dem nächsten Schritt fort.
    • Wenn nach einigen Minuten keine LoadBalancer-Services erstellt wurden, prüfen Sie die Möglichkeiten, Hilfe zu erhalten.
    kubectl get svc -n kube-system | grep LoadBalancer
    

    Beispielausgabe

    public-crbmnj1b1d09lpvv3oof0g-alb1   LoadBalancer   172.21.XXX.XXX   169.XX.XXX.XX   80:30723/TCP,443:31241/TCP   1d
    
  5. Überprüfen Sie erneut, ob die Ingress-Unterdomäne und der geheime Schlüssel erstellt wurden. Wenn sie nicht verfügbar sind und Sie sich vergewissert haben, dass alle Komponenten aus den Schritten 1 bis 4 vorhanden sind, prüfen Sie die Möglichkeiten zum Abrufen von Hilfe.

    ibmcloud ks cluster get -c <cluster_name_or_ID>