Tous les produits
Search
Centre de documentation

Alibaba Cloud Service Mesh:Accéder à un service Knative via HTTPS avec une passerelle ASM

Dernière mise à jour :Aug 11, 2026

Une passerelle ASM prend en charge le protocole HTTPS et le chargement dynamique des certificats. Pour accéder et gérer en toute sécurité les microservices construits avec Knative, utilisez une passerelle ASM afin d'activer l'accès HTTPS. Cette approche chiffre le trafic vers les points de terminaison de service, protégeant ainsi la communication entre les services et renforçant la sécurité et la fiabilité de votre architecture.

Prérequis

Créer un certificat et une clé privée

Avant d'utiliser un nom de domaine, vous devez obtenir un numéro d'enregistrement ICP (Internet Content Provider) pour ce domaine. Cet exemple utilise le nom de domaine aliyun.com pour générer un certificat et une clé privée, puis les enregistre en tant que Secret.

Remarque

Si vous disposez déjà d'un certificat et d'une clé privée valides pour aliyun.com, nommez le fichier de certificat aliyun.com.crt et le fichier de clé privée aliyun.com.key.

Si vous ne possédez pas de certificat ni de clé privée pour aliyun.com, générez-les à l'aide d'OpenSSL en suivant les étapes ci-dessous.

  1. Exécutez la commande suivante pour créer un certificat racine et une clé privée.

    openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -subj '/O=myexample Inc./CN=aliyun.com' -keyout aliyun.root.key -out aliyun.root.crt
  2. Exécutez les commandes suivantes pour générer un certificat et une clé privée pour le serveur aliyun.com.

    openssl req -out aliyun.com.csr -newkey rsa:2048 -nodes -keyout aliyun.com.key -subj "/CN=aliyun.com/O=myexample organization"
    openssl x509 -req -days 365 -CA aliyun.root.crt -CAkey aliyun.root.key -set_serial 0 -in aliyun.com.csr -out aliyun.com.crt

Une fois le certificat et la clé privée prêts, exécutez la commande suivante dans le contexte KubeConfig du cluster où réside le pod de la passerelle d'entrée. Cette commande crée un Secret contenant le certificat et la clé privée dans le namespace istio-system. Notez le nom du Secret.

kubectl create -n istio-system secret tls myexample-credential --key=aliyun.com.key --cert=aliyun.com.crt

Activer l'accès HTTPS

  1. Enregistrez le contenu suivant sous le nom default.yaml.

    apiVersion: istio.alibabacloud.com/v1beta1
    kind: ASMKnativeConfig
    metadata:
      name: default
    spec:
      enabled: true
      useExisting: true
      tag: 1.4.0
      domainConfig:
        domainName: aliyun.com # Replace this with your domain name.
        credentialName: myexample-credential # Replace this with the name of your Secret.
  2. Connectez-vous à Service Mesh avec kubectl et exécutez la commande suivante.

    kubectl apply -f default.yaml

Accéder au service via HTTPS

  1. Mettez à jour le fichier hosts pour ajouter un mappage pour le nouveau nom de domaine.

    Par exemple :

    Remarque

    Remplacez xx.xx.xxx.xx par l'adresse IP réelle de votre passerelle. Pour savoir comment obtenir l'adresse IP de la passerelle, consultez la rubrique Obtenir l'adresse IP de la passerelle d'entrée.

    xx.xx.xxx.xx helloworld-go.default.aliyun.com
  2. Accédez au service via HTTPS.

    • Accès depuis la ligne de commande

      Exécutez la commande suivante pour accéder au service via HTTPS en utilisant le certificat.

      curl -k --cert aliyun.com.crt --key aliyun.com.key https://helloworld-go.default.aliyun.com
      
      # Expected output
      Hello Knative!
    • Accès depuis un navigateur

      Saisissez https://helloworld-go.default.aliyun.com dans la barre d'adresse de votre navigateur.

      Hello Knative!
      Remarque

      Étant donné qu'un certificat auto-signé est utilisé, votre navigateur peut afficher un avertissement de sécurité lorsque vous accédez au service. Vous pouvez continuer en toute sécurité.

Opérations connexes

  • Knative sur ASM offre des capacités de déploiement canari basé sur le trafic. Lorsque vous créez un service Knative, Knative génère automatiquement la première révision du service. À chaque modification de la configuration du service, Knative crée une nouvelle révision. Vous pouvez mettre en œuvre un déploiement canari en modifiant le pourcentage de trafic routé vers différentes révisions. Pour plus d'informations, consultez la rubrique Effectuer un déploiement canari basé sur le trafic pour un service Knative dans Knative sur ASM.

  • Knative Serving injecte un conteneur queue-proxy dans chaque Pod. Ce conteneur rapporte les métriques de concurrence du conteneur d'application à l'Autoscaler. Après réception de ces métriques, l'Autoscaler active la mise à l'échelle automatique en ajustant le nombre de Pods dans le Deployment en fonction du nombre de requêtes concurrentes et de l'algorithme de mise à l'échelle. Pour plus d'informations, consultez la rubrique Mettre à l'échelle automatiquement un service en fonction du nombre de requêtes concurrentes.