En un clúster ACK basado en Terway, este componente utiliza interfaces de red elásticas (ENI) para asignar direcciones IP a los contenedores. Cada ENI creada por Terway puede asociarse con un máximo de cinco security groups. Esto le permite aplicar control de acceso en capas a los pods sin necesidad de reestructurar su red.
Requisitos previos
Antes de empezar, asegúrese de que:
Su clúster utiliza el plugin de red Terway versión 1.1.1 o posterior. Para actualizar Terway, consulte Manage components.
Consideraciones
Solo nuevas ENI: Los cambios en los security groups se aplican únicamente a las ENI creadas después de guardar la configuración. Las ENI existentes conservan sus security groups actuales. Para aplicar la nueva configuración a los nodos existentes, elimine y vuelva a agregar cada nodo. Consulte Remove a node y Add existing ECS instances to an ACK cluster.
Misma VPC: Todos los security groups deben pertenecer a la misma VPC que el clúster.
Mismo tipo: Todos los security groups deben ser del mismo tipo (estándar o empresarial).
Límite de cinco grupos: Puede asociar como máximo cinco security groups a una sola ENI. Terway considera tanto
security_groupcomosecurity_groupspara este límite.
Asociar varios security groups con una ENI
kubectl
De forma predeterminada, Terway asocia solo un security group con cada ENI que crea. Para asociar security groups adicionales, edite el ConfigMap eni-config en el namespace kube-system.
-
Abra el ConfigMap para editarlo:
kubectl edit cm eni-config -n kube-system -
Agregue el campo
security_groupscomo una matriz JSON junto al camposecurity_groupexistente.Terway aplica todos los security groups listados tanto en
security_groupcomo ensecurity_groups. El total combinado no debe exceder los cinco grupos."security_group": "sg-bp19k3sj8dk3dcd7****", "security_groups": ["sg-bp1b39sjf3v49c33****","sg-bp1bpdfg35tg****"], -
Recreación del pod de Terway para que la configuración surta efecto:
kubectl delete pod -n kube-system -l app=terway-eniipEspere hasta que todos los pods de Terway regresen al estado
Runningantes de continuar:kubectl get pod -n kube-system -l app=terway-eniipLa salida debería ser similar a la siguiente:
NAME READY STATUS RESTARTS AGE terway-eniip-xxxxx 1/1 Running 0 30s
Comprobar la configuración
Inicie sesión en la consola de ECS. En el panel de navegación izquierdo, seleccione Instances & Images > Instances.
En la página Instances, busque y haga clic en la instancia ECS que desea comprobar.
En la página de detalles de la instancia, haga clic en la pestaña ENIs. Confirme que la ENI secundaria ahora muestra los security groups que especificó en el ConfigMap. Si la ENI secundaria todavía muestra solo el security group original, es posible que el pod de Terway aún no se haya reiniciado. Ejecute
kubectl get pod -n kube-system -l app=terway-eniippara confirmar que todos los pods de Terway están en estadoRunningy luego compruebe nuevamente la pestaña ENIs.
Asociar varios security groups al crear un clúster
Para establecer varios security groups durante la creación del clúster, pase el parámetro SecurityGroupIDs en la configuración del complemento terway-eniip al llamar a la API CreateCluster:
{
"name": "your_cluster_name",
"cluster_type": "ManagedKubernetes",
"addons": [
{
"name": "terway-eniip",
"config": "{\"IPVlan\":\"true\",\"NetworkPolicy\":\"false\",\"ENITrunking\":\"true\",\"SecurityGroupIDs\": \"[\\\"sg-foo\\\"]\" }"
}
],
....
}