De forma predeterminada, los nodos de Terway utilizan el ConfigMap eni-config en el namespace kube-system. Para asignar vSwitches y security groups personalizados por nodo, cree un ConfigMap dedicado. Terway lo integra a la configuración predeterminada mediante MergePatch (RFC 7396).
Casos de uso
Configure los ajustes de red por nodo cuando:
Aislamiento de IP de salida: ciertos pods requieren direcciones IP NAT dedicadas o límites de ancho de banda específicos, independientes del resto del clúster.
Requisitos previos
Asegúrese de contar con lo siguiente:
vSwitches creados para asignarlos a los nodos.
Security groups creados para asignarlos a los nodos.
Consideraciones
Las elastic network interfaces (ENI) existentes no se actualizan automáticamente. Solo las ENI creadas después del cambio de configuración utilizan los nuevos vSwitches y security groups. Modo ENI compartida (predeterminado): versión de terway-eniip >= v1.0.10.237. Modo ENI exclusiva: versión de terway-eniip >= v1.14.5.
Los vSwitches deben estar en la misma zona que el nodo. Un vSwitch ubicado en una zona diferente no tiene efecto.
Límite de security groups. Se pueden asignar hasta 10 security groups por ENI. Todos deben pertenecer a la misma VPC y ser del mismo tipo. Consulte Associate multiple security groups for an ENI.
Configurar los ajustes de red por nodo
Cree un ConfigMap con los ajustes de red deseados, etiquete los nodos destino para hacer referencia a dicho ConfigMap y compruebe que las nuevas ENI utilicen la configuración correcta.
Paso 1: Crear un ConfigMap
Cree un ConfigMap llamado foo en el namespace kube-system para definir los vSwitches y security groups de los nodos etiquetados.
Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, haga clic en el nombre del clúster destino. En el panel de navegación izquierdo, seleccione Configurations > ConfigMaps.
En la página ConfigMap, seleccione kube-system en la lista desplegable Namespace y haga clic en Create.
-
En el panel Create, establezca ConfigMap Name como foo. Haga clic en Add, configure Name como eni_conf e introduzca el siguiente JSON como Value. Reemplace
vswitchesysecurity_groupcon sus ID reales.{ "vswitches": { "cn-hangzhou-g": [ "vsw-10000" ], "cn-hangzhou-i": [ "vsw-10001" ] }, "security_group": "sg-10000", "security_groups": [ "sg-10000", "sg-10001" ] }Parámetro
Descripción
vswitchesMapa de ID de zona a listas de ID de vSwitch. Cada vSwitch debe encontrarse en la misma zona que los nodos destino. Localice los ID de zona y vSwitch en la consola de VPC dentro de vSwitch.
security_groupPara asignar un solo security group, configure este parámetro y deje
security_groupscomo nulo.security_groupsPara asignar varios security groups, configure este parámetro y deje
security_groupcomo nulo. Para asignar varios security groups, configure este parámetro y deje security_group como nulo. Haga clic en OK.
Paso 2: Etiquetar nodos
Aplique la etiqueta terway-config=foo a los nodos que deban utilizar este ConfigMap.
Para nodos existentes:
En el panel de navegación izquierdo de la página de detalles del clúster, seleccione Nodes > Nodes. Haga clic en Manage Labels and Taints.
En la pestaña Labels, seleccione los nodos destino y haga clic en Add Label.
En el cuadro de diálogo Add, establezca Name como terway-config y Value como foo; luego haga clic en OK.
-
Reinicie los pods de Terway para aplicar el cambio.
En el panel de navegación izquierdo, seleccione Workloads > Pods.
Seleccione kube-system en la lista desplegable Namespace, busque
terway-eniip, seleccione todos los pods coincidentes y haga clic en Batch Delete.Haga clic en OK. Kubernetes recrea los pods de Terway.
Espere hasta que la columna Status muestre Running para todos los pods
terway-eniip. La nueva configuración entra en vigor cuando todos los pods se encuentran en ejecución.
Para nodos nuevos:
Cuando creating a node pool, agregue una etiqueta con key establecida como terway-config y value establecida como foo.
Paso 3: Comprobar la configuración
Una vez reiniciados los pods de Terway, compruebe que las nuevas ENI utilicen los vSwitches y security groups correctos.
Inicie sesión en la consola de ECS. En el panel de navegación izquierdo, seleccione Instances & Images > Instances.
Haga clic en el nombre de la instancia ECS destino. En la página de detalles, haga clic en la pestaña ENIs.
Compruebe que la ENI utilizada para la asignación de IP del pod esté asociada con los vSwitches y security groups definidos en el ConfigMap.
Si la dirección IP de un pod nuevo no se encuentra dentro del bloque CIDR del vSwitch esperado, consulte FAQ about container networks.