Execute workloads serverless no Kubernetes com dimensionamento automático baseado em requisições, scale-to-zero e canary releases. Totalmente compatível com o Knative da comunidade e as APIs do Kubernetes, o ACK Knative adiciona instâncias reservadas e dimensionamento preditivo AHPA.
Por que usar o Knative em um cluster Kubernetes
Knative
Knative é um framework baseado em Kubernetes que define um padrão de orquestração nativo da cloud e multiplataforma para aplicações serverless por meio de builds de contêineres, gerenciamento de workloads e modelos orientados a eventos. Os benefícios incluem:
Foco na lógica de negócios: O Knative simplifica a configuração da aplicação e o dimensionamento automático para que os desenvolvedores se concentrem na lógica de negócios em vez dos recursos subjacentes.
-
Padronização: Implantar aplicações serverless exige compilar código-fonte, gerenciar implantações e tratar eventos. Soluções da comunidade e de fornecedores frequentemente carecem de um padrão unificado. O Knative oferece um framework universal para aplicações serverless.
Por exemplo, implemente uma arquitetura orientada a eventos escrevendo e implantando um custom resource (CR) YAML no cluster. Essa abordagem evita integração profunda com products de cloud específicos e simplifica a migração entre plataformas.
Facilidade de uso: O Knative empacota o código em imagens de contêiner, publica-as como services e implanta funções em um cluster Kubernetes como contêineres.
Dimensionamento automático e gerenciamento de versões: O Knative reduz as instâncias a zero quando não há tráfego para economizar recursos, além de suportar gerenciamento de versões e canary releases.
Orientado a eventos: O Knative fornece um modelo completo de eventos para ingerir eventos de sistemas externos e roteá-los para services ou funções.
O tópico Introduction to the Knative application model descreve o modelo de aplicação Knative Service.
Componentes principais
O Knative inclui os seguintes componentes principais:
Knative Serving: Gerencia workloads serverless com implantação de aplicações, gerenciamento de múltiplas versões, dimensionamento automático baseado em requisições, canary releases e scale-to-zero quando não há tráfego.
Knative Eventing: Integra fontes de eventos e suporta registro, assinatura e filtragem de eventos. Seu modelo de eventos desacopla produtores de consumidores.
Knative Functions: Cria, compila e implanta funções stateless e orientadas a eventos como services Knative no Kubernetes, sem necessidade de conhecimento profundo sobre Kubernetes, contêineres ou Knative.
Por que usar o ACK Knative
O ACK Knative é totalmente compatível com o Knative da comunidade e as APIs padrão do Kubernetes, oferecendo capacidades aprimoradas de product e soluções mais abrangentes.
Capacidades prontas para empresas: A implantação com um clique elimina a necessidade de adquirir recursos ou construir o sistema manualmente. A interface gráfica do console ACK simplifica as operações do Kubernetes e do Knative.
-
Operações simplificadas:
Componentes principais gerenciados: O ACK cria e gerencia o Knative Serving e o Knative Eventing em clusters ACK para garantir alta disponibilidade, sem cobrança pelos recursos dos componentes.
Gateways gerenciados: O ACK Knative oferece gateways Application Load Balancer (ALB), Service Mesh (ASM) e Kourier. Exceto pelo Kourier, compatível com a comunidade, o ACK gerencia os controladores dos demais gateways como um service totalmente gerenciado e livre de manutenção.
Integração com ecossistema: Integra-se à computação da Alibaba Cloud (ECI, ecs e ACS), observabilidade (Simple Log Service (SLS) e Prometheus) e integração de aplicações (EventBridge). Assim, você adiciona logging, monitoramento, alertas, entrega contínua e capacidades orientadas a eventos aos services Knative sem provisionar servidores ou construir services manualmente.
-
Recursos aprimorados: O ACK Knative estende o Knative open source com soluções prontas para uso em cenários reais, tais como:
Reserved instances: Mantém uma instância de baixo custo e sempre ativa para aplicações sensíveis à latência. Isso reduz a latência de cold start do scale-to-zero enquanto controla os custos.
Knative auto scaling: Fornece dimensionamento automático baseado em requisições com Knative Pod Autoscaler (KPA) e Horizontal Pod Autoscaler (HPA). Configure o Advanced Horizontal Pod Autoscaler (AHPA) para workloads cíclicos a fim de provisionar recursos antecipadamente e reduzir cold starts.
Consulte Comparison between ACK Knative and open source Knative para ver as diferenças entre o ACK Knative e o Knative open source.
Casos de uso
Casos de uso típicos do ACK Knative:
|
Cenário |
Descrição |
|
Hospedagem de services web |
|
|
Aplicações serverless |
|
|
Workloads de IA |
|
|
Workloads orientados a eventos |
O Knative Eventing ingere eventos de sistemas externos. Por exemplo, dispositivos IoT podem enviar dados de sensores para um service Knative. Configure fontes de eventos do ACK Knative para receber dados e acionar armazenamento, análise em tempo real ou monitoramento e alertas. |
Fluxo de trabalho
Fluxo de trabalho para uso do ACK Knative:
|
Etapa |
Descrição |
|
Pré-requisitos |
Um cluster gerenciado ACK versão 1.22 ou posterior. Para atualizar seu cluster, consulte Manually upgrade a cluster. |
|
Implante o ACK Knative e instale o Knative Serving conforme Deploy and manage Knative components. |
|
|
Selecione e implante um gateway conforme Select a Knative gateway.
|
|
|
Implantação e gerenciamento de services |
Especifique o tipo de recurso:
|
|
Dimensionamento automático:
|
|
|
Gerenciamento de versões e canary releases:
|
|
|
Acesso aos services Knative:
|
|
|
Recursos avançados |
Orientado a eventos: Consulte Knative Eventing para o modelo de eventos serverless, incluindo fontes de eventos externos, roteamento, assinatura e filtragem. |
|
Knative Functions: Deploy Knative Functions para criar, implantar e invocar funções em um cluster Kubernetes. |
|
|
Services de inferência de IA:
|
|
|
Service mesh: Integre Service Mesh (ASM) aos services Knative para gerenciamento de tráfego e segurança de services. |
|
|
Observabilidade e gerenciamento de custos |
Coleta de logs: Collect logs from Knative services com SLS para coletar, consumir, entregar, consultar e analisar dados de log de forma não intrusiva. |
|
Painel de monitoramento: View the Knative service monitoring dashboard no Managed Service for Prometheus para visualizar latência de resposta, concorrência de requisições e muito mais. |
|
|
Monitoramento e alertas: Configure alerting for Knative services com regras de alerta baseadas em logs do SLS. |
|
|
Enable the cost insights feature for Knative services para visualizar o uso de recursos e a distribuição de custos. |
Faturamento
Ao usar o ACK Knative em um cluster ACK, não há cobrança de taxas de gerenciamento para o ACK Knative. A cobrança ocorre pelos recursos criados e utilizados, como taxas de gerenciamento de cluster, servidores cloud, instâncias de balanceador de carga e gateways NAT, com base em seus respectivos preços. Consulte Billing overview para clusters ACK e Cloud product resource fees.
FAQ
Para problemas relacionados ao ACK Knative, consulte Knative FAQ.
Para dúvidas sobre o Knative, clique em aqui para entrar em uma organização.
Referências
Atualize o Knative Serving prontamente para obter os recursos mais recentes e correções de bugs. Consulte Knative Release Notes e Upgrade Knative Serving component.
O tutorial oficial Knative Bookstore Tutorial orienta passo a passo na criação, implantação e monitoramento de uma aplicação de livraria.