Registrazione di un dominio secondario DNS per un NLB
Infrastrutture classiche
Questo contenuto riguarda specificatamente gli NLB nei cluster classici. Per i cluster VPC, vedi Registrazione di un nome host del programma di bilanciamento del carico VPC con un dominio secondario DNS.
Dopo aver configurato gli NLB (network load balancer), puoi creare le voci DNS per gli IP NLB creando domini secondari. Puoi anche configurare i monitoraggi TCP/HTTP(S) per controllare l'integrità degli indirizzi IP NLB dietro ciascun dominio secondario.
- Dominio secondario
- Quando crei un NLB pubblico in un cluster a zona singola o multizona, puoi esporre la tua applicazione a Internet creando un dominio secondario per l'indirizzo IP NLB. Inoltre, IBM Cloud si occupa di generare e gestire il certificato SSL jolly
per il dominio secondario per tuo conto. Nei cluster multizona, puoi creare un dominio secondario e aggiungere l'indirizzo IP NLB in ciascuna zona a quella voce DNS del dominio secondario. Ad esempio, se hai distribuito gli NLB per la tua
applicazione in tre zone negli Stati Uniti Sud, puoi creare il dominio secondario
mycluster-a1b2cdef345678g9hi012j3kl4567890-0001.us-south.containers.appdomain.cloudper i tre indirizzi IP NLB. Quando un utente accede al dominio secondario della tua applicazione, il client accede a uno di questi IP a caso e la richiesta viene inviata a tale NLB.
Al momento non è possibile creare sottodomini per gli NLB privati.
Quando si utilizza il monitoraggio HTTP, l'agente utente predefinito per il lavoro di monitoraggio è NS1 HTTP Monitoring Job.
- Monitoraggio del controllo di integrità
- Abilita i controlli di integrità sugli indirizzi IP NLB dietro un singolo dominio secondario per determinare se sono disponibili o meno. Quando abiliti un monitoraggio per il tuo dominio secondario, esso controlla lo stato di integrità di ciascun
IP NLB e mantiene aggiornati i risultati della ricerca DNS sulla base dei controlli di integrità effettuati. Ad esempio, se i tuoi NLB hanno gli indirizzi IP
1.1.1.1,2.2.2.2e3.3.3.3, una normale operazione di ricerca DNS del tuo dominio secondario restituisce tutti e 3 gli IP; il client accede a uno di essi in modo casuale. Se l'NLB con indirizzo IP3.3.3.3diventa per un qualsiasi motivo non disponibile, ad esempio a causa di un malfunzionamento di zona, il controllo dell'integrità per tale IP non riesce, il monitoraggio rimuove l'IP non riuscito dal dominio secondario e la ricerca DNS restituisce solo gli IP1.1.1.1e2.2.2.2integri.
Puoi visualizzare tutti i domini secondari registrati per gli IP NLB nel tuo cluster eseguendo il seguente comando.
ibmcloud oc nlb-dns ls --cluster CLUSTER_NAME_OR_ID
Gli aggiornamenti del microservizio DNS sono asincroni e potrebbero richiedere diversi minuti per essere applicati. Notare che se si esegue un comando ibmcloud oc nlb-dns e si riceve un messaggio di conferma 200, potrebbe essere ancora
necessario attendere l'implementazione delle modifiche. Per controllare lo stato del dominio secondario, eseguire ibmcloud oc nlb-dns ls e trovare la colonna Status nell'output.
Registrazione di IP NLB con un dominio secondario DNS
Esponi la tua applicazione all'Internet pubblico creando un dominio secondario per l'indirizzo IP NLB (network load balancer).
Prima di cominciare:
- Esamina le seguenti limitazioni.
- Non è possibile creare sottodomini per gli NLB privati.
- Puoi registrare fino a 128 domini secondari. Questo limite può essere innalzato su richiesta, aprendo un caso di supporto.
- Crea un NLB per la tua applicazione in un cluster a zona singola o crea NLB in ciascuna zona di un cluster multizona.
Per creare un dominio secondario per uno o più indirizzi IP NLB:
-
Ottieni l'indirizzo EXTERNAL-IP per il tuo NLB. Se hai NLB in ciascuna zona di un cluster multizona e tali NLB espongono una sola applicazione, ottieni gli IP per ciascun NLB.
oc get svcNel seguente output di esempio, gli EXTERNAL-IP dell'NLB sono
168.2.4.5e88.2.4.5.NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE lb-myapp-dal10 LoadBalancer 172.21.xxx.xxx 168.2.4.5 1883:30303/TCP 6d lb-myapp-dal12 LoadBalancer 172.21.xxx.xxx 88.2.4.5 1883:31303/TCP 6d -
Registra l'IP creando un dominio secondario DNS. Per specificare più indirizzi IP, utilizzare più opzioni "
--ip".ibmcloud oc nlb-dns create classic --cluster <cluster_name_or_id> --ip <NLB_IP> --ip <NLB2_IP> -
Verifica che il dominio secondario sia stato creato.
ibmcloud oc nlb-dns ls --cluster <cluster_name_or_id>Output di esempio
Hostname IP(s) Health Monitor SSL Cert Status SSL Cert Secret Name mycluster-a1b2cdef345678g9hi012j3kl4567890-0001.us-south.containers.appdomain.cloud ["168.2.4.5"] None created <certificate> -
Facoltativo: configura un dominio personalizzato in modo che punti al dominio secondario fornito da IBM che hai creato nel passo precedente.
- Registra un dominio personalizzato rivolgendoti al tuo provider di servizi DNS (Domain Name Service).
- Registrare un dominio personalizzato utilizzando IBM Cloud DNS.
È anche possibile registrare un dominio personalizzato utilizzando l'annotazione
service.kubernetes.io/ibm-load-balancer-cloud-provider-dns-namenella configurazione del Load Balancer. -
Definisci un alias per il tuo dominio personalizzato specificando il dominio secondario fornito da IBM come record di nome canonico (CNAME).
-
In un browser Web, immetti l'URL per accedere alla tua applicazione attraverso il dominio secondario che hai creato.
In seguito, puoi abilitare i controlli di integrità sul dominio secondario creando un monitoraggio dell'integrità.
Descrizione del formato del dominio secondario
I sottodomini per gli NLB seguono il formato <cluster_name>-<globally_unique_account_HASH>-0001.<region>.containers.appdomain.cloud.
Ad esempio, un dominio secondario che crei per un NLB potrebbe essere simile a mycluster-a1b2cdef345678g9hi012j3kl4567890-0001.us-south.containers.appdomain.cloud. La seguente tabella descrive ciascun componente del dominio secondario.
| Componente dominio secondario NLB | Descrizione |
|---|---|
* |
Il carattere jolly per il dominio secondario viene registrato per impostazione predefinita per il tuo cluster. |
<cluster_name> |
Il nome del cluster. - Se il nome cluster ha una lunghezza massima di 26 caratteri e il nome cluster è univoco in questa regione, l'intero nome cluster viene incluso e non viene modificato:
|
<globally_unique_account_HASH> |
Viene creato un HASH univoco a livello globale per il tuo account IBM Cloud, Tutti i domini secondari che crei per gli NLB nei cluster nel tuo account utilizzano questo HASH univoco a livello globale. |
0001 |
Agisce come contatore per ogni sottodominio creato. |
<region> |
La regione in cui viene creato il cluster. |
containers.appdomain.cloud |
Il dominio secondario per i domini secondari Red Hat OpenShift on IBM Cloud. |
Abilita i controlli di integrità su un dominio secondario creando un monitoraggio dell'integrità
Abilita i controlli di integrità sugli indirizzi IP NLB dietro un singolo dominio secondario per determinare se sono disponibili o meno.
Se si utilizzano i criteri di rete pre-DNAT di Calico, i gruppi di sicurezza VPC, gli elenchi di controllo degli accessi(ACL)VPC o un'altra soluzione firewall personalizzata per bloccare il traffico in ingresso ai servizi di Ingress o router, è necessario consentire il traffico in ingresso dagli endpoint di monitoraggio della salute. Per ulteriori informazioni, consultare la documentazione relativa all'autorizzazione del traffico di rete in entrata per il monitoraggio del sottodominio Ingress.
Prima di iniziare, registra gli IP NLB con un dominio secondario DNS.
-
Richiama il nome del tuo dominio secondario. Nell'output, osserva che lo Stato di monitoraggio dell'host è
Unconfigured.ibmcloud oc nlb-dns monitor ls --cluster <cluster_name_or_id>Output di esempio
Hostname Status Type Port Path mycluster-a1b2cdef345678g9hi012j3kl4567890-0001.us-south.containers.appdomain.cloud Unconfigured N/A 0 N/A -
Crea un monitoraggio del controllo di integrità per il dominio secondario. Se non si specifica un parametro di configurazione, viene utilizzato il valore predefinito.
ibmcloud oc nlb-dns monitor configure --cluster <cluster_name_or_id> --nlb-host <host_name> --enable --type <type> --path <path> --timeout <timeout> --interval <interval> --port <port> --header <header>-c, --cluster <cluster_name_or_ID>- Obbligatorio: il nome o l'ID del cluster in cui è registrato il dominio secondario.
--nlb-host <host_name>- Obbligatorio: il dominio secondario per cui abilitare un monitoraggio del controllo dell'integrità.
--enable- Includere questa opzione per abilitare un nuovo monitor di integrità per un sottodominio.
--type <type>- Il protocollo da utilizzare per il controllo di integrità:
HTTP,HTTPSoTCP. Impostazione predefinita:HTTP. --path <path>- Quando
typeèHTTPS: il percorso dell'endpoint su cui eseguire il controllo di integrità. Predefinito:/ --timeout <timeout>- Il timeout, in secondi, prima che l'IP venga considerato irraggiungibile. Il controllo di integrità attende il numero di secondi specificato nel parametro
intervalprima di provare nuovamente a raggiungere l'IP. Il valore deve essere un numero intero compreso tra 1 e 60. Predefinito:5 --interval <interval>- Intervallo, in secondi, tra ogni controllo di integrità. L'uso di intervalli brevi potrebbe diminuire il tempo di failover, ma aumentare il carico sugli IP. Il valore deve essere un numero intero compreso tra 60 e 300. Impostazione predefinita:
60. --port <port>- Il numero di porta a cui connettersi per il controllo di integrità. Quando
typeèTCP, questo parametro è obbligatorio. QuandotypeèHTTPoHTTPS, definire la porta solo se si utilizza una porta diversa dalla 80 per HTTP o dalla 443 per HTTPS. Impostazione predefinita per TCP:0. Predefinito per HTTP:80. Impostazione predefinita per HTTPS:443. --header <header>- Obbligatorio quando
typeèHTTPoHTTPS: HTTP le intestazioni di richiesta per il controllo di integrità sono limitate all'intestazione Host. Questo flag è valido solo per i tipiHTTPoHTTPS. Questo flag accetta valori nel seguente formato:--header Header-Name=value. Quando aggiorni un monitoraggio, le intestazioni esistenti vengono sostituite da quelle che hai specificato. Per eliminare tutte le intestazioni esistenti, specificare il flag con un valore vuoto--header "".
Comando di esempio
ibmcloud oc nlb-dns monitor configure --cluster mycluster --nlb-host mycluster-a1b2cdef345678g9hi012j3kl4567890-0001.us-south.containers.appdomain.cloud --enable --type HTTPS --path /alive --timeout 5 --interval 60 --header Host=example.com -
Verifica che il monitoraggio del controllo di integrità sia configurato con le impostazioni corrette.
ibmcloud oc nlb-dns monitor get --cluster <cluster_name_or_id> --nlb-host <host_name>Output di esempio
Status: enabled Type: https Method: GET Path: /alive Expected Codes: 2xx Port: 443 Timeout: 5 Interval: 60 Headers: Host: example.com -
Visualizzare lo stato del controllo di integrità del dominio secondario.
ibmcloud oc nlb-dns monitor ls --cluster <cluster_name_or_id>Output di esempio
Hostname Status Type Port Path mycluster-a1b2cdef345678g9hi012j3kl4567890-0001.us-south.containers.appdomain.cloud enabled https 443 /alive
Aggiornamento e rimozione di IP e monitoraggi dai domini secondari
Puoi aggiungere e rimuovere gli indirizzi IP NLB dai domini secondari che hai generato. Puoi anche disabilitare e abilitare i monitoraggi del controllo di integrità per i domini secondari in base alle necessità.
IP NLB
Se successivamente aggiungi ulteriori NLB in altre zone del tuo cluster per esporre la stessa applicazione, puoi aggiungere gli IP NLB al dominio secondario esistente.
ibmcloud oc nlb-dns add --cluster <cluster_name_or_id> --ip <NLB_IP> --ip <NLB2_IP> ... --nlb-host <host_name>
Puoi anche rimuovere gli indirizzi IP degli NLB che non desideri più siano registrati con un dominio secondario. Nota che devi eseguire il seguente comando per ciascun indirizzo IP che desideri rimuovere. Se rimuovi tutti gli IP da un dominio secondario, il dominio secondario esiste ancora, ma non è associato ad alcun IP.
ibmcloud oc nlb-dns rm classic --cluster <cluster_name_or_id> --ip <ip> --nlb-host <host_name>
Controlli del controllo di integrità
Se devi modificare la configurazione del tuo monitoraggio dell'integrità, puoi modificare le impostazioni specifiche. Seleziona solo le opzioni relative alle impostazioni che desideri modificare.
ibmcloud oc nlb-dns monitor configure --cluster <cluster_name_or_id> --nlb-host <host_name> --type <type> --path <path> --timeout <timeout> --interval <interval> --port <port> --header <header>
Puoi disabilitare il monitoraggio del controllo di integrità per un dominio secondario in qualsiasi momento, eseguendo il seguente comando:
ibmcloud oc nlb-dns monitor disable --cluster <cluster_name_or_id> --nlb-host <host_name>
Per riabilitare un monitoraggio per un dominio secondario, esegui il seguente comando:
ibmcloud oc nlb-dns monitor enable --cluster <cluster_name_or_id> --nlb-host <host_name>