DNS-Unterdomäne für eine NLB registrieren
Klassische Infrastruktur
Dieser Inhalt ist bestimmt für NLBs in klassischen Clustern. Informationen zu VPC-Clustern finden Sie unter VPC-Hostnamen für eine Lastausgleichsfunktion in einer DNS-Unterdomäne registrieren.
Nachdem Sie Netzlastausgleichsfunktionen (NLBs) konfiguriert haben, können Sie DNS-Einträge für die NLB-IPs erstellen, indem Sie Unterdomänen erstellen. Sie können auch TCP/HTTP(S)-Monitore einrichten, die den Status der NLB-IP-Adressen hinter den einzelnen Unterdomänen überprüfen.
- Unterdomäne
- Wenn Sie eine öffentliche NLB in einem Einzel- oder Mehrzonencluster erstellen, machen Sie Ihre App dem Internet zugänglich, indem Sie eine Unterdomäne für die NLB-IP-Adresse erstellen. Zusätzlich übernimmt IBM Cloud für Sie die Generierung
und Pflege des Platzhalter-SSL-Zertifikats für die Unterdomäne. In Mehrzonenclustern können Sie eine Unterdomäne erstellen und die NLB-IP-Adresse in jeder Zone zum DNS-Eintrag dieser Unterdomäne hinzufügen. Wenn Sie beispielsweise NLBs für
Ihre App in drei Zonen in der Region 'Vereinigte Staaten (Süden)' bereitgestellt haben, können Sie die Unterdomäne
mycluster-a1b2cdef345678g9hi012j3kl4567890-0001.us-south.containers.appdomain.cloudfür die drei NLB-IP-Adressen erstellen. Wenn ein Benutzer auf die Unterdomäne Ihrer App zugreift, greift der Client zufällig auf eine dieser IPs zu und die Anforderung wird an diese NLB gesendet.
Sie können derzeit keine Unterdomänen für private NLBs erstellen.
Bei der Verwendung von HTTP ist der Standardbenutzeragent für den Überwachungsauftrag NS1 HTTP Monitoring Job.
- Überwachung der Statusprüfung
- Aktivieren Sie Statusprüfungen für die NLB-IP-Adressen hinter einer einzelnen Unterdomäne, um festzustellen, ob sie verfügbar sind. Wenn Sie einen Monitor für Ihre Unterdomäne aktivieren, wird damit die NLB-IP überwacht und die Ergebnisse der
DNS-Suche werden auf Grundlage dieser Statusprüfungen aktualisiert. Wenn Ihre NLBs beispielsweise die IP-Adressen
1.1.1.1,2.2.2.2und3.3.3.3haben, gibt eine normale Operation der DNS-Suche nach Ihrer Unterdomäne alle drei IPs zurück, von denen der Client zufällig auf eine zugreift. Wenn die NLB mit der IP-Adresse3.3.3.3aus irgendeinem Grund nicht verfügbar ist, z. B. wegen eines Zonenfehlers, dann schlägt die Statusprüfung für diese IP fehl. Der Monitor entfernt die fehlgeschlagene IP aus der Unterdomäne und die DNS-Suche gibt nur die einwandfreien IPs1.1.1.1und2.2.2.2zurück.
Sie können alle Unterdomänen anzeigen, die für NLB-IPs in Ihrem Cluster registriert sind, indem Sie den folgenden Befehl ausführen.
ibmcloud oc nlb-dns ls --cluster CLUSTER_NAME_OR_ID
DNS-Mikroservice-Aktualisierungen sind asynchron und können einige Minuten dauern. Beachten Sie, dass Sie möglicherweise noch warten müssen, bis Ihre Änderungen implementiert sind, wenn Sie einen ibmcloud oc nlb-dns-Befehl ausführen
und eine Bestätigungsnachricht mit dem Code 200 empfangen. Um den Status Ihrer Unterdomäne zu überprüfen, führen Sie ibmcloud oc nlb-dns ls aus und suchen Sie die Spalte Status in der Ausgabe.
NLB-IPs bei einer DNS-Unterdomäne registrieren
Machen Sie Ihre App dem öffentlichen Internet verfügbar, indem Sie eine Unterdomäne für die IP-Adresse der Netzlastausgleichsfunktion (NLB) erstellen.
Vorbereitende Schritte:
- Überprüfen Sie die folgenden Einschränkungen.
- Sie können keine Unterdomänen für private NLBs erstellen.
- Sie können bis zu 128 Unterdomänen registrieren. Diese Begrenzung kann auf Anforderung aufgehoben werden, indem ein Supportfall geöffnet wird.
- Erstellen Sie eine NLB für Ihre App in einem Einzelzonencluster oder erstellen Sie NLBs in jeder Zone eines Mehrzonenclusters.
Gehen Sie wie folgt vor, um eine Unterdomäne für eine oder mehrere NLB-IP-Adressen zu erstellen:
-
Rufen Sie die Adresse EXTERNAL-IP für Ihre NLB ab. Wenn Sie in jeder Zone eines Mehrzonenclusters eine NLB haben, die eine App zugänglich machen, rufen Sie die IPs für jede NLB ab.
oc get svcIn der folgenden Beispielausgabe lauten die externen IP-Adressen (EXTERNAL-IPs) der NLB
168.2.4.5und88.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 -
Registrieren Sie die IP, indem Sie eine DNS-Unterdomäne erstellen. Um mehrere IP-Adressen anzugeben, verwenden Sie mehrere
--ipOptionen.ibmcloud oc nlb-dns create classic --cluster <cluster_name_or_id> --ip <NLB_IP> --ip <NLB2_IP> -
Überprüfen Sie, ob die Unterdomäne erstellt wurde.
ibmcloud oc nlb-dns ls --cluster <cluster_name_or_id>Beispielausgabe
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> -
Optional: Richten Sie eine angepasste Domäne ein, die auf die von IBM bereitgestellte Unterdomäne verweist, die Sie im vorherigen Schritt erstellt haben.
- Registrieren Sie eine benutzerdefinierte Domain in Zusammenarbeit mit Ihrem DNS-Anbieter (Domain Name Service).
- Registrieren Sie eine benutzerdefinierte Domäne mit IBM Cloud DNS.
Sie können auch eine benutzerdefinierte Domäne registrieren, indem Sie die
service.kubernetes.io/ibm-load-balancer-cloud-provider-dns-namein Ihrer Load Balancer-Konfiguration verwenden. -
Definieren Sie einen Aliasnamen für Ihre Clusterdomäne, indem Sie die von IBM bereitgestellte Unterdomäne als kanonischen Namensdatensatz (CNAME) angeben.
-
Geben Sie in einem Web-Browser die URL ein, um über die von Ihnen erstellte Unterdomäne auf Ihre App zuzugreifen.
Als Nächstes können Sie Statusprüfungen für eine Unterdomäne durch Erstellen eines Statusmonitors aktivieren.
Informationen zum Unterdomänenformat
Unterdomänen für NLBs folgen dem Format <cluster_name>-<globally_unique_account_HASH>-0001.<region>.containers.appdomain.cloud.
Zum Beispiel kann eine Unterdomäne, die Sie für eine NLB erstellen, etwa folgendermaßen aussehen: mycluster-a1b2cdef345678g9hi012j3kl4567890-0001.us-south.containers.appdomain.cloud. In der folgenden Tabelle sind die einzelnen Komponenten
der Unterdomäne beschrieben.
| NLB-Unterdomänenkomponente | Beschreibung |
|---|---|
* |
Der Platzhalter für die Unterdomäne ist standardmäßig für Ihren Cluster registriert. |
<cluster_name> |
Der Name Ihres Clusters. - Wenn der Clustername 26 Zeichen oder weniger umfasst und der Clustername in dieser Region eindeutig ist, ist der gesamte Clustername eingeschlossen und wird nicht geändert:
|
<globally_unique_account_HASH> |
Ein global eindeutiger Hash wird für Ihr IBM Cloud-Konto erstellt. Alle Unterdomänen, die Sie für NLBs in Clustern in Ihrem Konto erstellen, verwenden diesen global eindeutigen Hash. |
0001 |
Fungiert als Zähler für jede Unterdomäne, die erstellt wird |
<region> |
Die Region, in der der Cluster erstellt wird. |
containers.appdomain.cloud |
Die Unterdomäne für Red Hat OpenShift on IBM Cloud-Unterdomänen. |
Statusprüfungen für eine Unterdomäne durch Erstellen eines Statusprüfmonitors aktivieren
Aktivieren Sie Statusprüfungen für die NLB-IP-Adressen hinter einer einzelnen Unterdomäne, um festzustellen, ob sie verfügbar sind.
Wenn Sie Calico pre-DNAT-Netzwerkrichtlinien, VPC-Sicherheitsgruppen, VPC-Zugriffskontrolllisten(ACLs) oder eine andere benutzerdefinierte Firewall-Lösung verwenden, um eingehenden Datenverkehr zu Ingress- oder Router-Diensten zu blockieren, müssen Sie eingehenden Datenverkehr von den Endpunkten für die Zustandsüberwachung zulassen. Weitere Informationen finden Sie in der Dokumentation über das Zulassen von eingehendem Netzwerkverkehr für die Überwachung der Ingress-Subdomäne.
Bevor Sie beginnen, registrieren Sie NLB-IPs bei einer DNS-Unterdomäne.
-
Rufen Sie den Namen Ihre Unterdomäne ab. Beachten Sie in der Ausgabe, dass der Host den Monitor-Status
Unconfiguredaufweist.ibmcloud oc nlb-dns monitor ls --cluster <cluster_name_or_id>Beispielausgabe
Hostname Status Type Port Path mycluster-a1b2cdef345678g9hi012j3kl4567890-0001.us-south.containers.appdomain.cloud Unconfigured N/A 0 N/A -
Erstellen Sie einen Statusprüfmonitor für die Unterdomäne. Wenn Sie keinen Konfigurationsparameter einschließen, wird der Standardwert verwendet.
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>- Erforderlich: Der Name oder die ID des Clusters, in dem die Unterdomäne registriert ist.
--nlb-host <host_name>- Erforderlich: Die Unterdomäne, für die ein Statusprüfmonitor aktiviert werden soll.
--enable- Fügen Sie diese Option hinzu, um einen neuen Zustandsüberwachungsmonitor für eine Subdomain zu aktivieren.
--type <type>- Das für die Statusprüfung zu verwendende Protokoll:
HTTP,HTTPSoderTCP. Standardwert:HTTP. --path <path>- Wenn
typeaufHTTPSfestgelegt ist: Der Endpunktpfad für die Statusprüfung. Standardwert:/ --timeout <timeout>- Das Zeitlimit in Sekunden, bevor die IP-Adresse als nicht erreichbar eingestuft wird. Die Statusprüfung wartet die im Parameter
intervalangegebene Anzahl von Sekunden, bevor erneut versucht wird, die IP zu erreichen. Der Wert muss eine ganze Zahl im Bereich von 1 bis 60 sein. Standardwert:5 --interval <interval>- Das Intervall (in Sekunden) zwischen den einzelnen Statusprüfungen. Kurze Intervalle können die Failover-Zeit verbessern, erhöhen allerdings die Auslastung der IPs. Der Wert muss eine ganze Zahl im Bereich von 60 bis 300 sein. Standardwert:
60. --port <port>- Die Portnummer, zu der für die Zustandsprüfung eine Verbindung hergestellt werden soll. Wenn
typeaufTCPgesetzt ist, ist dieser Parameter erforderlich. WenntypeaufHTTPoderHTTPSgesetzt ist, definieren Sie den Port nur dann, wenn Sie einen anderen Port als Port 80 für HTTP bzw. 443 für HTTPS verwenden. Standardwert für TCP:0. Standardwert für HTTP:80. Standardwert für HTTPS:443. --header <header>- Erforderlich, wenn oder
HTTPtypeistHTTPS: Die Request-Header für den Health-Check unter HTTP sind auf den Host-Header beschränkt. Dieses Flag gilt nur für den TypHTTPoderHTTPS. Dieses Flag akzeptiert Werte im folgenden Format:--header Header-Name=value. Wenn Sie einen Monitor aktualisieren, werden die vorhandenen Header durch die von Ihnen angegebenen ersetzt. Um alle vorhandenen Header zu löschen, geben Sie das Flag mit einem leeren Wert an--header "".
Beispielbefehl
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 -
Überprüfen Sie, ob der Statusprüfmonitor mit den korrekten Einstellungen konfiguriert ist.
ibmcloud oc nlb-dns monitor get --cluster <cluster_name_or_id> --nlb-host <host_name>Beispielausgabe
Status: enabled Type: https Method: GET Path: /alive Expected Codes: 2xx Port: 443 Timeout: 5 Interval: 60 Headers: Host: example.com -
Überprüfen Sie den Status der Statusprüfung für Ihre Unterdomäne.
ibmcloud oc nlb-dns monitor ls --cluster <cluster_name_or_id>Beispielausgabe
Hostname Status Type Port Path mycluster-a1b2cdef345678g9hi012j3kl4567890-0001.us-south.containers.appdomain.cloud enabled https 443 /alive
IPs- und Monitore aktualisieren und von Unterdomänen entfernen
Sie können NLB-IP-Adressen zu Unterdomänen, die Sie generiert haben, hinzufügen und aus diesen entfernen. Sie können bei Bedarf auch Statusprüfmonitore für Unterdomänen inaktivieren und aktivieren.
NLB-IPs
Wenn Sie später weitere NLBs in anderen Zonen Ihres Clusters hinzufügen, um dieselbe App zugänglich zu machen, können Sie die NLB-IPs der vorhandenen Unterdomäne hinzufügen.
ibmcloud oc nlb-dns add --cluster <cluster_name_or_id> --ip <NLB_IP> --ip <NLB2_IP> ... --nlb-host <host_name>
Sie können auch IP-Adressen von NLBs entfernen, die nicht mehr bei einer Unterdomäne registriert sein sollen. Beachten Sie, dass Sie den folgenden Befehl für jede IP-Adresse ausführen müssen, die Sie entfernen möchten. Wenn Sie alle IPs für eine Unterdomäne entfernen, ist die Unterdomäne weiterhin vorhanden, es sind ihr jedoch keine IPs zugeordnet.
ibmcloud oc nlb-dns rm classic --cluster <cluster_name_or_id> --ip <ip> --nlb-host <host_name>
Überwachungen der Statusprüfung
Wenn Sie die Konfiguration Ihres Statusprüfmonitors ändern müssen, können Sie einzelne Einstellungen ändern. Geben Sie nur die Optionen für die Einstellungen an, die Sie ändern möchten.
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>
Sie können den Statusprüfmonitor für eine Unterdomäne jederzeit inaktivieren, indem Sie den folgenden Befehl ausführen:
ibmcloud oc nlb-dns monitor disable --cluster <cluster_name_or_id> --nlb-host <host_name>
Führen Sie den folgenden Befehl aus, um die Überwachung einer Unterdomäne erneut zu aktivieren:
ibmcloud oc nlb-dns monitor enable --cluster <cluster_name_or_id> --nlb-host <host_name>