Perché al mio cluster manca il dominio secondario containers.appdomain.cloud pubblico?

Virtual Private Cloud Infrastruttura classica

Quando si espone un'applicazione attraverso un sottodominio del controller Ingress, si ottiene un sottodominio locale invece di un percorso pubblico, nel formato: <service_name>-<project_name>.router.default.svc.cluster.local.

Quando si tenta di aprire la console web Red Hat OpenShift o un altro percorso dell'applicazione nel browser, è possibile che venga visualizzato un errore simile al seguente.

Application is not available
The application is currently not serving requests on this endpoint.

Dopo che il cluster è stato creato ed è entrato in uno stato normale, i componenti di rete e di bilanciamento del carico del controller di Ingress richiedono ancora un po' di tempo per essere distribuiti.

Se si espone l'applicazione prima che i componenti di rete siano completamente forniti o se si verifica un errore, le applicazioni possono essere esposte solo internamente con il dominio svc.cluster.local del controller Ingress predefinito.

Quando i componenti vengono completamente forniti, un sottodominio pubblico del controller Ingress è disponibile per le applicazioni, nel formato <cluster-name>-<accountID-hashed>-<ssll>.<region>.containers.appdomain.cloud.

  1. Dopo aver creato un cluster, attendi un po' di tempo prima di esporre le tue applicazioni, anche dopo che il cluster è passato a uno stato di normal.

  2. Controlla il valore di Master Status. Se Master Status non è Ready, riesamina il suo stato e attieniti alle eventuali informazioni di risoluzione dei problemi per correggere il problema.

    ibmcloud oc cluster get -c <cluster_name_or_ID>
    
  3. Controlla che il tuo cluster abbia la connettività pubblica in modo che i componenti di rete possano comunicare con il master man mano che vengono distribuiti.

    • Cluster VPC con endpoint del servizio cloud pubblici e privati abilitati: assicurati che un gateway pubblico sia abilitato su ogni sottorete a cui è collegato il tuo cluster. Il gateway pubblico è richiesto per i componenti predefiniti come la console web e OperatorHub per utilizzare una connessione pubblica e sicura per completare azioni come il pull di immagini da registri privati remoti. Tieni presente che se solo l'endpoint del servizio privato è abilitato per il tuo cluster, non è richiesto alcun gateway pubblico perché l'endpoint del servizio cloud privato viene utilizzato per impostazione predefinita per accedere ai componenti OpenShift come la console web OpenShift o OperatorHub.
    • Cluster classici:
      • Nell'output del Passo 2, controlla che il tuo cluster abbia un URL di endpoint del servizio pubblico (Public Service Endpoint URL). Se il cluster non dispone di un endpoint di servizio cloud pubblico, attivarlo.
      • Verificare che almeno alcuni nodi worker del cluster abbiano un indirizzo IP pubblico. Se nessun nodo worker lo fa, è necessario impostare le VLAN pubbliche per almeno un pool worker.
        ibmcloud oc workers -c <cluster_name_or_ID>
        
  4. Nell'output del Passo 2, controlla che sia disponibile il dominio secondario Ingress (Ingress Subdomain). Prima di creare i componenti del controller Ingress, è necessario eseguire il provisioning dei componenti Ingress del cluster. Se il sottodominio di ingresso e il segreto di ingresso non sono disponibili, vedere Perché non esiste un sottodominio di ingresso dopo la creazione del cluster?

  5. Verificare che l'Hostname del sottodominio del controller di Ingress sia nel formato: <cluster-name>-<accountID-hashed>-<ssll>.<region>.containers.appdomain.cloud.

    ibmcloud oc nlb-dns ls -c <cluster_name_or_ID>
    
    • Se il dominio secondario del controller Ingress non viene aggiornato dopo due ore dalla creazione del cluster, riesamina lo Stato master del cluster e attieniti a qualsiasi procedura di risoluzione dei problemi per risolvere il problema.

Se la procedura di risoluzione dei problemi non risolve il problema, vedi Come ottenere assistenza.