Perché non esiste alcun dominio secondario Ingress dopo la creazione del cluster?

Virtual Private Cloud Infrastruttura classica

Si crea un cluster e si esegue il comando ibmcloud ks cluster get --cluster per verificarne lo stato. Lo Stato del cluster è normal, ma il Dominio secondario Ingress e il Segreto Ingress non sono disponibili.

Anche se il cluster si trova in uno stato normal, il dominio secondario e il segreto Ingress potrebbero essere ancora in corso. La creazione del sottodominio e del segreto di Ingress potrebbe richiedere più di 15 minuti.

Cluster classici

  1. Quando i nodi di lavoro sono completamente distribuiti e pronti sulle VLAN, vengono ordinate una sottorete pubblica portatile e una privata portatile per le VLAN.
  2. Dopo che gli ordini delle sottoreti portatili sono stati eseguiti correttamente, la mappa di configurazione ibm-cloud-provider-vlan-ip-config viene aggiornata con gli indirizzi IP pubblici e privati portatili.
  3. Quando la mappa di configurazione ibm-cloud-provider-vlan-ip-config viene aggiornata, per la creazione viene attivato un ALB pubblico per ogni zona.
  4. Viene creato un servizio del programma di bilanciamento del carico che espone l'ALB e a cui viene assegnato un indirizzo IP.
  5. L'indirizzo IP del bilanciatore di carico viene utilizzato per registrare il sottodominio Ingress su IBM NS1. IBM NS1 potrebbero verificarsi ritardi durante la procedura di registrazione.

Cluster VPC

  1. Quando crei un cluster VPC, vengono creati automaticamente due programmi di bilanciamento del carico VPC, uno privato e uno pubblico, all'esterno del tuo cluster nel tuo VPC.
  2. Un ALB pubblico per ogni zona viene attivato per la creazione
  3. Viene creato un servizio del programma di bilanciamento del carico che espone l'ALB e a cui viene assegnato un nome host.
  4. Il nome host del bilanciatore di carico viene utilizzato per registrare il sottodominio Ingress su IBM NS1. IBM NS1 potrebbero verificarsi ritardi durante la procedura di registrazione.

Creare un cluster dopo aver eliminato un cluster con lo stesso nome o un nome simile? Consulta Perché non esiste alcun dominio secondario Ingress dopo che ho creato i cluster con lo stesso nome o con un nome simile?.

In genere, dopo che il cluster è pronto, il dominio secondario e il segreto Ingress vengono creati dopo 15 minuti.

Se il dominio secondario e il segreto Ingress non sono ancora disponibili dopo che il tuo cluster si trova in uno stato normal per più di 15 minuti, puoi controllare l'avanzamento del processo di creazione seguendo questi passi:

  1. Verifica che per i nodi di lavoro il valore State sia normal e il valore Status sia Ready. Dopo aver creato il cluster, possono essere necessari fino a 20 minuti prima che i nodi di lavoro siano pronti.

    ibmcloud ks worker ls -c CLUSTER_NAME_OR_ID
    

    Output di esempio

    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. Verifica che i passi prerequisiti per la creazione del tuo ALB siano stati completati.

    • Cluster classici: ottieni i dettagli della mappa di configurazione ibm-cloud-provider-vlan-ip-config.
        kubectl describe cm ibm-cloud-provider-vlan-ip-config -n kube-system
        ```
    * Se la mappa di configurazione mostra gli indirizzi IP, vai al passo successivo.
    * Se la sezione **Events** mostra un messaggio di avvertenza simile a `ErrorSubnetLimitReached: There are already the maximum number of subnets permitted in this VLAN`, consulta l'[argomento per la risoluzione dei problemi relativi alla capacità della VLAN](/docs/containers?topic=containers-cs_subnet_limit).
    
    Output di esempio di una mappa di configurazione popolata con indirizzi IP:
    ```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>
    
    • Cluster VPC: verifica che sia presente il programma di bilanciamento del carico VPC per i tuoi ALB. Nell'output, individua il nome del bilanciatore di carico VPC che inizia con kube-<cluster_ID>. Se non hai installato il plug-in infrastructure-service, installalo eseguendo ibmcloud plugin install infrastructure-service.
        ibmcloud is load-balancers
        ```
    Anche se il programma di bilanciamento del carico VPC viene elencato, la sua voce DNS potrebbe essere ancora in fase di registrazione. Quando un programma di bilanciamento del carico VPC viene creato, il nome host viene registrato tramite un DNS pubblico. A volte, possono essere necessari diversi minuti prima che questa voce DNS venga replicata sul server DNS specifico utilizzato dal cliente.
    {: note}
    
    
  3. Verifica se esiste un ALB per il tuo cluster e se a tale ALB è stato assegnato un indirizzo IP (cluster classici) o un nome host (cluster VPC).

    ibmcloud ks ingress alb ls -c <cluster_name_or_ID>
    

    Output di esempio

    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
    
    • Se viene elencato un ALB pubblico a cui è assegnato un indirizzo IP (cluster classici) o un nome host (cluster VPC), vai al passo successivo.
    • Se viene elencato un ALB pubblico ma non gli viene assegnato un indirizzo IP (cluster classici) o un nome host (cluster VPC), prova a disabilitare e riabilitare gli ALB.
      • Cluster classici:
        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>
        
      • Cluster VPC:
        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>
        
    • Se non viene creato alcun ALB dopo alcuni minuti, riesamina i modi per ottenere assistenza.
  4. Controlla se il servizio LoadBalancer che espone l'ALB esiste e se gli viene assegnato lo stesso indirizzo IP (cluster classici) o nome host (cluster VPC) dell'ALB pubblico.

    • Se viene elencato un servizio LoadBalancer a cui è assegnato un indirizzo IP (cluster classici) o un nome host (cluster VPC), vai al passo successivo.
    • Se non viene creato alcun servizio LoadBalancer dopo alcuni minuti, riesamina i modi per ottenere assistenza.
    kubectl get svc -n kube-system | grep LoadBalancer
    

    Output di esempio

    public-crbmnj1b1d09lpvv3oof0g-alb1   LoadBalancer   172.21.XXX.XXX   169.XX.XXX.XX   80:30723/TCP,443:31241/TCP   1d
    
  5. Controlla di nuovo se il dominio secondario e il segreto Ingress sono stati creati. Se non sono disponibili, ma hai verificato che tutti i componenti indicati nei passaggi da 1 a 4 siano presenti, valuta le modalità per ottenere assistenza.

    ibmcloud ks cluster get -c <cluster_name_or_ID>