Hier erfahren Sie, wie Sie mithilfe von Platzhalter-DNS-Einträgen eine Domain für Ihren Cluster konfigurieren. Sie müssen eine Domain konfigurieren, damit Ihre Dienste Anfragen akzeptieren und Ihnen Zugriff zum Testen zur Verfügung steht.
Standardmäßig verwenden Ihre Cloud Run for Anthos-Cluster die Basisdomain example.com
und lassen keine Anfragen an Ihre Dienste zu. Beispiel: Das Senden von Anfragen an http://{service}.{namespace}.example.com
schlägt fehl.
Damit die Dienste in Ihrem Cluster Anfragen akzeptieren können, müssen Sie Ihre Domain für eine der folgenden Optionen konfigurieren:
- Kostenloser DNS-Platzhalterdienst
- Ihre benutzerdefinierte Domain, deren Inhaber Sie sind. Weitere Informationen finden Sie unter Benutzerdefinierte Domains zuordnen.
DNS-Platzhalterdatensätze sollten nur zum Testen verwendet werden, da die Probleme hinsichtlich der Zuverlässigkeit von Anfragen beeinträchtigt sind. Weitere Informationen finden Sie unter Platzhalter-DNS-Einträge.
Hinweis
Überprüfen Sie, ob Google Cloud CLI und kubectl installiert und konfiguriert sind:
Zwischen einem DNS-Platzhalterdienst und einer benutzerdefinierten Domain auswählen
Für die Entwicklung und Tests können Sie die Standarddomain so ändern, dass sie eine Platzhalter-DNS-Testwebsite verwendet. Hier einige Beispiele:
Wenn Sie bereits eine Domain haben, die Sie zu Testzwecken verwenden möchten, oder wenn Sie eine Domain zum Testen nicht kaufen möchten, können Sie die Standarddomain als eigene Domain festlegen. Eine benutzerdefinierte Domain bietet eine höhere Zuverlässigkeit für Tests.
Externe IP-Adresse abrufen
Bevor Sie fortfahren, müssen Sie die externe IP-Adresse des Load-Balancer-Dienstes abrufen, die für den Istio Ingress Controller erstellt wurde.
Console
So rufen Sie die externe IP-Adresse des Load-Balancers aus der Google Cloud Console ab:
Rufen Sie in der Google Cloud Console die Seite „GKE“ auf:
Zur Seite „GKE“Klicken Sie auf Dienste und Ingress.
Ermitteln Sie den Dienst, der der Istio Ingress Controller Ihres Clusters ist. Der Typ des Dienstes lautet Externer Load-Balancer. In der folgenden Tabelle wird der Name des Dienstes basierend auf der Version Ihres Clusters aufgeführt:
Clusterversion ISTIO-GATEWAY 1.15.3-gke.19
und höher1.14.3-gke.12
und höher1.13.10-gke.8
und höheristio-ingress
Alle anderen Versionen istio-ingressgateway
Nachdem Sie den Istio Ingress Controller Ihres Clusters gefunden haben, kopieren Sie seinen Endpunkt. Dies ist die IP-Adresse ohne Portnummer. Beispiel:
00.000.000.000:11
wird als Endpunkt aufgeführt, aber Sie müssen nur00.000.000.000
kopieren.
Befehlszeile
So rufen Sie die externe IP-Adresse für das Istio-Ingress-Gateway ab:kubectl get svc istio-ingress -n gke-systemDie resultierende Ausgabe sieht in etwa so aus:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) istio-ingress LoadBalancer XX.XX.XXX.XX pending 80:32380/TCP,443:32390/TCP,32400:32400/TCPDie EXTERNAL-IP für den Load-Balancer ist die zu verwendende IP-Adresse.
Wenn Sie einen Platzhalterdienst verwenden, benötigen Sie die externe IP-Adresse für das Bearbeiten der Clusterkonfiguration. Wenn Sie Ihre eigene benutzerdefinierte Domain verwenden, benötigen Sie die externe IP-Adresse, um in Ihrem Domain-Registrator einen Datensatz zu erstellen oder zu aktualisieren.
Clusterdomain konfigurieren
Cloud Run for Anthos definiert mit der ConfigMap config-domain
die Basisdomain für alle Dienste, die im Cluster bereitgestellt werden. Der Befehl zum Bearbeiten dieser Konfiguration hängt davon ab, ob Sie eine kostenlose Platzhalter-DNS-Website oder eine eigene benutzerdefinierte Domain verwenden. Sie können diese Schritte mit anderen Werten wiederholen, wenn Sie die Standardclusterdomain später aktualisieren möchten.
Mit einem DNS-Platzhalterdienst testen
Mit xip.io
wird gezeigt, wie Sie Ihre Domain für die Verwendung eines DNS-Platzhalterdienstes konfigurieren. Sie können sie jedoch durch einen anderen Dienst ersetzen.
Console
So ändern Sie die Standardbasisdomain in der Google Cloud Console von example.com
in einen der DNS-Platzhalterdienste (z. B. xip.io
):
Rufen Sie in der Google Cloud Console die Seite Domainzuordnungen für Cloud Run for Anthos auf:
Wählen Sie Zuordnung hinzufügen > Standarddomain für Cluster hinzufügen aus.
Klicken Sie auf das Kästchen neben "Diese Domainzuordnung auf alle in diesem Cluster bereitgestellten Cloud Run for Anthos-Dienste anwenden".
Wählen Sie Ihren Cluster aus dem Drop-down-Menü aus.
Geben Sie im Feld Domain den Wert [EXTERNAL-IP].xip.io ein. Ersetzen Sie:
[EXTERNAL-IP] durch die externe IP-Adresse des Load-Balancers.
xip.io durch die von Ihnen verwendete Platzhalter-DNS-Website.
Befehlszeile
Verwenden Sie den folgenden Befehl, um die Standardbasisdomain von example.com
in eine der DNS-Platzhalter-Websites zu ändern (xip.io
):
kubectl patch configmap config-domain --namespace knative-serving --patch \ '{"data": {"example.com": null, "[EXTERNAL-IP].xip.io": ""}}'
Ersetzen
- [EXTERNAL-IP] durch die externe IP-Adresse des Load-Balancers.
- xip.io durch die von Ihnen verwendete Platzhalter-DNS-Website.
Ihr Dienst ist ab sofort unter {service-name}.{namespace}.{[EXTERNAL-IP].xip.io}
verfügbar.
Mit einer benutzerdefinierten Domain testen
Wenn Sie eine eigene benutzerdefinierte Domain zum Testen verwenden möchten, führen Sie die folgenden Schritte aus.
Aktualisieren Sie zuerst die ConfigMap des Clusters so, dass sie auf Ihre Domain verweist:
Console
Rufen Sie in der Google Cloud Console die Seite Domainzuordnungen für Cloud Run for Anthos auf:
Wählen Sie Zuordnung hinzufügen > Standarddomain für Cluster hinzufügen aus.
Klicken Sie auf das Kästchen neben "Diese Domainzuordnung auf alle in diesem Cluster bereitgestellten Cloud Run for Anthos-Dienste anwenden".
Wählen Sie Ihren Cluster aus dem Drop-down-Menü aus.
Geben Sie in das Feld Domain Ihren Domainnamen ein. Beispiel:
example.com
Befehlszeile
Geben Sie Ihre benutzerdefinierte Domain mit folgendem Befehl an:
kubectl patch configmap config-domain --namespace knative-serving --patch \ '{"data": {"example.com": null, "[DOMAIN]": ""}}'
Ersetzen Sie [DOMAIN] durch Ihre eigene Domain, z. B. mydomain.com
. Der obige Befehl entfernt example.com
aus der ConfigMap und fügt mydomain.com
als Standardbasisdomain hinzu. Sie können diesen Befehl wiederholen, wenn Sie die Domain später wieder ändern möchten.
Die verbleibenden Schritte müssen auf der Website Ihres Domain-Registrators ausgeführt werden:
Melden Sie sich bei Ihrem Domain-Registrator in Ihrem Konto an und öffnen Sie dann die DNS-Konfigurationsseite.
Suchen Sie auf der Konfigurationsseite der Domain den Abschnitt mit den Hosteinträgen und fügen Sie die erforderlichen Ressourceneinträge hinzu.
So fügen Sie dem Konto beim DNS-Anbieter einen DNS-Eintrag hinzu:
- Wählen Sie als Eintragstyp
A
aus. Geben Sie den Platzhalter
*
wie im folgenden Beispiel gezeigt ein:
- Wählen Sie als Eintragstyp
Speichern Sie die Änderungen auf der DNS-Konfigurationsseite des Kontos Ihrer Domain. In den meisten Fällen werden die Änderungen innerhalb von wenigen Minuten wirksam. Es kann jedoch abhängig vom Registrator und der Gültigkeitsdauer (TTL) vorheriger DNS-Einträge für die Domain auch mehrere Stunden dauern.
Nachdem Sie Ihre DNS-Einträge aktualisiert und auf Ihren Cluster verwiesen haben, ist Ihr Dienst unter {service-name}.{namespace}.{your-domain}
verfügbar.