Configurer l'inférence Knative

Découvrez comment configurer votre installation de l'inférence Knative.

Avant de commencer

Knative Serving doit être installé sur votre cluster GKE. Consultez le guide d'installation pour en savoir plus sur les prérequis pour le cluster GKE et sur l'installation de Knative Serving.

Configurer l'authentification avec Workload Identity

Vous pouvez utiliser Workload Identity pour authentifier vos services de diffusion Knative auprès des API et services Google Cloud. Vous devez configurer Workload Identity avant de déployer des services sur votre cluster, sinon vous devrez migrer chaque service existant sur votre cluster avant l'activation de Workload Identity. En savoir plus sur l'utilisation de Workload Identity

Activer les métriques avec Workload Identity

Pour activer les métriques, telles que le nombre de requêtes dans les rapports ou la latence des requêtes pour Google Cloud Observability, vous devez définir manuellement les autorisations d'écriture pour Cloud Monitoring. Pour en savoir plus, consultez Activer les métriques avec Workload Identity.

Configurer le protocole HTTPS et des domaines personnalisés

Pour activer le protocole HTTPS et définir un domaine personnalisé, consultez les pages suivantes :

Configurer Anthos Service Mesh

Pour configurer les options d'Anthos Service Mesh pour la diffusion Knative, consultez la page Options du plan de contrôle dans le cluster, y compris la procédure à suivre pour configurer un réseau interne privé.

Configurer un réseau interne privé

Le déploiement de services sur un réseau interne est utile pour les entreprises qui fournissent des applications internes à leur personnel, ainsi que pour les services utilisés par des clients et exécutés en dehors du cluster de diffusion Knative. Cette configuration permet aux autres ressources de votre réseau de communiquer avec le service via une adresse IP privée interne (RFC 1918) qui n'est pas accessible au public.

Pour créer votre réseau interne, configurez Anthos Service Mesh de manière à utiliser l'équilibrage de charge TCP/UDP interne plutôt qu'un équilibreur de charge public du réseau externe. Vous pouvez ensuite déployer vos services de diffusion Knative sur une adresse IP interne de votre réseau VPC.

Avant de commencer

Pour configurer l'équilibreur de charge interne, procédez comme suit :

  1. Activez la fonctionnalité d'équilibreur de charge interne dans Anthos Service Mesh.

    L'équilibreur de charge interne est une fonctionnalité facultative que vous pouvez configurer lors de l'installation d'Anthos Service Mesh ou en mettant à jour votre installation existante.

    Suivez les étapes de la section Activer les fonctionnalités facultatives sur le plan de contrôle au sein du cluster et veillez à inclure l'option de script --option internal-load-balancer.

    Lorsque vous spécifiez l'option --option internal-load-balancer, le script extrait automatiquement la ressource personnalisée Activer un équilibreur de charge interne à partir de GitHub. Si vous devez modifier la ressource personnalisée, suivez plutôt les instructions pour utiliser l'option --custom_overlay.

  2. Exécutez la commande suivante pour surveiller les mises à jour de votre cluster GKE :

    kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway --watch
    

    Remplacez INGRESS_NAMESPACE par l'espace de noms de votre service d'entrée Anthos Service Mesh. Spécifiez istio-system si vous avez installé Anthos Service Mesh avec sa configuration par défaut.

    1. Notez l'annotation cloud.google.com/load-balancer-type: Internal.
    2. Recherchez la valeur de IP dans l'équilibreur de charge d'entrée pour passer à une adresse IP privée.
    3. Appuyez sur Ctrl+C pour arrêter les actualisations lorsque vous voyez une adresse IP privée dans le champ IP.
  3. Pour les clusters privés sur Google Cloud, vous devez ouvrir des ports. Pour en savoir plus, consultez la page Ouvrir des ports sur votre cluster privé dans la documentation d'Anthos Service Mesh.

Pour vérifier la connectivité interne une fois les modifications effectuées, procédez comme suit :

  1. Déployez un service appelé sample sur la diffusion Knative dans l'espace de noms default:

    gcloud run deploy sample \
    --image gcr.io/knative-samples/helloworld \
    --namespace default
    --platform gke
    
  2. Créez une machine virtuelle (VM) Compute Engine dans la même zone que le cluster GKE :

    VM=cloudrun-gke-ilb-tutorial-vm
    
    gcloud compute instances create $VM
    
  3. Stockez l'adresse IP privée de la passerelle d'entrée Istio dans une variable d'environnement nommée EXTERNAL_IP et un fichier nommé external-ip.txt :

    export EXTERNAL_IP=$(kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway \
        -o jsonpath='{.status.loadBalancer.ingress[0].ip}' | tee external-ip.txt)
    

    Remplacez INGRESS_NAMESPACE par l'espace de noms de votre service d'entrée Anthos Service Mesh. Spécifiez istio-system si vous avez installé Anthos Service Mesh avec sa configuration par défaut.

  4. Copiez le fichier contenant l'adresse IP sur la VM :

    gcloud compute scp external-ip.txt $VM:~
    
  5. Connectez-vous à la VM à l'aide de SSH :

    gcloud compute ssh $VM
    
  6. Dans la session SSH, testez l'exemple de service :

    curl -s -w'\n' -H Host:sample.default.nip.io $(cat external-ip.txt)
    

    Voici le résultat :

    Hello World!
    
  7. Quittez la session SSH :

    exit
    

Configurer un environnement mutualisé

Dans les cas d'utilisation mutualisés, vous devrez gérer et déployer les services de diffusion Knative sur un cluster Google Kubernetes Engine situé en dehors de votre projet actuel. Pour en savoir plus sur l'architecture mutualisée de GKE, consultez la page Architecture de cluster mutualisée.

Pour savoir comment configurer l'architecture mutualisée pour la diffusion Knative, consultez la page Architecture mutualisée multiprojets.

Étapes suivantes