Enterprise Distributed Application Service (EDAS) s'intègre à Container Service for Kubernetes (ACK) pour vous permettre d'utiliser Kubernetes afin de gérer vos applications conteneurisées sur Alibaba Cloud. Vous pouvez créer des clusters Kubernetes dans la console ACK. Pour les clusters hybrides, tels que les clusters Kubernetes déployés sur des clouds tiers ou les clusters Kubernetes autogérés hébergés dans vos centres de données, enregistrez-les d'abord dans la console ACK. Importez-les ensuite dans EDAS pour y déployer vos applications. EDAS assure la haute disponibilité des applications conteneurisées et améliore l'efficacité des opérations et de la maintenance (O&M), vous permettant ainsi de vous concentrer sur le développement et la gestion de vos applications.
Fonctionnalités des clusters Kubernetes dans EDAS
EDAS vous permet d'importer les clusters ACK dédiés, les clusters ACK managés et les clusters ACK Serverless (ASK) créés dans la console ACK. Pour comparer ces trois types de clusters, consultez la rubrique Qu'est-ce qu'ACK ?
Les clusters ACK dédiés et managés importés dans EDAS correspondent aux clusters ACK dans EDAS. Les clusters ACK Serverless importés dans EDAS correspondent aux clusters ACK Serverless dans EDAS.
Avant d'importer dans EDAS des clusters hybrides (clusters Kubernetes déployés sur des clouds tiers ou clusters Kubernetes autogérés hébergés dans des centres de données), enregistrez-les dans la console ACK. Les clusters hybrides importés dans EDAS correspondent aux clusters ACK dans EDAS.
Pour enregistrer un cluster hybride dans la console ACK, consultez la rubrique Créer un proxy d'enregistrement de cluster et enregistrer un cluster Kubernetes déployé dans un centre de données.
Les clusters Kubernetes gérés via EDAS présentent les avantages suivants par rapport aux clusters Kubernetes autogérés :
-
S'appuyant sur Kubernetes natif du cloud, EDAS fournit des capacités d'hébergement d'applications qui mettent en œuvre une gouvernance des microservices open source et une exploitation légère des applications Kubernetes, depuis une perspective centrée sur l'application.
Depuis cette perspective, EDAS gère les charges de travail natives de Kubernetes, telles que les déploiements et les pods, et assure un déploiement haute disponibilité des instances sur plusieurs zones.
EDAS propose des mécanismes de publication progressive et de déploiement canari basés sur le ratio de trafic et les paramètres de requête. Le service surveille l'intégralité du processus de modification, rendant ainsi vos historiques de changements traçables.
EDAS s'intègre aux principaux systèmes DevOps pour aider les entreprises à mettre en place l'intégration continue (CI) et la livraison continue (CD). Cette approche réduit les coûts et améliore l'efficacité opérationnelle.
-
Migrez vers EDAS vos applications orientées microservices, construites avec les frameworks Spring Cloud et Dubbo commercialisés au cours des cinq dernières années, sans modifier le code. EDAS prend en charge les capacités de gouvernance des microservices suivantes pour tous les frameworks d'application :
Arrêt gracieux et tests de charge lors du déploiement des applications
Authentification des services, limitation du débit (throttling), dégradation et éjection des nœuds défaillants pendant l'exécution des applications
Requête et test des services lors de l'exploitation des applications
-
Alibaba Cloud intègre ses bonnes pratiques en matière de sécurité de production, notamment l'observabilité, le déploiement canari et le rollback, directement sous forme de services, vous permettant ainsi de sécuriser immédiatement vos environnements de production.
Observabilité : une surveillance de bout en bout multidimensionnelle est mise en œuvre grâce à une vue d'ensemble des applications, aux historiques de modifications des déploiements et à la génération automatique de rapports de release.
Déploiement canari : prise en charge du déploiement canari pour les applications, basé sur le ratio de trafic ou sur des politiques configurées selon le contenu des requêtes.
Rollback : possibilité d'effectuer un rollback en un clic pendant le processus de déploiement, permettant de revenir à une version antérieure des applications en cours d'exécution.
Flux de travail des clusters Kubernetes
Pour déployer une application dans un cluster ACK, créez ou enregistrez un cluster ACK dans la console Container Service for Kubernetes (ACK) et importez-le dans la console EDAS. Utilisez ensuite un package de déploiement ou une image du cluster Container Service for Kubernetes (ACK) importé pour déployer l'application.

Dans EDAS, la procédure de gestion des clusters ACK est similaire à celle des clusters hybrides. Cette rubrique utilise un cluster ACK pour illustrer la procédure.
Prérequis
Le service EDAS est activé pour votre compte Alibaba Cloud. Pour plus d'informations, consultez la rubrique Activer EDAS.
Le service ACK est activé et l'autorisation des rôles est effectuée pour votre compte Alibaba Cloud. Pour plus d'informations, consultez la rubrique Rôles ACK.
Votre compte Alibaba Cloud accorde les autorisations requises, y compris les droits de connexion, à un utilisateur RAM utilisé pour gérer les clusters Kubernetes.
Créer un cluster Kubernetes dans la console Container Service for Kubernetes (ACK)
-
Pour utiliser un cluster ACK dans EDAS, créez un cluster Kubernetes managé ou un cluster Kubernetes dédié dans la console Container Service for Kubernetes (ACK). Pour plus d'informations, consultez les rubriques suivantes :
Pour utiliser un cluster ACK Serverless dans EDAS, créez un cluster ACK Serverless dans la console Container Service for Kubernetes (ACK). Pour plus d'informations, consultez la rubrique Créer un cluster ACK Serverless.
Importer un cluster Kubernetes dans la console EDAS
Par défaut, les composants ack-ahas-sentinel-pilot, ack-arms-pilot et ack-arms-prometheus sont installés lorsque vous importez un cluster ACK dans EDAS via la console EDAS. Le composant ack-ahas-sentinel-pilot assure la protection des applications grâce à la limitation du débit et à la dégradation. Le composant ack-arms-pilot est lié au service Application Real-Time Monitoring Service (ARMS). Le composant ack-arms-prometheus est un composant de surveillance Prometheus.
Nous vous recommandons de vous familiariser avec les limites opérationnelles imposées par EDAS avant d'importer un cluster Kubernetes. Pour plus d'informations, consultez la section Importer un cluster Kubernetes.
Connectez-vous à la console EDAS.
Dans le volet de navigation de gauche, accédez à .
Dans la barre de navigation supérieure, sélectionnez la région du namespace de microservices que vous souhaitez gérer. Dans la liste déroulante Microservice Namespace, sélectionnez le namespace de microservices dans lequel vous souhaitez importer un cluster ACK. Cliquez ensuite sur Synchronize Container Service Kubernetes Cluster.
Repérez le cluster ACK que vous souhaitez importer et cliquez sur Import dans la colonne Actions.
-
Dans la boîte de dialogue Import Kubernetes Cluster, sélectionnez un namespace de microservices dans la liste déroulante Microservice Namespaces, activez l'option Service Mesh si nécessaire, puis cliquez sur Import.
RemarqueSi vous n'avez pas créé de namespace de microservices, le namespace de microservices par défaut est sélectionné.
Si vous devez déployer une application multilingue, activez l'option Service Mesh.
-
Lorsque vous activez Service Mesh, deux instances Server Load Balancer (SLB) internes avec la spécification slb.s1.small sont créées par défaut à des fins de gestion. Les ports 6443 et 15011 de ces deux instances SLB sont exposés. Pour plus d'informations, consultez la section « Contexte » de la rubrique Créer une instance ASM.
La facturation s'applique aux deux instances SLB créées automatiquement. Pour plus d'informations sur la facturation, consultez la rubrique Paiement à l'utilisation.
Le cluster ACK est importé dans EDAS lorsque la valeur du paramètre Cluster Status est Running et que la valeur du paramètre Import Status est Imported..
Annuler l'importation et nettoyer un cluster Kubernetes dans la console EDAS
Connectez-vous à la console EDAS.
Dans le volet de navigation de gauche, accédez à ou à .
-
Dans la barre de navigation supérieure, sélectionnez la région où réside le cluster. Dans la liste déroulante Microservice Namespace, sélectionnez le namespace de microservices contenant le cluster. Dans la colonne Actions du cluster, cliquez sur Cancel Import. Dans le message Note, cliquez sur OK.
Si la valeur du paramètre Cluster Status est Running, vous pouvez importer à nouveau le cluster dans EDAS pour créer des applications.
-
Si la valeur du paramètre Cluster Status est Deleted, vous pouvez cliquer sur Clear dans la colonne Actions pour supprimer le cluster de la liste des clusters dans EDAS.
RemarquePour plus d'informations sur les opérations et la FAQ relatives à la suppression de clusters, consultez la rubrique Supprimer un cluster.
Afficher un cluster Kubernetes dans la console EDAS
Connectez-vous à la console EDAS.
Dans le volet de navigation de gauche, accédez à ou à .
-
Cliquez sur l'ID du cluster que vous souhaitez consulter. La page Cluster Details s'affiche.
Sur la page Cluster Details, vous pouvez afficher les détails du cluster, les instances Elastic Compute Service (ECS), les déploiements et les applications.
-
Cluster Information : cette section affiche les informations de base du cluster, y compris l'ID du cluster, csClusterId, le nom du cluster, le namespace de microservices, le type de cluster, l'ID VPC, le type de réseau, l'état du cluster et la description.
Dans la section Cluster Information, cliquez sur View Details dans le coin supérieur droit pour afficher les détails du cluster.
Dans la section Cluster Information, cliquez sur Edit dans le coin supérieur droit pour modifier la description du cluster.
ECS Instance : cette section affiche les instances ECS du cluster ainsi qu'une vue d'ensemble de ces instances.
Deployments : cette section affiche les déploiements autogérés sur des plateformes tierces que vous convertissez et gérez dans EDAS.
Applications : cette section affiche les applications présentes dans le cluster. Vous pouvez consulter le nom de l'application, la version JDK, l'environnement d'exécution de l'application, le nombre total d'instances, le nombre d'instances en cours d'exécution et le propriétaire. Cliquez sur le nom d'une application pour accéder à sa page de détails.
-
Importer un cluster Kubernetes
Groupe de sécurité
Tous les nœuds du cluster doivent se trouver dans le groupe de sécurité du cluster ou être en mesure de s'y connecter. Pour plus d'informations, consultez la rubrique Pourquoi les conteneurs ne parviennent-ils pas à communiquer entre eux ?
Ne supprimez pas les règles par défaut définies par ACK pour le groupe de sécurité.
Configuration des nœuds
Réservez suffisamment de CPU, de mémoire et de Pods pour permettre l'exécution des composants de gestion EDAS dans le cluster.
Ne supprimez pas le rôle RAM
KubernetesWorkerRole-*attribué par ACK aux nœuds.
SLB pour API Server
Ne bloquez pas les demandes d'accès provenant de la plage d'adresses internes
100.104.0.0/16.Ne supprimez pas les libellés intégrés ajoutés par ACK à l'instance SLB.
Ne réutilisez pas le port 6443 sur l'instance SLB. Ce port est réservé à l'API Server.
Charts Helm
-
Ne désinstallez pas les charts Helm suivants installés par EDAS, ni ne supprimez les ressources qu'ils gèrent :
ahas-sentinel-pilotarms-eventerarms-pilotarms-prom
N'installez pas les versions open source de
oam-runtime,kubevela,kedaouflagger. Elles entrent en conflit avec les versions gérées par EDAS et peuvent provoquer des échecs de déploiement.Ne supprimez ni ne modifiez aucune ressource Kubernetes dans le namespace
edas-oam-system.
ClusterRole
N'utilisez pas la console ACK, kubectl ou des outils tiers pour supprimer ou modifier edas-default-cluster-role.
ClusterRoleBinding
N'utilisez pas la console ACK, kubectl ou des outils tiers pour supprimer ou modifier les ClusterRoleBindings suivants :
edas-default-cluster-role-bindingedas-oam-cluster-role-bindingkeda-hpa-controller-external-metrics
Custom Resource Definitions (CRD) et Custom Resources (CR)
Ne gérez pas directement les CRD ou CR suivants. EDAS contrôle leur cycle de vie et les modifications manuelles sont écrasées lors des mises à jour des applications :
alertproviders.flagger.appapplicationconfigurations.core.oam.devapplications.oam-domain.alibabacloud.comapplicationscopes.core.oam.devautoscalings.edas.aliyun.oam.combasecomponents.oam-domain.alibabacloud.comcanaries.flagger.appcomponentschematics.core.oam.devcrdreleases.clm.cloudnativeapp.iodynamiclabels.extension.oam.devimagebuilders.edas.aliyun.oam.comlogcollectors.edas.aliyun.oam.commeshtraits.edas.aliyun.oam.commetrictemplates.flagger.appmseruletraits.edas.aliyun.oam.compackageversions.oam-domain.alibabacloud.comrollouts.edas.aliyun.oam.comscaledobjects.keda.k8s.ioscalingrules.oam-domain.alibabacloud.comserviceregistrytraits.edas.aliyun.oam.comservicetraits.edas.aliyun.oam.comsources.clm.cloudnativeapp.iotraits.core.oam.devtriggerauthentications.keda.k8s.ioworkloadtypes.core.oam.dev
Ne modifiez pas la ressource aliyunlogconfigs.log.alibabacloud.com créée par EDAS. Cette ressource porte le libellé edas-domain: edas-admincode.
Références
Déployer une application de microservices Java à partir d'une image de conteneur
Déployer une application Java dans un cluster ACK avec un package JAR ou WAR
Utiliser une image pour déployer une application dans un cluster ACK Serverless
Déployer une application Java dans un cluster ACK Serverless à l'aide d'un package JAR ou WAR
Déployer une application PHP à partir du code source dans un cluster ACK