Pourquoi une erreur not found
s'affiche-t-elle lorsque j'ajoute un point de terminaison ?
Si vous recevez des erreurs 404 lorsque vous ajoutez des services ou des points de terminaison, assurez-vous d'avoir créé à la fois l'espace de noms et le service (dans cet ordre) avant d'ajouter un point de terminaison. Le service doit exister pour que vous puissiez ajouter des points de terminaison supplémentaires.
Lorsque je recherche un service, pourquoi aucun de mes points de terminaison ne s'affiche-t-il ?
Assurez-vous que le projet, la région, le nom de l'espace de noms et le nom du service sont tous corrects dans votre requête et correspondent à l'endroit où vous avez enregistré les points de terminaison. Tous les services de l'annuaire des services résident dans un espace de noms régional. Par conséquent, les services enregistrés dans une région ne correspondent pas aux données d'une autre région.
J'ai accordé à quelqu'un l'accès à un service, mais il continue de recevoir permission denied
.
Plusieurs raisons peuvent expliquer ce problème. Commencez par vérifier que la région est correcte.
Si vous définissez une règle sur un espace de noms ou un service, elle ne s'applique qu'à cette région spécifique. Si l'utilisateur tente d'enregistrer ou de rechercher le même service dans une autre région, il n'y aura pas accès, sauf si vous lui accordez également un accès IAM à ce service régional. Pour déboguer les problèmes d'accès, essayez la méthode TestIamPermissions
pour les services et les espaces de noms.
J'ai ajouté des points de terminaison, puis supprimé le backend du service. Pourquoi les points de terminaison sont-ils toujours là ?
L'annuaire des services ne vérifie pas automatiquement l'état ni n'effectue de contrôle de la santé, et ne supprime pas les points de terminaison, sauf si vous les supprimez explicitement. Assurez-vous d'ajouter du code à vos backend/orchestrateurs de service qui supprime le point de terminaison de l'annuaire des services une fois qu'il n'existe plus. Nous vous recommandons d'utiliser des champs d'annotation de durée de vie sur les points de terminaison pour enregistrer la dernière fois qu'un point de terminaison a été enregistré ou mis à jour.
Je peux rechercher des points de terminaison, mais chaque fois que j'essaie de m'y connecter, l'opération échoue.
L'annuaire des services ne garantit pas la joignabilité du client. Les services enregistrent leurs points de terminaison directement dans l'Annuaire des services. Toutefois, l'adresse enregistrée auprès de l'annuaire des services peut ne pas être routable (en particulier si le client et le serveur se trouvent sur des réseaux privés distincts). Si le point de terminaison est routable à partir du client, cela peut être dû à un point de terminaison non opérationnel. Consultez la question suivante.
Comment ajouter des données de santé pour les points de terminaison afin que mes clients sachent à quel point se connecter ?
Lorsque vous utilisez l'équilibrage de charge côté client, nous vous recommandons que les backends de service mettent occasionnellement à jour un champ d'annotation sur le point de terminaison que les clients peuvent utiliser pour décider à quel backend se connecter. L'Annuaire des services n'inspecte ni n'évalue ces données.
J'ai créé un espace de noms. Pourquoi ne puis-je pas lui attribuer une zone privée Cloud DNS ?
Assurez-vous de disposer de l'autorisation IAM servicedirectory.namespaces.associatePrivateZone
pour l'espace de noms, car elle vous permet de créer la zone privée associée. Par défaut, les rôles Éditeur de projet, Propriétaire du projet, Administrateur du répertoire de services et Éditeur du répertoire de services disposent de cette autorisation.
Lorsque j'effectue une recherche DNS d'un service, pourquoi aucun de mes points de terminaison ne s'affiche-t-il ?
Plusieurs raisons peuvent expliquer cette situation, par exemple:
- L'espace de noms associé a été supprimé. Pour le vérifier, exécutez la commande
get
sur la zone privée. SiserviceDirectoryConfig.deletionTime
est défini, l'espace de noms associé et tous ses points de terminaison ont été supprimés. - Vérifiez que vous envoyez la requête à partir d'un réseau autorisé à interroger la zone privée. Pour obtenir la liste des réseaux, exécutez la commande
get
sur la zone privée. - Aucun point de terminaison (valide) n'est défini pour le service. Exécutez la commande
resolve
sur le service via l'API Service Directory pour vous assurer qu'il n'est pas vide et qu'il comporte au moins une adresse IP de point de terminaison valide. La prise en charge du DNS n'est disponible que pour les points de terminaison disposant d'adresses IPv4 ou IPv6 valides. - Assurez-vous d'interroger la bonne zone. Par exemple, supposons que vous créiez une zone de l'annuaire des services appelée example.com et que vous disposiez d'une autre zone privée (standard) appelée billing.example.com. Toute requête DNS envoyée à billing.example.com renvoie alors des enregistrements de ressources appartenant à la zone billing.example.com, et non au service billing dans l'espace de noms de l'annuaire des services associé à example.com.Pour en savoir plus, consultez la section Ordre de résolution de nom.
Pourquoi mes services GKE ne se synchronisent-ils pas avec l'annuaire des services ?
Plusieurs raisons peuvent expliquer cette situation, par exemple:
- Vérifiez que vous avez déployé un
ServiceDirectoryRegistrationPolicy
dans votre cluster GKE pour l'espace de noms que vous essayez de synchroniser. Vérifiez également que les services que vous essayez de synchroniser correspondent au sélecteur de libellé de votre règle. - Un espace de noms de l'annuaire des services existe déjà et a été créé manuellement ou à l'aide d'une autre intégration portant le même nom que l'espace de noms GKE que vous essayez de synchroniser. Vous devez renommer ou supprimer votre espace de noms de l'annuaire des services existant pour éviter tout conflit.
- Les autorisations de votre compte de service de l'Annuaire des services ont été supprimées.
Assurez-vous que
service-{PROJECT_NUMBER}@gcp-sa-servicedirectory.iam.gserviceaccount.com
dispose de l'autorisation IAMService Directory Service Agent
. Pour en savoir plus sur IAM, consultez la documentation IAM.
Étape suivante
- Pour en savoir plus sur les fonctionnalités, consultez la présentation de l'Annuaire des services.
- Pour obtenir une aide supplémentaire, consultez la page Obtenir de l'aide.