Apprenez à utiliser les enregistrements DNS génériques afin de configurer un domaine pour votre cluster. Vous devez configurer un domaine pour permettre à vos services d'accepter des requêtes et vous permettre d'y accéder à des fins de test.
Par défaut, vos clusters Cloud Run for Anthos utilisent le domaine de base example.com
et n'autorisent pas les requêtes adressées à vos services. Par exemple, l'envoi de requêtes à http://{service}.{namespace}.example.com
échoue.
Pour permettre aux services de votre cluster d'accepter des requêtes, vous devez configurer votre domaine de manière à utiliser l'un des éléments suivants :
- Service d'enregistrement DNS wildcard gratuit
- Domaine personnalisé dont vous êtes le propriétaire (pour en savoir plus, consultez la page Mapper des domaines personnalisés)
Les enregistrements DNS wildcard ne doivent être utilisés qu'à des fins de tests en raison de problèmes liés à la fiabilité des requêtes. En savoir plus sur les enregistrements DNS wildcard.
Avant de commencer
Vérifiez que vous avez bien installé et configuré Google Cloud CLI et kubectl.
Choisir entre un service DNS wildcard et un domaine personnalisé
Pendant vos phases de développement et de test, vous pouvez modifier le domaine par défaut pour utiliser un site de test DNS wildcard. Voici quelques exemples :
Si vous possédez déjà un domaine que vous souhaitez utiliser à des fins de test ou si vous souhaitez acheter un domaine à des fins de test, vous pouvez définir le domaine par défaut pour qu'il utilise votre propre domaine. Un domaine personnalisé offre une meilleure fiabilité lors des tests.
Obtenir l'adresse IP externe
Avant de continuer, vous devez obtenir l'adresse IP externe du service d'équilibrage de charge créé pour le contrôleur d'entrée Istio.
Console
Pour obtenir l'adresse IP externe de l'équilibreur de charge à partir de Google Cloud Console, procédez comme suit :
Accédez à la page GKE de la console Google Cloud :
Accéder à la page GKECliquez sur Services et entrées.
Identifiez le service correspondant au contrôleur d'entrée Istio de votre cluster. Le type de service sera défini sur Équilibreur de charge externe. Le tableau suivant indique le nom du service en fonction de la version de votre cluster :
Version du cluster ISTIO-GATEWAY 1.15.3-gke.19
et versions ultérieures1.14.3-gke.12
et versions ultérieures1.13.10-gke.8
et versions ultérieuresistio-ingress
Toutes les autres versions istio-ingressgateway
Une fois que vous avez trouvé le contrôleur d'entrée Istio de votre cluster, copiez son point de terminaison. Il s'agira de l'adresse IP sans le numéro de port. Par exemple,
00.000.000.000:11
peut être répertorié en tant que point de terminaison, mais vous ne devez copier que00.000.000.000
.
Ligne de commande
Pour obtenir l'adresse IP externe de la passerelle d'entrée Istio, exécutez la commande suivante :kubectl get svc istio-ingress -n gke-systemoù le résultat ressemble à ce qui suit :
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) istio-ingress LoadBalancer XX.XX.XXX.XX pending 80:32380/TCP,443:32390/TCP,32400:32400/TCPLa valeur EXTERNAL-IP de l'équilibreur de charge est l'adresse IP que vous devez utiliser.
Si vous utilisez un service wildcard, vous avez besoin de l'adresse IP externe lorsque vous modifiez la configuration du cluster. Si vous utilisez votre propre domaine personnalisé, vous avez besoin de l'adresse IP externe pour créer ou mettre à jour un enregistrement auprès de votre bureau d'enregistrement de domaine.
Configurer le domaine de votre cluster
Cloud Run for Anthos se sert du fichier ConfigMap config-domain
pour définir le domaine de base de tous les services déployés dans le cluster. La commande permettant de modifier cette configuration varie selon que vous utilisez un service DNS générique ou un domaine personnalisé dont vous êtes propriétaire. Si vous souhaitez mettre à jour le domaine de cluster par défaut ultérieurement, répétez ces étapes avec des valeurs différentes.
Effectuer des tests avec un service DNS wildcard
xip.io
explique comment configurer votre domaine de manière à utiliser un service DNS wildcard, mais vous pouvez le remplacer par le service de votre choix.
Console
Pour remplacer le domaine de base par défaut example.com
par l'un des services DNS wildcard (par exemple, xip.io
) dans la console Google Cloud, procédez comme suit :
Accédez à la page Mappages de domaines de Cloud Run for Anthos dans la console Google Cloud :
Sélectionnez Ajouter un mappage > Ajouter un domaine par défaut pour le cluster.
Cochez la case "Appliquer ce mappage de domaine à tous les services Cloud Run for Anthos déployés sur le cluster".
Sélectionnez votre cluster dans le menu déroulant.
Dans le champ Domaine, saisissez [EXTERNAL-IP].xip.io. Remplacez :
[EXTERNAL-IP] par l'adresse IP externe de l'équilibreur de charge ;
xip.io par le site DNS wildcard que vous utilisez.
Ligne de commande
Pour remplacer le domaine de base par défaut example.com
par l'un des sites DNS wildcard (par exemple, xip.io
) dans Cloud Console, 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 wildcard que vous utilisez.
Votre service est maintenant disponible sur {service-name}.{namespace}.{[EXTERNAL-IP].xip.io}
.
Effectuer des tests avec un domaine personnalisé
Si vous souhaitez utiliser votre propre domaine personnalisé pour effectuer des tests, les étapes suivantes vous aideront à le configurer.
Commencez par mettre à jour le fichier ConfigMap du cluster pour qu'il pointe vers votre domaine :
Console
Accédez à la page Mappages de domaines de Cloud Run for Anthos dans la console Google Cloud :
Sélectionnez Ajouter un mappage > Ajouter un domaine par défaut pour le cluster.
Cochez la case "Appliquer ce mappage de domaine à tous les services Cloud Run for Anthos déployés sur le cluster".
Sélectionnez votre cluster dans le menu déroulant.
Dans le champ Domaine, saisissez votre nom de domaine. Exemple :
example.com
.
Ligne de commande
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.
Vous devez effectuer les étapes suivantes sur le site Web de votre bureau d'enregistrement de domaine :
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.
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.
Pour ajouter un enregistrement DNS au 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 :
- Sélectionnez le type d'enregistrement
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 enregistrement DNS précédemment enregistré pour votre domaine.
Après avoir mis à jour vos enregistrements DNS et les avoir fait pointer vers votre cluster, votre service sera disponible sur {service-name}.{namespace}.{your-domain}
.