Exécutez des charges de travail sans serveur sur Kubernetes avec une mise à l'échelle automatique basée sur les requêtes, une réduction à zéro (scale-to-zero) et des déploiements canari. Entièrement compatible avec les API Knative communautaires et Kubernetes standard, ACK Knative ajoute des instances réservées et la mise à l'échelle prédictive AHPA.
Pourquoi utiliser Knative dans un cluster Kubernetes
Knative
Knative est un framework basé sur Kubernetes qui définit une norme d'orchestration cloud-native et multiplateforme pour les applications sans serveur, grâce à la construction de conteneurs, à la gestion des charges de travail et aux modèles événementiels. Ses avantages incluent :
Concentration sur la logique métier : Knative simplifie la configuration des applications et la mise à l'échelle automatique, permettant aux développeurs de se concentrer sur la logique métier plutôt que sur les ressources sous-jacentes.
-
Standardisation : Le déploiement d'applications sans serveur nécessite la compilation du code source, la gestion des déploiements et le traitement des événements. Les solutions communautaires et celles des fournisseurs manquent souvent d'une norme unifiée. Knative fournit un cadre universel pour les applications sans serveur.
Par exemple, implémentez une architecture événementielle en écrivant et en déployant une ressource personnalisée (CR) YAML dans votre cluster. Cela évite une intégration profonde avec des produits cloud spécifiques et simplifie la migration entre différentes plateformes.
Simplicité d'utilisation : Knative empaquette le code dans des images de conteneur, les publie en tant que services et déploie les fonctions dans un cluster Kubernetes sous forme de conteneurs.
Mise à l'échelle automatique et gestion des versions : Knative réduit le nombre d'instances à zéro en l'absence de trafic pour économiser des ressources, et prend en charge la gestion des versions ainsi que les déploiements canari.
Pilotage par les événements : Knative propose un modèle d'événement complet pour ingérer des événements provenant de systèmes externes et les acheminer vers des services ou des fonctions.
La rubrique Présentation du modèle d'application Knative décrit le modèle d'application Knative Service.
Composants principaux
Knative comprend les composants principaux suivants :
Knative Serving : Gère les charges de travail sans serveur avec le déploiement d'applications, la gestion multi-versions, la mise à l'échelle automatique basée sur les requêtes, les déploiements canari et la réduction à zéro en l'absence de trafic.
Knative Eventing : Intègre des sources d'événements et prend en charge l'enregistrement, l'abonnement et le filtrage des événements. Son modèle d'événement découple les producteurs des consommateurs.
Knative Functions : Crée, construit et déploie des fonctions sans état et pilotées par les événements en tant que services Knative sur Kubernetes, sans nécessiter de connaissances approfondies sur Kubernetes, les conteneurs ou Knative.
Pourquoi utiliser ACK Knative
ACK Knative est entièrement compatible avec Knative communautaire et les API Kubernetes standard, tout en offrant des capacités produit améliorées et des solutions plus larges.
Capacités adaptées aux entreprises : Le déploiement en un clic élimine le besoin d'acheter des ressources ou de construire le système vous-même. L'interface graphique de la console ACK simplifie les opérations Kubernetes et Knative.
-
Opérations simplifiées :
Composants principaux gérés : ACK crée et gère Knative Serving et Knative Eventing dans les clusters ACK pour une haute disponibilité, sans frais pour les ressources des composants.
Passerelles gérées : ACK Knative propose des passerelles Application Load Balancer (ALB), Service Mesh (ASM) et Kourier. À l'exception de Kourier, compatible avec la communauté, ACK gère les contrôleurs des autres passerelles en tant que service entièrement géré, sans maintenance requise.
Intégration de l'écosystème : S'intègre aux services de calcul Alibaba Cloud (ECI, ECS et ACS), à l'observabilité (Simple Log Service (SLS) et Prometheus) et à l'intégration d'applications (EventBridge), vous permettant d'ajouter des fonctionnalités de journalisation, de surveillance, d'alerte, de livraison continue et de pilotage par les événements aux services Knative sans provisionner de serveurs ni construire de services vous-même.
-
Fonctionnalités améliorées : ACK Knative étend Knative open source avec des solutions prêtes à l'emploi pour des scénarios réels, telles que :
Instances réservées : Maintenez une instance toujours active à faible coût pour les applications sensibles à la latence, afin de réduire la latence de démarrage à froid liée à la réduction à zéro, tout en maîtrisant les coûts.
Mise à l'échelle automatique Knative : Fournit une mise à l'échelle automatique basée sur les requêtes avec Knative Pod Autoscaler (KPA) et Horizontal Pod Autoscaler (HPA). Configurez Advanced Horizontal Pod Autoscaler (AHPA) pour les charges de travail cycliques afin de provisionner les ressources à l'avance et de réduire les démarrages à froid.
Consultez la rubrique Comparaison entre ACK Knative et Knative open source pour connaître les différences entre ACK Knative et Knative open source.
Cas d'utilisation
Voici les cas d'utilisation typiques d'ACK Knative :
|
Scénario |
Description |
|
Hébergement de services web |
|
|
Applications sans serveur |
|
|
Charges de travail IA |
|
|
Charges de travail pilotées par les événements |
Knative Eventing ingère des événements provenant de systèmes externes. Par exemple, des appareils IoT peuvent envoyer des données de capteurs à un service Knative. Configurez les sources d'événements ACK Knative pour recevoir les données et déclencher le stockage, l'analyse en temps réel ou la surveillance et les alertes. |
Flux de travail
Flux de travail pour l'utilisation d'ACK Knative :
|
Étape |
Description |
|
Prérequis |
Un cluster ACK managé version 1.22 ou ultérieure. Pour mettre à niveau votre cluster, consultez Mettre à niveau manuellement un cluster. |
|
Déployez ACK Knative et installez Knative Serving conformément à Déployer et gérer les composants Knative. |
|
|
Sélectionnez et déployez une passerelle conformément à Sélectionner une passerelle Knative.
|
|
|
Déploiement et gestion des services |
Spécifiez le type de ressource :
|
|
Mise à l'échelle automatique :
|
|
|
Gestion des versions et déploiements canari :
|
|
|
Accès aux services Knative :
|
|
|
Fonctionnalités avancées |
Pilotage par les événements : Consultez Knative Eventing pour le modèle d'événement sans serveur, incluant les sources d'événements externes, le routage, l'abonnement et le filtrage. |
|
Knative Functions : Déployer Knative Functions pour créer, déployer et appeler des fonctions dans un cluster Kubernetes. |
|
|
Services d'inférence IA :
|
|
|
Maillage de services : Intégrez Service Mesh (ASM) avec les services Knative pour la gestion du trafic et la sécurité des services. |
|
|
Observabilité et gestion des coûts |
Collecte de journaux : Collecter les journaux des services Knative avec SLS pour collecter, consommer, livrer, interroger et analyser les données de journal de manière non intrusive. |
|
Tableau de bord de surveillance : Afficher le tableau de bord de surveillance des services Knative dans Managed Service for Prometheus pour la latence de réponse, la concurrence des requêtes, etc. |
|
|
Surveillance et alertes : Configurer les alertes pour les services Knative avec des règles d'alerte basées sur les journaux SLS. |
|
|
Activer la fonctionnalité d'analyse des coûts pour les services Knative pour afficher l'utilisation des ressources et la répartition des coûts. |
Facturation
Lorsque vous utilisez ACK Knative dans un cluster ACK, aucun frais de gestion n'est facturé pour ACK Knative. Vous êtes facturé pour les ressources créées et utilisées, telles que les frais de gestion de cluster, les serveurs cloud, les instances d'équilibreur de charge et les passerelles NAT, selon leurs prix respectifs. Consultez la rubrique Présentation de la facturation pour les clusters ACK et Frais des ressources de produits cloud.
FAQ
Pour les problèmes liés à ACK Knative, consultez la rubrique FAQ Knative.
Pour les questions relatives à Knative, cliquez ici pour rejoindre une organisation.
Références
Mettez à niveau Knative Serving rapidement pour bénéficier des dernières fonctionnalités et corrections de bugs. Consultez les Notes de version Knative et la rubrique Mettre à niveau le composant Knative Serving.
Le tutoriel officiel Knative Tutoriel Knative Bookstore explique pas à pas la construction, le déploiement et la surveillance d'une application de librairie.