Todos los productos
Search
Centro de documentos

Elastic Container Instance:Especifique una dirección IP privada para un pod

Última actualización: Sep 07, 2026

En algunos escenarios de negocio, los pods de trabajo necesitan usar una dirección IP fija. Este tema describe cómo especificar una dirección IP privada para un pod basado en Elastic Container Instance al momento de crearlo.

Descripción de la función

De forma predeterminada, el sistema asigna aleatoriamente una dirección IP privada a un pod basado en Elastic Container Instance. Esta dirección se toma del bloque CIDR del vSwitch que usted especificó en eci-profile cuando creó el pod. En ciertos escenarios de negocio, es posible que necesite especificar las direcciones IP privadas de los pods. Por ejemplo, si desea migrar un servicio, después de eliminar el pod antiguo puede asignarle su misma dirección IP al pod nuevo. Esto garantiza la continuidad del servicio.

Nota

Para obtener más información sobre cómo configurar vSwitches para clústeres o pods, consulte Create pods across multiple zones.

Límites

Las direcciones IP privadas que especifique para los pods deben ser direcciones IPv4.

Descripción de la configuración

Para especificar una dirección IP privada para un pod, agregue la anotación k8s.aliyun.com/eci-private-ip-address a sus metadatos. Tenga en cuenta lo siguiente:

  • La dirección IP especificada debe pertenecer al bloque CIDR del vSwitch indicado en el parámetro vSwitchIds dentro de eci-profile. Compruebe que la dirección IP esté libre.

  • No es posible especificar varias direcciones IP. Si agrega la anotación al crear un recurso como un Deployment, solo puede configurar una réplica para el pod. Si configura varias réplicas, únicamente se crea un pod. Los demás fallan porque no se les puede asignar una dirección IP.

Ejemplo de configuración

  1. Especifique una dirección IP privada para crear un pod.

    kubectl create -f private-ip-test.yaml

    A continuación se muestra el contenido de ejemplo de private-ip-test.yaml:

    apiVersion: v1
    kind: Pod
    metadata:
      name: private-ip-test
      labels:
        alibabacloud.com/eci: "true"
      annotations:
        k8s.aliyun.com/eci-private-ip-address: "172.16.0.11"    # Specify a private IP address for the pod.
    spec:
      containers:
      - image: registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2
        name: test-container
  2. Compruebe la dirección IP privada del pod.

    kubectl get pod private-ip-test -o wide

    La siguiente figura muestra un resultado de ejemplo. El sistema asignó al pod la dirección IP privada especificada.

    :~$ kubectl get pod private-ip-test -o wide
    NAME              READY   STATUS    RESTARTS   AGE    IP            NODE                          NOMINATED NODE   READINESS GATES
    private-ip-test   1/1     Running   0          3m41s  172.16.0.11   virtual-kubelet-cn-beijing-h   <none>           <none>