Découvrez comment configurer et installer votre installation de Knative serving.
Avant de commencer
Vous devez avoir installé Knative serving sur votre cluster GKE. Consultez le guide d'installation pour en savoir plus sur les conditions préalables à l'utilisation des clusters GKE et sur la procédure d'installation de Knative serving.
Configurer l'authentification avec Workload Identity
Vous pouvez utiliser Workload Identity pour authentifier vos services Knative serving 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 ou la latence des requêtes dans 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 Cloud Service Mesh
Pour configurer les options Cloud Service Mesh pour Knative serving, consultez la page Options du plan de contrôle dans le cluster, y compris comment configurer un réseau privé interne.
Configurer un réseau interne privé
Le déploiement de services dans un réseau interne est utile pour les entreprises qui proposent des applications internes à leur personnel et pour les services utilisés par des clients exécutés en dehors du cluster Knative serving. 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 Cloud Service Mesh de manière à utiliser l'équilibrage de charge TCP/UDP interne plutôt qu'un équilibreur de charge réseau externe public. Vous pouvez ensuite déployer vos services Knative serving sur une adresse IP interne au sein de votre réseau VPC.
Avant de commencer
- Vous devez disposer d'autorisations
admin
sur votre cluster. - Si vous avez configuré un domaine personnalisé, vous devez désactiver la fonctionnalité TLS gérée, car le protocole TLS géré sur Knative serving n'est actuellement pas compatible avec l'équilibreur de charge interne.
- Seules les versions 310.0 ou ultérieures de Google Cloud CLI sont compatibles. Pour en savoir plus sur la configuration de vos outils de ligne de commande, consultez la page
Pour configurer l'équilibreur de charge interne, procédez comme suit :
Activez la fonctionnalité d'équilibreur de charge interne dans Cloud Service Mesh.
L'équilibreur de charge interne est une fonctionnalité facultative que vous pouvez configurer lors de l'installation Cloud 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
.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 Cloud Service Mesh. Spécifiez
istio-system
si vous avez installé Cloud Service Mesh à l'aide de sa configuration par défaut.- Notez l'annotation
cloud.google.com/load-balancer-type: Internal
. - Recherchez la valeur de
IP
dans l'équilibreur de charge d'entrée pour passer à une adresse IP privée. - Appuyez sur
Ctrl+C
pour arrêter les actualisations lorsque vous voyez une adresse IP privée dans le champIP
.
- Notez l'annotation
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 Cloud Service Mesh.
Pour vérifier la connectivité interne une fois les modifications effectuées, procédez comme suit :
Déployez un service appelé
sample
sur Knative serving dans l'espace de nomsdefault
:gcloud run deploy sample \ --image gcr.io/knative-samples/helloworld \ --namespace default --platform gke
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
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 Cloud Service Mesh. Spécifiez
istio-system
si vous avez installé Cloud Service Mesh à l'aide de sa configuration par défaut.Copiez le fichier contenant l'adresse IP sur la VM :
gcloud compute scp external-ip.txt $VM:~
Connectez-vous à la VM à l'aide de SSH :
gcloud compute ssh $VM
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!
Quittez la session SSH :
exit
Configurer un environnement mutualisé
Dans les cas d'utilisation mutualisés, vous devez gérer et déployer les services Knative serving 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 Knative serving, consultez la page Architecture mutualisée et multi-projets.