GKE-Standarddomain in eine für Testzwecke geeignete Domain ändern

Cloud Run for Anthos in Google Cloud verwendet standardmäßig example.com als Basisdomain, wobei der vollständig qualifizierte Domainname für einen Dienst das Format http://{service}.{namespace}.example.com hat. Diese URL akzeptiert keine Anfragen.

Auf dieser Seite erfahren Sie, wie Sie diese Standarddomain für Ihren Cloud Run for Anthos in Google Cloud-Cluster in eine Domain ändern, die zu Testzwecken verwendet werden kann. In der Anleitung werden kostenlose Platzhalter-DNS-Websites verwendet, sodass Sie für Ihre Tests keine benutzerdefinierte Domain erwerben müssen. Sie können wahlweise jedoch auch eine eigene benutzerdefinierte Domain mit Platzhaltern verwenden. Auf dieser Seite werden beide Methoden erläutert.

Vorbereitung

Prüfen Sie, ob das Cloud SDK und kubectl installiert und konfiguriert sind:

Alternative für Platzhalter-DNS auswählen

In der Entwicklungs- und Testphase ändern Sie die Standarddomain in eine der kostenlosen Platzhalter-DNS-Websites. Hier einige Beispiele:

Sie können anstelle der kostenlosen Websites auch eine eigene benutzerdefinierte Domain als Standarddomain verwenden. Hierfür müssen Sie eine Domain erwerben und Ressourceneinträge bei Ihrem Domain-Registrator einrichten, um DNS-Platzhalter zu unterstützen.

Externe IP-Adresse abrufen

Unabhängig davon, ob Sie eine der kostenlosen Platzhalter-DNS-Websites oder eine eigene benutzerdefinierte Domain verwenden, müssen Sie die externe IP-Adresse des Load-Balancer-Dienstes abrufen, die für den Istio Ingress Controller erstellt wurde.

So rufen Sie die externe IP-Adresse für das Istio-Ingress-Gateway ab:

kubectl get svc ISTIO-GATEWAY -n NAMESPACE 
Ersetzen Sie ISTIO-GATEWAY und NAMESPACE so:
Clusterversion ISTIO-GATEWAY NAMESPACE
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 gke-system
Alle anderen Versionen istio-ingressgateway istio-system

Die resultierende Ausgabe sieht in etwa so aus:

NAME            TYPE           CLUSTER-IP     EXTERNAL-IP  PORT(S)
ISTIO-GATEWAY    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.

  • Für die kostenlosen Platzhalter-Websites geben Sie in der Clusterkonfiguration die externe IP-Adresse an. Dies wird als Nächstes beschrieben.
  • Für eine eigene benutzerdefinierte Domain geben Sie die externe IP-Adresse nicht in der Clusterkonfiguration an. Sie verwenden sie jedoch in einem neuen oder aktualisierten Ressourceneintrag bei Ihrem Domain-Registrator.

Domain in Clusterkonfiguration bearbeiten

Cloud Run for Anthos in Google Cloud verwendet die config-domain-ConfigMap, um die Basisdomain für alle Dienste zu definieren, 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.

Kostenlose Platzhalter-DNS-Websites verwenden

Verwenden Sie den folgenden Befehl, um die Standardbasisdomain von example.com in eine der kostenlosen DNS-Platzhalter-Websites zu ändern, z. B. 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 kostenlose Platzhalter-DNS-Website, die Sie verwenden.

Sie können diesen Befehl für weitere Änderungen mit anderen Werten wiederholen.

Ihre Dienste sind ab sofort unter {service-name}.{namespace}.{[EXTERNAL-IP].xip.io} verfügbar.

Mit einer benutzerdefinierten Domain testen

Wenn Sie Ihre benutzerdefinierte Domain verwenden möchten, um mit dieser Domain zu testen, statt eine der kostenlosen Platzhalter-DNS-Websites zu verwenden:

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

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

  3. 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-Datensätze aktualisiert und auf Ihren Cluster verwiesen haben, sind Ihre Dienste unter {service-name}.{namespace}.{your-domain} verfügbar.