Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Customize Terway configuration parameters

Dernière mise à jour :Aug 11, 2026

La configuration Terway par défaut répond aux exigences de la plupart des scénarios. La modification de la configuration Terway est une opération à haut risque qui peut provoquer des erreurs, telles que des interruptions de service. Si vous avez des besoins spécifiques, comme l'augmentation du pool de ressources d'adresses IP réservées pour optimiser l'allocation des adresses IP des pods, vous pouvez personnaliser la configuration Terway en suivant les instructions de cette rubrique.

Limitations

  • Terway propose un large éventail de paramètres de configuration. Cette rubrique décrit chaque paramètre, mais ne garantit pas que toutes les combinaisons de paramètres fonctionneront dans tous les scénarios. Nous vous recommandons de tester minutieusement votre configuration avant de l'appliquer.

  • Certains paramètres peuvent être configurés via la console. Si vous ne trouvez pas un paramètre sur la console, c'est que la version actuelle de votre composant ne le prend pas en charge. Dans ce cas, vous devez mettre à niveau le composant Terway pour configurer le paramètre.

Exemple de configuration Terway

Le ConfigMap du composant Terway dans un cluster utilise le format suivant.

apiVersion: v1
data:
  10-terway.conf: |     # Terway Container Network Interface (CNI) configuration file parameters. The configuration is converted and written to /etc/cni/net.d/. Do not modify.
    {
      "cniVersion": "0.4.0",
      "name": "terway",
      "capabilities": {"bandwidth": true},
      "eniip_virtual_type": "datapathv2",
      "host_stack_cidrs": ["169.254.20.10/32"],
      "cilium_args": "",
      "type": "terway"
    }
  disable_network_policy: "false"    # Specifies whether to disable the NetworkPolicy feature.
  eni_conf: |                        # Main Terway configuration parameters, such as vSwitches and security groups.
    {
      "version": "1",
      "max_pool_size": 5,
      "min_pool_size": 0,
      "credential_path": "/var/addon/token-config",
      "enable_eni_trunking": true,
      "vswitches": {"cn-hangzhou-j":["vsw-foo"],"cn-hangzhou-k":["vsw-foo"]},
      "eni_tags": {"ack.aliyun.com":"c7c3cfoo"},
      "service_cidr": "192.168.0.0/16",
      "security_group": "sg-foo",
      "ip_stack": "ipv4",
      "vswitch_selection_policy": "ordered"
    }
  in_cluster_loadbalance: "true"   # In-cluster load balancing. This parameter takes effect only in DataPathV2 or IPvlan mode.
kind: ConfigMap
metadata:
  name: eni-config
  namespace: kube-system

Paramètres

Paramètres de premier niveau

Paramètre

Description

Modifiable

Configurable sur la console

10-terway.conf

Paramètres du fichier de configuration CNI Terway. La configuration est convertie et écrite dans /etc/cni/net.d/.

Non

Non

10-terway.conflist

Paramètres de configuration CNI Terway personnalisés. Pour plus d'informations, consultez la section Configurer une chaîne CNI personnalisée.

Oui

Non

disable_network_policy

Indique s'il faut désactiver la fonctionnalité NetworkPolicy.

  • false : active la fonctionnalité NetworkPolicy.

  • true : désactive la fonctionnalité NetworkPolicy.

Oui

Oui

eni_conf

Principaux paramètres de configuration Terway, tels que les vSwitches et les groupes de sécurité.

Oui

Partiellement

in_cluster_loadbalance

Indique s'il faut activer l'équilibrage de charge intra-cluster. Ce paramètre prend effet uniquement en mode DataPathV2 ou IPvlan. Pour plus d'informations, consultez la section Comment activer l'équilibrage de charge intra-cluster pour un cluster Terway IPvlan ?.

Oui

Oui

Paramètres du fichier 10-terway.conf

Paramètre

Type

Description

Modifiable

Configurable dans la console

cniVersion

string

Version de la configuration CNI.

Non

Non

name

string

Nom du plug-in CNI.

Non

Non

type

string

Type du plug-in CNI.

Non

Non

capabilities

string

Fonctionnalités CNI.

Oui

Non

eniip_virtual_type

string

Méthode de virtualisation ENI.

Non

Non

cilium_args

string

Les paramètres de configuration de Cilium. Exemple : --bpf-map-dynamic-size-ratio=0.003.

Important
  • La prise en charge des paramètres varie selon les versions communautaires et la rétrocompatibilité n'est pas garantie. Si vous souhaitez utiliser ces paramètres dans un environnement de production, testez-les minutieusement. Si le pod Terway ne démarre pas après une mise à niveau, supprimez la configuration et réessayez.

  • Lors d'une mise à niveau du composant, le système valide la liste des paramètres. Les paramètres suivants sont autorisés. Si vous recevez un message d'échec cilium_args validation lors de la mise à niveau de Terway, supprimez la configuration et réessayez.

    bpf-map-dynamic-size-ratio
        bpf-ct-timeout-regular-any
        bpf-ct-timeout-regular-tcp
        bpf-ct-timeout-regular-tcp-fin
        bpf-ct-timeout-regular-tcp-syn
        bpf-ct-timeout-service-any 
        bpf-ct-timeout-service-tcp 
        bpf-ct-timeout-service-tcp-grace
        bpf-lb-map-max
        bpf-node-map-max
        bpf-policy-map-max
        conntrack-gc-interval
        bpf-ct-global-any-max
        bpf-ct-global-tcp-max
        bpf-nat-global-max
        prometheus-serve-addr
        api-rate-limit
        k8s-client-qps
        k8s-client-burst

Oui

Oui

symmetric_routing

bool

Requiert terway-eniip 1.15.0 ou version ultérieure.

Indique si le routage symétrique est activé. Lorsque cette fonctionnalité est activée, Terway configure des règles de routage basées sur des politiques pour garantir que le trafic sortant utilise la même interface réseau que le trafic entrant.

  • true : activé.

  • false : désactivé.

Oui

Non

symmetric_routing_config

map[string]any

Requiert terway-eniip 1.15.0 ou version ultérieure.

Paramètres de configuration du routage symétrique. Le code suivant présente les valeurs par défaut et un exemple de paramètre. Dans la plupart des cas, il n'est pas nécessaire de modifier ces paramètres.

{
      "symmetric_routing_config": {
        "interface": "eth0",
        "mark": 16,
        "mask": 16,
        "table_id": 100,
        "rule_priority": 600,
        "comment": "terway-symmetric"
      }
    }
Important

Une configuration incorrecte peut affecter les paramètres réseau existants. Testez soigneusement la configuration dans un environnement de test avant utilisation.

Oui

Non

Paramètres eni_conf

Paramètre

Type

Description

Modifiable

Configurable dans la console

credential_path

string

Jeton Security Token Service (STS) pour l'accès à OpenAPI. Ce paramètre s'applique uniquement aux clusters managés ACK.

Non

Non

service_cidr

string

Bloc CIDR de service du cluster.

Non

Non

vswitches

map[string][]string

Liste des vSwitch utilisés par les interfaces réseau élastiques (ENI).

Oui

Oui

eni_tags

map[string]string

Tags à ajouter aux ENI nouvellement créées. Les modifications apportées à cette configuration n'affectent pas les ENI existantes.

Non

Non

eni_tag_filter

map[string]string

Prise en charge uniquement en mode ENI partagé.

Filtre les ENI gérées par Terway. Pour plus d'informations, consultez Configurer une liste d'autorisation pour les ENI.

Oui

Non

max_pool_size

int

Prise en charge uniquement en mode ENI partagé.

Nombre maximal d'adresses IP inactives conservées dans le pool de ressources d'adresses IP. Valeur par défaut : 5.

Oui

Oui

min_pool_size

int

Prise en charge uniquement en mode ENI partagé.

Nombre minimal d'adresses IP inactives conservées dans le pool de ressources d'adresses IP. Valeur par défaut : 0.

Oui

Oui

security_group

string

Groupe de sécurité à utiliser pour les ENI nouvellement créés. Les modifications apportées à cette configuration n'affectent pas les ENI existants.

Oui

Non

security_groups

[]string

Groupes de sécurité à utiliser pour les ENI nouvellement créés. Vous pouvez spécifier jusqu'à 10 groupes de sécurité, qui doivent tous être du même type. Si vous configurez ce paramètre, Terway utilise l'union de cette liste et du paramètre security_group. Les modifications apportées à cette configuration n'affectent pas les ENI existants.

Oui

Oui

vswitch_selection_policy

string

Politique de sélection d'un vSwitch lors de la création d'un ENI.

  • ordered : sélectionne le vSwitch disposant du plus grand nombre d'adresses IP disponibles. Il s'agit de la valeur par défaut.

  • random : sélectionne un vSwitch de manière aléatoire.

Oui

Oui

enable_eip_migrate

bool

Active la fonctionnalité de migration des adresses IP élastiques (EIP). Pour plus d'informations, consultez Migrer des EIP de Terway vers ack-extend-network-controller.

Oui

Non

ip_stack

string

Famille d'adresses IP du cluster. Ce paramètre ne peut pas être modifié.

Non

Non

ipam_type

string

Mode IPAM du cluster. Ce paramètre ne peut pas être modifié.

Non

Non

enable_eni_trunking

bool

Active la fonctionnalité Trunk. Pour plus d'informations, consultez Configurer des adresses IP fixes, ainsi que des vSwitches et des groupes de sécurité indépendants pour les pods.

Oui

Non

kube_client_qps

float32

Nombre de requêtes par seconde (QPS) pour le client Kubernetes. Vous devez configurer ce paramètre conjointement avec kube_client_burst.

Oui

Oui

kube_client_burst

int

Valeur de rafale (burst) pour le client Kubernetes. Ce paramètre doit être configuré avec kube_client_qps, et sa valeur doit être supérieure à celle de kube_client_qps.

Oui

Oui

resource_group_id

string

Groupe de ressources à utiliser pour les nouvelles ENI. Les modifications apportées à cette configuration n'affectent pas les ENI existantes.

Oui

Oui

ip_pool_sync_period

string

Nécessite terway-eniip version 1.15.0 ou ultérieure. Pris en charge uniquement en mode ENI partagé.

Intervalle de synchronisation du pool de ressources IP. Valeur par défaut : 120 secondes.

Exemples : 2m, 120s.

Oui

Non

idle_ip_reclaim_after

string

Nécessite terway-eniip version 1.16.0 ou ultérieure. Pris en charge uniquement en mode ENI partagé.

Durée d'inactivité requise pour une adresse IP avant sa récupération.

Exemple : 60m.

Remarque

Si un pod est créé ou supprimé avant la récupération, le minuteur est réinitialisé.

Oui

Non

idle_ip_reclaim_interval

string

Nécessite terway-eniip version 1.16.0 ou ultérieure. Pris en charge uniquement en mode ENI partagé.

Intervalle entre les vérifications de récupération.

Exemple : 30m.

Oui

Non

idle_ip_reclaim_batch_size

int

Nécessite terway-eniip 1.16.0 ou version ultérieure. Pris en charge uniquement en mode ENI partagé.

Nombre maximal d'adresses IP pouvant être récupérées par lot. La valeur doit se situer dans la plage [1, 10].

Exemple : 5.

Oui

Non

idle_ip_reclaim_jitter_factor

string

Nécessite terway-eniip 1.16.0 ou version ultérieure. Pris en charge uniquement en mode ENI partagé.

Facteur de variation utilisé pour randomiser l'heure de récupération. La valeur doit se situer dans la plage [0,0, 1,0].

Exemple : 0.1.

Oui

Non

ip_warm_up_size

int

Nécessite terway-eniip 1.16.4 ou version ultérieure et que le paramètre ipam_type du cluster soit défini sur crd. Pris en charge uniquement en mode ENI partagé.

Nombre d'adresses IP à préchauffer à la fois. Ce paramètre s'applique uniquement aux nœuds nouvellement ajoutés. La tâche de préchauffage s'arrête lorsque le nombre d'adresses IP allouées sur le nœud atteint la valeur attendue.

Exemple : 5.

Oui

Non

enable_patch_pod_ips

bool

Nécessite terway-eniip 1.13.7 ou version ultérieure. Pris en charge uniquement en mode ENI partagé.

Valeur par défaut : true. Lorsque cette option est activée, l'annotation k8s.aliyun.com/pod-ips est ajoutée aux pods.

Oui

Non

enable_ip_prefix

bool

Nécessite terway-eniip 1.17.0 ou version ultérieure. Pris en charge uniquement en mode ENI partagé.

Valeur par défaut : false. Lorsque cette option est activée, un préfixe IP est attribué à l'ENI.

Oui

Non

ipv4_prefix_count

int

Nécessite terway-eniip 1.17.0 ou une version ultérieure. Pris en charge uniquement en mode ENI partagé. Ce paramètre est valide en mode simple pile IPv4 et en mode double pile. En mode double pile, ce paramètre est ignoré car les préfixes IPv6 sont gérés automatiquement par le système, avec un préfixe par ENI.

Nombre de préfixes IP configurés pour le nœud. Ce paramètre est valide lorsque le type de réseau du cluster est ipv4 ou dual. La valeur doit être supérieure ou égale à 0. La limite supérieure est automatiquement restreinte pour les types d'instance à capacité variable.

Oui

Non

ipv6_prefix_count

int

Nécessite terway-eniip 1.17.0 ou une version ultérieure. Pris en charge uniquement en mode ENI partagé. Nombre total de préfixes IPv6 sur le nœud. Ce paramètre est valide uniquement en mode simple pile IPv6. La valeur doit être 0 ou 1. En mode double pile, ce paramètre est ignoré car les préfixes IPv6 sont gérés automatiquement par le système, avec un préfixe par ENI.

Nombre de préfixes IP configurés pour le nœud. Ce paramètre est valide lorsque le type de réseau du cluster est ipv6. La valeur doit se situer dans la plage [0, 1].

Oui

Non

Méthodes de configuration

Console

Vous pouvez configurer certains paramètres courants depuis la console. Celle-ci valide vos saisies et empêche l'utilisation de formats incorrects.

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

  2. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Add-ons.

  3. Cliquez sur l'onglet Networking, puis sur Configuration dans la carte terway-eniip.

  4. Dans le panneau qui s'affiche, configurez les paramètres, puis cliquez sur OK.

kubectl

Certains paramètres ne sont pas affichés dans la console. Vous pouvez utiliser kubectl pour les configurer.

Avertissement

La configuration de Terway via kubectl est une opération à haut risque. kubectl n'effectue aucune validation des saisies et des paramètres incorrects peuvent entraîner des erreurs, telles que l'arrêt du fonctionnement de Terway. Assurez-vous de bien comprendre la configuration avant de la modifier.

  1. Connectez-vous à un cluster avec kubectl et exécutez la commande suivante pour configurer les paramètres avancés :

    kubectl edit cm -n kube-system  eni-config 
  2. Après avoir modifié la configuration, enregistrez vos modifications et quittez l'éditeur. Exécutez ensuite la commande suivante pour appliquer les changements :

     kubectl rollout restart -n kube-system daemonset.apps/terway-eniip

Documentation connexe