

 **Ayude a mejorar esta página** 

Para contribuir a esta guía del usuario, elija el enlace **Edit this page on GitHub** que se encuentra en el panel derecho de cada página.

# Conexión de múltiples interfaces de red a pods
<a name="pod-multiple-network-interfaces"></a>

De forma predeterminada, el complemento de la CNI de Amazon VPC asigna una dirección IP a cada pod. Esta dirección IP está conectada a una *interfaz de red elástica* que gestiona todo el tráfico entrante y saliente del pod. Para aumentar el ancho de banda y el rendimiento de la tasa de paquetes por segundo, puede utilizar la *característica de NIC múltiple* de la CNI de la VPC para configurar un pod con varios hosts. Un pod con múltiples hosts es un único pod de Kubernetes que utiliza varias interfaces de red (y varias direcciones IP). Al ejecutar un pod con varios hosts, puede distribuir el tráfico de sus aplicaciones entre varias interfaces de red mediante conexiones simultáneas. Esto resulta especialmente útil para los casos de uso de inteligencia artificial (IA), machine learning (ML) y computación de alto rendimiento (HPC).

En el siguiente diagrama, se muestra un pod con varios hosts que se ejecuta en un nodo de trabajo con varias tarjetas de interfaz de red (NIC) en uso.

![\[Un pod con varios hosts con dos interfaces de red conectadas: una interfaz de red con ENA y otra interfaz de red con ENA y EFA\]](http://docs.aws.amazon.com/es_es/eks/latest/userguide/images/multi-homed-pod.png)


## Introducción
<a name="pod-multi-nic-background"></a>

En Amazon EC2, una *interfaz de red elástica* es un componente de red lógico en una VPC que representa una tarjeta de red virtual. Para muchos tipos de instancias de EC2, las interfaces de red comparten una única tarjeta de interfaz de red (NIC) en el hardware. Esta NIC única tiene un ancho de banda máximo y una tasa máxima de paquetes por segundo.

Si la característica de NIC múltiple está habilitada, la CNI de la VPC no asigna direcciones IP en bloque, lo que hace de forma predeterminada. En su lugar, la CNI de la VPC asigna una dirección IP a una interfaz de red en cada tarjeta de red bajo demanda cuando se inicia un nuevo pod. Este comportamiento reduce la tasa de agotamiento de las direcciones IP, que aumenta con el uso de pods con varios hosts. Debido a que la CNI de la VPC asigna direcciones IP bajo demanda, los pods podrían tardar más en iniciarse en las instancias con la característica de NIC múltiple habilitada.

## Consideraciones
<a name="pod-multi-nic-considerations"></a>
+ Asegúrese de que su clúster de Kubernetes esté ejecutando la versión `1.20.0`, o posterior, de la CNI de la VPC. La característica de NIC múltiple solo está disponible en la versión `1.20.0` de la CNI de la VPC o posterior.
+ Habilite la variable de entorno `ENABLE_MULTI_NIC` en el complemento de la CNI de la VPC. Puede ejecutar el siguiente comando para establecer la variable e iniciar la implementación del DaemonSet.
  +  `kubectl set env daemonset aws-node -n kube-system ENABLE_MULTI_NIC=true` 
+ Asegúrese de crear nodos de trabajo que tengan varias tarjetas de interfaz de red (NIC). Para obtener una lista de las instancias de EC2 que tienen varias tarjetas de interfaz de red, consulte [Tarjetas de red](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#network-cards) en la **Guía del usuario de Amazon EC2**.
+ Si la característica de NIC múltiple está habilitada, la CNI de la VPC no asigna direcciones IP en bloque, lo que hace de forma predeterminada. Debido a que la CNI de la VPC asigna direcciones IP bajo demanda, los pods podrían tardar más en iniciarse en las instancias con la característica de NIC múltiple habilitada. Para obtener más información, consulte la sección anterior [Introducción](#pod-multi-nic-background).
+ Con la característica de NIC múltiple habilitada, los pods no tienen varias interfaces de red de forma predeterminada. Debe configurar cada carga de trabajo para usar varias NIC. Agregue la anotación `k8s.amazonaws.com/nicConfig: multi-nic-attachment` a las cargas de trabajo que deben tener varias interfaces de red.

### `IPv6`Consideraciones de
<a name="pod-multi-nic-considerations-ipv6"></a>
+  **Política de IAM personalizada**: en el caso de los clústeres de `IPv6`, cree y utilice la siguiente política de IAM personalizada para la CNI de la VPC. Esta política es específica de NIC múltiple. Para obtener más información general sobre el uso de la CNI de la VPC con clústeres de `IPv6`, consulte [Información sobre la asignación de direcciones IPv6 a clústeres, pods y servicios](cni-ipv6.md).

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "AmazonEKSCNIPolicyIPv6MultiNIC",
              "Effect": "Allow",
              "Action": [
                  "ec2:CreateNetworkInterface",
                  "ec2:DescribeInstances",
                  "ec2:AssignIpv6Addresses",
                  "ec2:DetachNetworkInterface",
                  "ec2:DescribeNetworkInterfaces",
                  "ec2:DescribeTags",
                  "ec2:ModifyNetworkInterfaceAttribute",
                  "ec2:DeleteNetworkInterface",
                  "ec2:DescribeInstanceTypes",
                  "ec2:UnassignIpv6Addresses",
                  "ec2:AttachNetworkInterface",
                  "ec2:DescribeSubnets"
              ],
              "Resource": "*"
          },
          {
              "Sid": "AmazonEKSCNIPolicyENITagIPv6MultiNIC",
              "Effect": "Allow",
              "Action": "ec2:CreateTags",
              "Resource": "arn:aws:ec2:*:*:network-interface/*"
          }
      ]
  }
  ```
+  **Mecanismo de transición de `IPv6` no disponible**: si utiliza la característica de NIC múltiple, la CNI de la VPC no asigna una dirección `IPv4` a los pods de un clúster de `IPv6`. De lo contrario, la CNI de la VPC asigna una dirección `IPv4` local de host a cada pod para que puedan comunicarse con recursos de `IPv4` externos en otra Amazon VPC o en Internet.

## Uso
<a name="pod-multi-NIC-usage"></a>

Una vez que la característica de NIC múltiple esté habilitada en la CNI de la VPC y se hayan reiniciado los pods de `aws-node`, puede configurar cada carga de trabajo para que tenga varios hosts. El siguiente es un ejemplo de una configuración de YAML con la anotación requerida:

```
apiVersion: apps/v1
kind: Deployment
metadata:
  name: orders-deployment
  namespace: ecommerce
  labels:
    app: orders
spec:
  replicas: 3
  selector:
    matchLabels:
      app: orders
  template:
    metadata:
      annotations:
         k8s.amazonaws.com/nicConfig: multi-nic-attachment
      labels:
        app: orders
    spec:
...
```

## Preguntas frecuentes
<a name="pod-muti-nic-faqs"></a>

### **1. ¿Qué es una tarjeta de interfaz de red (NIC)?**
<a name="pod-muti-nic-faqs-nic"></a>

Una tarjeta de interfaz de red (NIC), también denominada simplemente tarjeta de red, es un dispositivo físico que permite la conectividad de red para el hardware de computación en la nube subyacente. En los servidores de EC2 modernos, se refiere a la tarjeta de red Nitro. Una interfaz de red elástica (ENI) es una representación virtual de esta tarjeta de red subyacente.

Algunos tipos de instancias de EC2 tienen varias NIC para mayor ancho de banda y rendimiento de tasa de paquetes. Para tales instancias, puede asignar ENI secundarias a las tarjetas de red adicionales. Por ejemplo, la ENI n.° 1 puede funcionar como interfaz para la NIC conectada al índice de tarjeta de red 0, mientras que la ENI n.° 2 puede funcionar como interfaz para la NIC conectada a un índice de tarjeta de red separado.

### **2. ¿Qué es un pod con múltiples hosts?**
<a name="pod-muti-nic-faqs-pod"></a>

Un pod con múltiples hosts es un único pod de Kubernetes que utiliza varias interfaces de red (y, en consecuencia, varias direcciones IP). Cada interfaz de red del pod está asociada a una [interfaz de red elástica (ENI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html)), y estas ENI son representaciones lógicas de NIC independientes en el nodo de trabajo subyacente. Con varias interfaces de red, un pod con varios hosts tiene una capacidad de transferencia de datos adicional, lo que también aumenta su tasa de transferencia de datos.

**importante**  
La CNI de la VPC solo puede configurar pods con varios hosts en tipos de instancias que tengan varias NIC.

### **3. Por qué debo utilizar esta característica?**
<a name="pod-muti-nic-faqs-why"></a>

Si necesita escalar el rendimiento de la red en sus cargas de trabajo basadas en Kubernetes, puede utilizar la característica de NIC múltiple para ejecutar pods con varios hosts que interactúen con todas las NIC subyacentes que tengan un dispositivo ENA conectado. El uso de tarjetas de red adicionales aumenta la capacidad de ancho de banda y el rendimiento de la velocidad de paquetes de sus aplicaciones al distribuir el tráfico de las aplicaciones entre varias conexiones simultáneas. Esto resulta especialmente útil para los casos de uso de inteligencia artificial (IA), machine learning (ML) y computación de alto rendimiento (HPC).

### **4. ¿Cómo utilizo esta característica?**
<a name="pod-muti-nic-faqs-how-to-enable"></a>

1. En primer lugar, debe asegurarse de que su clúster de Kubernetes utilice la versión 1.20 o posterior de la CNI de la VPC. Para conocer los pasos para actualizar la CNI de la VPC como un complemento de EKS, consulte [Cómo actualizar la CNI de Amazon VPC (complemento de Amazon EKS)](vpc-add-on-update.md).

1. A continuación, debe habilitar la compatibilidad con varias NIC en la CNI de la VPC mediante la variable de entorno `ENABLE_MULTI_NIC`.

1. A continuación, debe asegurarse de crear y unir nodos que tengan varias tarjetas de red. Para obtener una lista de los tipos de instancias de EC2 que tienen varias tarjetas de red, consulte [Tarjetas de red](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#network-cards) en la *Guía del usuario de Amazon EC2*.

1. Por último, debe configurar cada carga de trabajo para que utilice varias interfaces de red (pods con varios hosts) o una única interfaz de red.

### **5. ¿Cómo configuro mis cargas de trabajo para usar varias NIC en un nodo de trabajo compatible?**
<a name="pod-muti-nic-faqs-how-to-workloads"></a>

Para usar pods con varios hosts, debe agregar la siguiente anotación: `k8s.amazonaws.com/nicConfig: multi-nic-attachment`. Esto conectará una ENI de cada NIC de la instancia subyacente al pod (mapeo de uno a varios entre un pod y las NIC).

Si falta esta anotación, la CNI de la VPC asume que el pod solo requiere una interfaz de red y le asigna una IP desde una ENI en cualquier NIC disponible.

### **6. ¿Qué adaptadores de interfaz de red son compatibles con esta característica?**
<a name="pod-muti-nic-faqs-adapters"></a>

Puede utilizar cualquier adaptador de interfaz de red si tiene al menos un ENA conectado a la tarjeta de red subyacente para el tráfico IP. Para obtener más información sobre los ENA, consulte [Elastic Network Adapter (ENA)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) en la *Guía del usuario de Amazon EC2*.

Configuraciones de dispositivos de red compatibles:
+  Las interfaces **ENA** proporcionan todas las características de enrutamiento y redes IP tradicionales que se requieren para admitir las redes IP de una VPC. Para obtener más información, consulte [Habilitar redes mejoradas con ENA en las instancias de EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html).
+  Las interfaces **EFA** **(EFA** **con ENA)** proporcionan tanto el dispositivo de ENA para redes IP como el dispositivo EFA para comunicaciones de baja latencia y alto rendimiento.

**importante**  
Si una tarjeta de red solo tiene conectado un adaptador **exclusivo de EFA**, la CNI de la VPC lo omitirá al aprovisionar la conectividad de red para un pod con varios hosts. Sin embargo, si combina un adaptador **exclusivo de EFA** con un adaptador para **ENA** en una tarjeta de red, la CNI de la VPC también administrará las ENI de este dispositivo. Para utilizar interfaces exclusivas de EFA con clústeres de EKS, consulte [Impartición de formación en machine learning en Amazon EKS con Elastic Fabric Adapter](node-efa.md).

### **7. ¿Puedo ver si un nodo de mi clúster es compatible con ENA?**
<a name="pod-muti-nic-faqs-node-ena"></a>

Sí, puede usar la CLI de AWS o la API de EC2 para recuperar información de red sobre una instancia de EC2 de su clúster. Esto proporciona detalles sobre si la instancia es compatible con ENA o no. En el siguiente comando, sustituya `<your-instance-id>` por el ID de la instancia de EC2 de un nodo.

 AWSEjemplo de la CLI de :

```
aws ec2 describe-instances --instance-ids <your-instance-id> --query "Reservations[].Instances[].EnaSupport"
```

Ejemplo de código de salida:

```
[ true ]
```

### **8. ¿Puedo ver las distintas direcciones IP asociadas a un pod?**
<a name="pod-muti-nic-faqs-list-ips"></a>

No, no es fácil. Sin embargo, puede utilizar `nsenter` desde el nodo para ejecutar herramientas de red comunes, como `ip route show`, y ver las direcciones IP e interfaces adicionales.

### **9. ¿Puedo controlar el número de interfaces de red de mis pods?**
<a name="pod-muti-nic-faqs-number-of-enis"></a>

No. Cuando la carga de trabajo está configurada para usar varias NIC en una instancia compatible, un único pod recibe automáticamente una dirección IP de cada tarjeta de red de la instancia. Como alternativa, los pods con un solo host tendrán una interfaz de red conectada a una NIC de la instancia.

**importante**  
La CNI de la VPC omite las tarjetas de red que *solo* tienen conectado un dispositivo **exclusivo de EFA**.

### **10. ¿Puedo configurar mis pods para que usen una NIC específica?**
<a name="pod-muti-nic-faqs-specify-nic"></a>

No, no se puede. Si un pod tiene la anotación correspondiente, la CNI de la VPC lo configura automáticamente para usar todas las NIC con un adaptador de ENA en el nodo de trabajo.

### **11. ¿Esta característica funciona con las demás características de red de la CNI de la VPC?**
<a name="pod-muti-nic-faqs-modes"></a>

Sí, la característica de NIC múltiple de la CNI de la VPC funciona tanto con *redes personalizadas* como con *detección de subredes mejorada*. Sin embargo, los pods con varios hosts no utilizan las subredes ni los grupos de seguridad personalizados. En su lugar, la CNI de la VPC asigna direcciones IP e interfaces de red a los pods de múltiples hosts con la misma configuración de subred y grupo de seguridad que el nodo. Para obtener más información sobre las redes personalizadas, consulte [Implementación de pods en subredes alternativas con redes personalizadas](cni-custom-network.md).

La característica de NIC múltiple de la CNI de la VPC no funciona con los *grupos de seguridad para los pods* ni se puede combinar con ellos.

### **12. ¿Puedo usar políticas de red con esta característica?**
<a name="pod-muti-nic-faqs-netpol"></a>

Sí, puede usar las políticas de red de Kubernetes con varias NIC. Las políticas de red de Kubernetes restringen el tráfico de red que entra y sale de sus pods. Para obtener más información sobre cómo aplicar políticas de red con la CNI de la VPC, consulte [Limitación del tráfico de un pod con políticas de red de Kubernetes](cni-network-policy.md).

### **13. ¿Está habilitada la compatibilidad con múltiples NIC en el modo automático de EKS?**
<a name="pod-muti-nic-faqs-auto-mode"></a>

La configuración de múltiples NIC no es compatible con los clústeres del modo automático de EKS.