Ejecute cargas de trabajo serverless en Kubernetes con escalado automático basado en solicitudes, reducción a cero y versiones canary. Totalmente compatible con las API de Knative de la comunidad y de Kubernetes, ACK Knative añade reserved instances y escalado predictivo AHPA.
Por qué usar Knative en un clúster de Kubernetes
Knative
Knative es un framework basado en Kubernetes que define un estándar de orquestación multiplataforma y nativo de la nube para aplicaciones serverless mediante la compilación de contenedores, la gestión de cargas de trabajo y modelos basados en eventos. Entre sus beneficios se incluyen:
Enfoque en la lógica de negocio: Knative simplifica la configuración de aplicaciones y el escalado automático para que los desarrolladores se centren en la lógica de negocio en lugar de en los recursos subyacentes.
-
Estandarización: El despliegue de aplicaciones serverless requiere compilar código fuente, gestionar despliegues y manejar eventos. Las soluciones de la comunidad y de proveedores suelen carecer de un estándar unificado. Knative proporciona un framework universal para aplicaciones serverless.
Por ejemplo, implemente una arquitectura basada en eventos al escribir y desplegar un recurso personalizado (CR) YAML en su clúster. Esto evita una integración profunda con productos específicos de la nube y simplifica la migración multiplataforma.
Facilidad de uso: Knative empaqueta el código en imágenes de contenedor, las publica como servicios y despliega funciones en un clúster de Kubernetes como contenedores.
Escalado automático y gestión de versiones: Knative reduce las instancias a cero cuando no hay tráfico para ahorrar recursos, y admite la gestión de versiones y las versiones canary.
Basado en eventos: Knative ofrece un modelo de eventos completo para ingerir eventos de sistemas externos y enrutarlos a servicios o funciones.
El Introduction to the Knative application model describe el modelo de aplicación Knative Service.
Componentes principales
Knative incluye los siguientes componentes principales:
Knative Serving: Gestiona cargas de trabajo serverless con despliegue de aplicaciones, gestión multiversión, escalado automático basado en solicitudes, versiones canary y reducción a cero cuando no hay tráfico.
Knative Eventing: Integra fuentes de eventos y admite el registro, la suscripción y el filtrado de eventos. Su modelo de eventos desacopla a los productores de los consumidores.
Knative Functions: Crea, compila y despliega funciones sin estado y basadas en eventos como servicios de Knative en Kubernetes, sin necesidad de conocimientos profundos sobre Kubernetes, contenedores o Knative.
Por qué usar ACK Knative
ACK Knative es totalmente compatible con Knative de la comunidad y las API estándar de Kubernetes, con capacidades de producto mejoradas y soluciones más amplias.
Capacidades listas para la empresa: El despliegue con un solo clic elimina la necesidad de adquirir recursos o construir el sistema por su cuenta. La interfaz gráfica de la consola de ACK simplifica las operaciones de Kubernetes y Knative.
-
Operaciones simplificadas:
Componentes principales gestionados: ACK crea y gestiona Knative Serving y Knative Eventing en clústeres de ACK para garantizar alta disponibilidad, sin costo alguno por los recursos de los componentes.
Gateways gestionados: ACK Knative ofrece gateways Application Load Balancer (ALB), Service Mesh (ASM) y Kourier. A excepción de Kourier, que es compatible con la comunidad, ACK gestiona los controladores de los demás gateways como un servicio totalmente gestionado y libre de mantenimiento.
Integración con el ecosistema: Se integra con servicios de cómputo de Alibaba Cloud (ECI, ECS y ACS), observability (Simple Log Service (SLS) y Prometheus) e integración de aplicaciones (EventBridge) para que pueda añadir registros, monitoreo, alertas, entrega continua y capacidades basadas en eventos a los servicios de Knative sin aprovisionar servidores ni crear servicios por su cuenta.
-
Funciones mejoradas: ACK Knative extiende Knative de código abierto con soluciones listas para usar en escenarios reales, tales como:
Reserved instances: Mantenga una instancia de bajo costo siempre activa para aplicaciones sensibles a la latencia, con el fin de reducir la latencia de arranque en frío tras la reducción a cero y controlar los costos.
Knative auto scaling: Proporciona escalado automático basado en solicitudes con Knative Pod Autoscaler (KPA) y Horizontal Pod Autoscaler (HPA). Configure Advanced Horizontal Pod Autoscaler (AHPA) para cargas de trabajo cíclicas y aprovisione recursos con antelación para reducir los arranques en frío.
Consulte Comparison between ACK Knative and open source Knative para conocer las diferencias entre ACK Knative y Knative de código abierto.
Casos de uso
Casos de uso típicos de ACK Knative:
|
Escenario |
Descripción |
|
Hosting de servicios web |
|
|
Aplicaciones serverless |
|
|
Cargas de trabajo de IA |
|
|
Cargas de trabajo basadas en eventos |
Knative Eventing ingiere eventos de sistemas externos. Por ejemplo, los dispositivos IoT pueden enviar datos de sensores a un servicio de Knative. Configure las fuentes de eventos de ACK Knative para recibir datos y activar almacenamiento, análisis en tiempo real o monitoreo y alertas. |
Flujo de trabajo
Flujo de trabajo para usar ACK Knative:
|
Paso |
Descripción |
|
Requisitos previos |
Un clúster administrado de ACK versión 1.22 o posterior. Para actualizar su clúster, consulte Manually upgrade a cluster. |
|
Despliegue ACK Knative e instale Knative Serving según Deploy and manage Knative components. |
|
|
Seleccione y despliegue un gateway según Select a Knative gateway.
|
|
|
Despliegue y gestión de servicios |
Especifique el tipo de recurso:
|
|
Escalado automático:
|
|
|
Gestión de versiones y versiones canary:
|
|
|
Acceso a servicios de Knative:
|
|
|
Funciones avanzadas |
Basado en eventos: Consulte Knative Eventing para obtener información sobre el modelo de eventos serverless, incluidas fuentes de eventos externos, enrutamiento, suscripción y filtrado. |
|
Knative Functions: Deploy Knative Functions para crear, desplegar e invocar funciones en un clúster de Kubernetes. |
|
|
Servicios de inference de IA:
|
|
|
Malla de servicios: Integre Service Mesh (ASM) con servicios de Knative para la gestión de tráfico y la seguridad de los servicios. |
|
|
Observability y gestión de costos |
Recopilación de registros: Collect logs from Knative services con SLS para recopilar, consumir, entregar, consultar y analizar datos de registros de forma no intrusiva. |
|
Panel de monitoreo: View the Knative service monitoring dashboard en Managed Service for Prometheus para latencia de respuesta, concurrencia de solicitudes y más. |
|
|
Monitoreo y alertas: Configure alerting for Knative services con reglas de alerta basadas en registros de SLS. |
|
|
Enable the cost insights feature for Knative services para ver el uso de recursos y la distribución de costos. |
Facturación
Cuando utiliza ACK Knative en un clúster de ACK, no se cobran tarifas de gestión por ACK Knative. Se le factura por los recursos creados y utilizados, como tarifas de gestión del clúster, servidores en la nube, instancias de load balancer y gateways NAT, según sus precios respectivos. Consulte Billing overview para clústeres de ACK y Cloud product resource fees.
Preguntas frecuentes
Para problemas relacionados con ACK Knative, consulte Knative FAQ.
Para preguntas sobre Knative, haga clic aquí para unirse a una organización.
Referencias
Actualice Knative Serving oportunamente para obtener las funciones más recientes y correcciones de bugs. Consulte Knative Release Notes y Upgrade Knative Serving component.
El tutorial oficial de Knative Tutorial de librería de Knative guía paso a paso en la creación, el despliegue y el monitoreo de una aplicación de librería.