Tous les produits
Search
Centre de documentation

Container Compute Service:Route Knative traffic with an ALB Ingress

Dernière mise à jour :Sep 25, 2026

Acheminez le trafic HTTP, HTTPS et QUIC vers les services Knative à l'aide d'un ALB Ingress. ALB fournit un service d'équilibrage de charge de couche 7 entièrement géré et sans maintenance, avec mise à l'échelle automatique et répartition du trafic pour les applications nécessitant un routage fin.

Prérequis

Étape 1 : Déployer l'ALB Ingress

Déployez un ALB Ingress en créant une nouvelle instance ALB ou en utilisant une instance existante.

Créer automatiquement une instance ALB

Configurez l'ALB Ingress lors du déploiement initial de Knative ou en modifiant le fichier de configuration d'un déploiement existant.

Lors du déploiement

  1. Connectez-vous à la console ACS. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, choisissez Applications > Knative.

  3. Sous l'onglet Add-ons, cliquez sur Deploy Knative. Sur la page de déploiement, sélectionnez ALB comme passerelle de service, choisissez au moins deux vSwitch et suivez les instructions à l'écran pour déployer Knative.

    Pour créer un vSwitch, consultez la rubrique Créer un vSwitch.

Modifier le fichier de configuration

Pour configurer l'ALB Ingress pour un déploiement existant, modifiez le fichier de configuration Knative. Pour déployer Knative, suivez les instructions de la rubrique Déployer Knative.

  1. Exécutez la commande suivante pour modifier le fichier config-network.yaml.

    kubectl -n knative-serving edit configmap config-network
  2. Modifiez et enregistrez le fichier config-network.yaml comme suit.

    Modifiez ingress.class: alb.ingress.networking.knative.dev et définissez vswitch-ids, puis enregistrez et fermez le fichier config-network pour terminer la configuration de la passerelle ALB. Pour obtenir la liste des régions et des zones prises en charge par ALB, consultez la rubrique Régions et zones prises en charge par ALB.

    apiVersion: v1
    data:
      ...
      ingress.class: alb.ingress.networking.knative.dev # Indicates that ALB is used as the Ingress controller.
      vswitch-ids: vsw-uf6kbvc7mccqia2pi****,vsw-uf66scyuw2fncpn38**** # Replace with the IDs of two vSwitches that you have created in different zones. The system automatically binds these vSwitches when creating the ALB.
      intranet: "true" # Also creates an internal-facing ALB instance.
      internet: "true" # Default: true, indicates that an internet-facing ALB instance is created. If set to false, no internet-facing ALB is created.
      ...
    kind: ConfigMap
    metadata:
      name: config-network
      namespace: knative-serving
      ...
    Important

    Si seule l'instance ALB interne est activée, le service Knative doit être configuré pour un accès interne uniquement. Pour ce faire, définissez le libellé networking.knative.dev/visibility: cluster-local.

Utiliser une instance ALB existante

Pour utiliser une instance ALB existante, modifiez le fichier de configuration Knative.

  1. Exécutez la commande suivante pour modifier le fichier config-network.yaml.

    kubectl -n knative-serving edit configmap config-network
  2. Modifiez et enregistrez le fichier config-network.yaml comme suit.

    Dans le fichier de configuration, modifiez ingress.class: alb.ingress.networking.knative.dev et définissez albconfig sur une instance ALB existante. Dans ce cas, il n'est pas nécessaire de configurer vswitch-ids.

    apiVersion: v1
    data:
      ...
      ingress.class: alb.ingress.networking.knative.dev # Indicates that ALB is used as the Ingress controller.
      albconfig: alb-dev-albconfig # Specify and reuse the name of an existing internet-facing ALBConfig.
      intranet-albconfig: alb-dev-intranet-albconfig # Specify and reuse the name of an existing internal-facing ALBConfig.
    ...
    kind: ConfigMap
    metadata:
      name: config-network
      namespace: knative-serving
      ...

Étape 2 : Accéder au service via l'ALB Ingress

  1. Connectez-vous à la console ACS. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, choisissez Applications > Knative.

  3. Sur la page Knative, cliquez sur l'onglet Services, sélectionnez default dans le menu déroulant Namespace, cliquez sur Create from Template, collez l'exemple YAML suivant dans le modèle, puis cliquez sur Create.

    L'exemple YAML suivant crée un service Knative nommé helloworld-go.

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: helloworld-go
    spec:
      template:
        spec:
          containers:
          - image: registry-vpc.cn-beijing.aliyuncs.com/knative-sample/helloworld-go:73fbdd56 # Replace the region with the actual region you use.
            env:
            - name: TARGET
              value: "Knative"
  4. Sur la page Services, récupérez le domaine et l'adresse de la passerelle du service helloworld-go à partir des colonnes Default Domain et Access Gateway respectivement.

  5. Exécutez la commande suivante pour accéder au service helloworld-go.

    curl -H "Host: helloworld-go.default.example.com" http://alb-******.cn-beijing.alb.aliyuncs.com	 # Replace with the actual gateway IP and domain.

    Résultat attendu :

    Hello Knative!

(Facultatif) Étape 3 : Afficher les données de surveillance du service

Knative intègre des fonctionnalités d'observabilité. Sur la page Knative, cliquez sur l'onglet Monitoring Dashboards pour afficher les données de surveillance. Consultez la rubrique Afficher le tableau de bord de surveillance des services Knative.

image.png

Documentation connexe