Remplacer un domaine GKE par défaut en domaine utilisable pour les tests

Par défaut, Cloud Run pour Anthos sur Google Cloud utilise example.com comme domaine de base, où le nom de domaine complet d'un service est au format http://{service}.{namespace}.example.com. Notez que cette URL n'accepte pas les requêtes.

Cette page explique comment remplacer le domaine par défaut de votre cluster Cloud Run pour Anthos sur Google Cloud par un domaine utilisable à des fins de test. Les instructions montrent comment utiliser des sites à DNS générique gratuit afin que vous n'ayez pas à acheter un domaine personnalisé pour effectuer des tests. Toutefois, vous pouvez également utiliser des caractères génériques avec un domaine personnalisé dont vous êtes propriétaire, si vous le souhaitez. Cette page décrit les deux méthodes.

Avant de commencer

Vérifiez que vous avez bien installé et configuré le SDK Cloud et kubectl.

Choisir une alternative aux DNS génériques

Lorsque vous développez et testez, vous modifiez le domaine par défaut pour utiliser l'un des sites de test à DNS générique gratuit. Voici quelques exemples :

Au lieu d'utiliser l'un de ces sites gratuits, vous pouvez également remplacer le domaine par défaut par votre propre domaine personnalisé, mais cela implique d'acheter un domaine et de l'enregistrer auprès de votre service d'enregistrement de noms de domaine afin d'accepter les DNS génériques.

Obtenir l'adresse IP externe

Que vous utilisiez l'un des sites à DNS générique gratuit ou un domaine personnalisé dont vous êtes propriétaire, vous devez obtenir l'adresse IP externe du service d'équilibrage de charge créé pour le contrôleur d'entrée Istio.

Pour obtenir l'adresse IP externe de la passerelle d'entrée Istio, exécutez la commande suivante :

kubectl get svc ISTIO-GATEWAY -n NAMESPACE 
Remplacez ISTIO-GATEWAY et NAMESPACE comme suit :
Version du cluster ISTIO-GATEWAY NAMESPACE
1.15.3-gke.19 et versions ultérieures
1.14.3-gke.12 et versions ultérieures
1.13.10-gke.8 et versions ultérieures
istio-ingress gke-system
Toutes les autres versions istio-ingressgateway istio-system

où le résultat ressemble à ce qui suit :

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

La valeur EXTERNAL-IP de l'équilibreur de charge est l'adresse IP que vous devez utiliser.

  • Pour les sites génériques gratuits, vous utiliserez l'adresse IP externe lors de la modification de la configuration du cluster, décrite ci-après.
  • Dans le cas d'un domaine personnalisé dont vous êtes propriétaire, vous n'utiliserez pas l'adresse IP externe dans la configuration du cluster mais dans un nouvel enregistrement ou un enregistrement mis à jour par votre service d'enregistrement de noms de domaine.

Modifier la configuration d'un domaine de cluster

Cloud Run pour Anthos sur Google Cloud utilise le fichier ConfigMap config-domain pour définir le domaine de base de tous les services déployés sur le cluster. La commande permettant de modifier cette configuration varie selon que vous utilisez un site à DNS générique gratuit ou un domaine personnalisé dont vous êtes propriétaire.

Utiliser des sites à DNS générique gratuit

Pour remplacer le domaine de base par défaut example.com par l'un des sites à DNS générique gratuit, par exemple xip.io, utilisez la commande suivante :

kubectl patch configmap config-domain --namespace knative-serving --patch \
  '{"data": {"example.com": null, "[EXTERNAL-IP].xip.io": ""}}'

Remplacer

  • [EXTERNAL-IP] par l'adresse IP externe de l'équilibreur de charge ;
  • xip.io par le site à DNS générique gratuit que vous utilisez.

Si vous souhaitez le modifier à nouveau, vous pouvez répéter cette commande en utilisant des valeurs différentes.

Vos services seront désormais disponibles sur {service-name}.{namespace}.{[EXTERNAL-IP].xip.io}.

Effectuer des tests avec un domaine personnalisé

Si vous souhaitez utiliser un domaine personnalisé que vous possédez pour effectuer des tests au lieu d'utiliser l'un des sites à DNS générique gratuit, procédez comme suit :

  1. Spécifiez votre domaine personnalisé à l'aide de la commande suivante :

    kubectl patch configmap config-domain --namespace knative-serving --patch \
    '{"data": {"example.com": null, "[DOMAIN]": ""}}'

    Remplacez [DOMAIN] par votre propre domaine, par exemple mydomain.com. La commande ci-dessus supprime example.com du fichier ConfigMap et ajoute mydomain.com comme domaine de base par défaut. Si vous souhaitez à nouveau remplacer ce domaine par un autre, vous pouvez répéter cette commande en utilisant des valeurs différentes.

  2. Connectez-vous au compte que vous avez créé auprès du service d'enregistrement de noms de domaine, puis ouvrez la page de configuration DNS.

  3. Recherchez la section des enregistrements d'hôtes sur la page de configuration de votre domaine, puis ajoutez les enregistrements de ressources dont vous avez besoin.

    1. Pour ajouter un enregistrement DNS au compte du fournisseur DNS, procédez comme suit :

      • Sélectionnez le type d'enregistrement A.
      • Fournissez le caractère générique *, comme indiqué dans l'exemple suivant :

        dns générique

    2. Enregistrez les modifications dans la page de configuration DNS du compte du domaine. Dans la plupart des cas, ces modifications prennent effet en quelques minutes seulement, mais dans certains cas, cela peut prendre plusieurs heures. Tout dépend du bureau d'enregistrement et de la valeur TIL (Time To Live) de tout DNS précédemment enregistré pour votre domaine.

Après avoir mis à jour vos enregistrements DNS et les avoir fait pointer vers votre cluster, vos services seront disponibles sur {service-name}.{namespace}.{your-domain}.