Testdomain verwenden

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 verwendet Cloud Run for Anthos in Google Cloud-Clustern die Basisdomain example.com und lässt 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:

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

Prüfen Sie, ob das Cloud SDK 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 von der Google Cloud Console ab:

  1. Rufen Sie in der Cloud Console die GKE-Seite auf:
    Zur GKE-Seite

  2. Klicken Sie auf Dienste und Ingress.

  3. 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öher
    1.14.3-gke.12 und höher
    1.13.10-gke.8 und höher
    istio-ingress
    Alle anderen Versionen istio-ingressgateway
  4. 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 nur 00.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-system
Die 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/TCP
Die 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 Cloud Console von example.com in einen DNS-Platzhalter-Dienst (z. B. xip.io):

  1. Rufen Sie in der Google Cloud Console die Seite Domainzuordnungen für Cloud Run for Anthos auf:
    Zur Seite "Domainzuordnungen"

  2. Wählen Sie Zuordnung hinzufügen > Standarddomain für Cluster hinzufügen aus.

  3. Klicken Sie auf das Kästchen neben "Diese Domainzuordnung auf alle in diesem Cluster bereitgestellten Cloud Run for Anthos-Dienste anwenden".

  4. Wählen Sie Ihren Cluster aus dem Drop-down-Menü aus.

  5. 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 Sie:

  • [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

  1. Rufen Sie in der Google Cloud Console die Seite Domainzuordnungen für Cloud Run for Anthos auf:
    Zur Seite "Domainzuordnungen"

  2. Wählen Sie Zuordnung hinzufügen > Standarddomain für Cluster hinzufügen aus.

  3. Klicken Sie auf das Kästchen neben "Diese Domainzuordnung auf alle in diesem Cluster bereitgestellten Cloud Run for Anthos-Dienste anwenden".

  4. Wählen Sie Ihren Cluster aus dem Drop-down-Menü aus.

  5. 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:

  1. Melden Sie sich bei Ihrem Domain-Registrator in Ihrem Konto an und öffnen Sie dann die DNS-Konfigurationsseite.

  2. Suchen Sie auf der Konfigurationsseite der Domain den Abschnitt mit den Hosteinträgen und fügen Sie die erforderlichen Ressourceneinträge hinzu.

    1. 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:

        DNS-Platzhalter

    2. 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.