Las instancias de contenedor elásticas se ejecutan como pods en nodos virtuales y admiten por completo la configuración de Kubernetes.
Los nodos virtuales impulsan este modelo. Están basados en Virtual Kubelet y permiten que las instancias de contenedor elásticas aparezcan como pods estándar en su clúster. Además, son compatibles con todas las opciones de configuración de pods: especificaciones, imágenes, almacenamiento y red.
En esta página: Configuraciones básicas | Ciclo de vida | Límites | Orquestación de pods | Funciones extendidas
Configuraciones básicas
Especificaciones
Especifique la CPU y la memoria al crear un pod, o bien elija un tipo de instancia de Elastic Compute Service (ECS) si tiene requisitos de hardware específicos, como inference acelerada por GPU o acceso a discos locales. La facturación varía según el tipo de especificación. Consulte Billing of elastic container instances.
Consulte Create an elastic container instance.
Imágenes
Un pod admite hasta 20 contenedores. Antes del despliegue, prepare una imagen de contenedor que incluya los programas, las bibliotecas y la configuración de su aplicación.
Descarga de imágenes
Al iniciar, containerd descarga las imágenes de contenedor desde un repositorio remoto. Las descargas públicas requieren acceso a Internet; para ello, configure una puerta de enlace NAT pública para la Virtual Private Cloud (VPC) o asocie una dirección IP elástica (EIP) a la instancia.
Almacene las imágenes en Container Registry para descargarlas más rápido por la red privada, sin necesidad de un Kubernetes Secret. Consulte Pull images from a Container Registry instance without using a Secret y Use managed-aliyun-acr-credential-helper to pull images without using a secret.
Caché de imágenes
La caché de imágenes crea una instantánea a partir de una imagen de contenedor. Las instancias posteriores usan esa instantánea en lugar de volver a descargar las capas, lo cual acelera el inicio. El CustomResourceDefinition (CRD) ImageCache se habilita de forma predeterminada en los clústeres serverless de ACK. Consulte Use ImageCache to accelerate the creation of elastic container instances.
Almacenamiento
Almacenamiento temporal
De forma predeterminada, cada pod recibe 30 GiB de almacenamiento temporal gratuito para las imágenes de contenedor durante el inicio. Si su carga de trabajo requiere más espacio, consulte Scale up the temporary storage space.
Almacenamiento persistente
Monte volúmenes para compartir o conservar datos entre reinicios de pods. En los clústeres serverless de ACK, use el complemento Container Storage Interface (CSI) para montar el almacenamiento de Alibaba Cloud: discos, sistemas de archivos de File Storage NAS (NAS) y buckets de Object Storage Service (OSS). Consulte CSI overview.
Consulte Storage para conocer todas las opciones de configuración.
Redes
Dirección IP privada
Cada pod obtiene una interfaz de red elástica (ENI) de un vSwitch dentro de su VPC. La dirección IP privada se asigna desde ese mismo vSwitch. El orden de selección del vSwitch es el siguiente: la anotación k8s.aliyun.com/eci-vswitch, luego PodNetworking y, por último, la configuración de eci-profile. Para fijar una dirección IP privada, consulte Specify a private IP address for a pod y Configure a fixed IP address for a pod.
Acceso a Internet
De forma predeterminada, los pods solo tienen direcciones IP internas. Para acceder a Internet, por ejemplo, para descargar imágenes públicas, asocie una EIP o agregue una puerta de enlace NAT. Consulte Enable Internet access for pods.
IPv6
Elastic Container Instance es compatible con IPv6, lo que ofrece un pool de direcciones más amplio. Consulte Assign an IPv6 address to an Elastic Container Instance-based pod.
Consulte Network para conocer todas las opciones de configuración.
Contenedores
Configure los comandos de inicio, los sondeos de disponibilidad y preparación, así como los contextos de seguridad. Se aplican los patrones estándar de Kubernetes. Consulte Container configurations.
Ciclo de vida
Los pods pasan por distintos estados durante su ciclo de vida. Consulte Lifecycle of a pod para ver la correspondencia entre los estados de ECI y los de Kubernetes.
Límites
Elastic Container Instance no admite ciertas funciones de Kubernetes debido a las restricciones de seguridad de la nube pública de Alibaba Cloud y a las limitaciones de los nodos virtuales.
|
Función no admitida |
Descripción |
Alternativa recomendada |
|
hostPath |
Montar archivos de hosts locales en los contenedores |
Use volúmenes emptyDir, discos o sistemas de archivos de File Storage NAS (NAS) |
|
hostNetwork |
Asignar un puerto del host a un contenedor |
Cree un Service de tipo LoadBalancer |
|
DaemonSet |
Desplegar un pod estático en un host de contenedores |
Despliegue varias imágenes en un pod mediante contenedores sidecar |
|
Service de tipo NodePort |
Asignar un puerto del host a un contenedor |
Cree un Service de tipo LoadBalancer |
Consulte Limits para ver la lista completa.
Orquestación de pods
Para reducir los cambios en el YAML de los pods, use eci-profile. Este componente ofrece una vista global de los recursos de ECI en el clúster y orquesta los pods mediante selectores de etiquetas. Consulte Configure eci-profile.
Funciones extendidas
Caché de datos
Almacene en caché conjuntos de datos grandes, por ejemplo, los datos de entrenamiento de modelos. Así, los pods montan los datos de inmediato al iniciar, sin descargas repetidas, lo que reduce el tiempo y el costo. Consulte Data cache overview.
Anotaciones de pods de ECI
Agregue anotaciones a los pods en instancias de contenedor elásticas para habilitar funciones específicas de ECI. Añádalas manualmente al crear el pod o use eci-profile para aplicarlas automáticamente por etiqueta. Consulte ECI pod annotation para ver la lista completa.