Académique Documents
Professionnel Documents
Culture Documents
native cloud
Version hiver-2020
Auteur original
Ce document présente une implémentation de référence pour une architecture d’entreprise numérique native cloud décrite dans
architecture de référence pour une entreprise numérique cloud native. Nous nous concentrerons sur une implémentation utilisant
Kubernetes et la plateforme d’intégration dirigée par API de WSO2.
Introduction
Les contraintes récentes imposées aux entreprises ont poussé les organisations à accélérer leurs plans de transfert des opérations
vers le monde numérique, réduisant souvent les délais de plusieurs années à plusieurs mois. Dans le processus, les API sont
apparues comme les produits du 21ème siècle. Comme indiqué dans l’architecture de référence pour une entreprise numérique
native du cloud,la combinaison de technologies natives du cloud et d’une plate-forme d’intégration dirigée par API augmente
considérablement la productivité en permettant l’agilité, la flexibilité et l’évolutivité grâce à l’automatisation et aux services.
Ce document traite d’une implémentation de référence pour une entreprise numérique native du cloud utilisant deux piles
technologiques open source de pointe : Kubernetes et la plate-forme d’intégration dirigée par API de WSO2.
Dans cette implémentation de référence, Kubernetes fournit les fonctionnalités de la plateforme cloud native, et la solution
d’intégration dirigée par API de WSO2 offre les capacités d’intégration et de gestion des API requises pour une entreprise
numérique.
Kubernetes peut s’installer sur n’importe quelle infrastructure de cloud privé, public ou hybride. La plateforme d’intégration dirigée
par API de WSO2 (WSO2 API Manager et WSO2 Enterprise Integrator) peut être installée sur Kubernetes avec une prise en charge
native via l’opérateur d’API Kubernetes WSO2. Cette intégration native fournit l’automatisation, l’évolutivité et les opérations
nécessaires, tout en offrant des fonctionnalités d’intégration dirigées par API.
Kubernetes
Kubernetes, une plateforme d’orchestration cloud native open source ou un framework, fournit un ensemble complet d’abstractions
cloud natives et une boîte à outils pour créer une solution évolutive et flexible qui s’aligne sur la croissance de l’entreprise. Il s’agit
d’un projet open source mature qui est régi par la Cloud Native Computing Foundation (CNCF). Les riches abstractions cloud natives
de Kubernetes aident à définir l’architecture évolutive. Sa boîte à outils permet d’orchestrer des applications conteneurisées dans
une plate-forme distribuée multi-hôtes et multi-cloud en fournissant l’infrastructure et l’automatisation nécessaires.
L’architecture Kubernetes se compose d’un plan de contrôle et d’un ensemble de nœuds de travail. En règle générale, les
composants du plan de contrôle sont déployés dans les nœuds maîtres (plan de contrôle) et les charges de travail sont déployées
sur les nœuds de travail. Le plan de contrôle est responsable du stockage des informations concernant les nœuds, de la surveillance
des nœuds, de la planification de la charge de travail du conteneur, etc. Si vous êtes nouveau sur Kubernetes, je vous recommande
de lire la section annexe Architecture Kubernetes.If you are new to Kubernetes, I would recommend reading the Kubernetes
Architecture appendix section.
Les riches abstractions natives cloud de Kubernetes offrent la flexibilité de créer une grande variété de plateformes cloud
natives. Les PDD, les services, les déploiements, les ConfigMaps, les étiquettes et la mise à l’échelle automatique horizontal POD
sont quelques-unes des principales abstractions natives du cloud. La section Abstractions cloud natives Kubernetes décrit en détail
les abstractions Kubernetes utilisées dans la plateforme d’intégration dirigée par API pour créer une entreprise numérique native
cloud.
Les contrôleurs personnalisés permettent de synchroniser l’état actuel des objets Kubernetes (définis dans CR) avec l’état souhaité.
Le contrôleur interprète les données structurées comme un enregistrement de l’état souhaité par l’utilisateur et le maintient
continuellement. Par conséquent, les ressources personnalisées fournissent une API déclarative dédiée lorsque vous combinez une
ressource personnalisée avec un contrôleur personnalisé.
Les ressources personnalisées et les contrôleurs personnalisés offrent une flexibilité et une immense puissance aux architectes pour
créer des plateformes cloud natives sur Kubernetes.
L’offre de WSO2 est fournie avec un concepteur et un éditeur d’API, un portail de développeurs, un gestionnaire de clés, un serveur
d’analyse d’API, une passerelle API, un intégrateur d’entreprise et un opérateur d’API Kubernetes.
En plus de l’interface graphique, la plate-forme dirigée par API de WSO2 dispose d’un outil de ligne de commande, c’est-à-dire
apictl, qui automatise les fonctionnalités complètes de gestion du cycle de vie des API.
L’interface utilisateur Web du portail des développeurs est une application React d’une seule page écrite sur des API bien définies.
Les organisations peuvent personnaliser l’interface utilisateur web pour s’aligner sur les besoins de l’organisation ou créer leur
propre portail de développeur de marque en consommant ces API de développeur.
informatique décisionnelle
L’obtention d’informations commerciales significatives sur le comportement des API est essentielle dans chaque entreprise. WSO2
API Analytics Server est capable de générer toutes sortes d’informations d’affaires. En plus des graphiques statistiques, son moteur
de traitement des événements en temps réel peut identifier les anomalies et alerter les utilisateurs sur les attaques malveillantes
potentielles.
Les charges utiles malveillantes peuvent être associées à des demandes autorisées et authentifiées, et il est essentiel de les identifier
et de les arrêter immédiatement à un stade précoce. Vous pouvez définir des règles pour analyser la charge utile de la demande
(par exemple, JSON ou XML) et les empêcher de passer par la passerelle vers les backends respectifs.
Les anomalies peuvent être identifiées en analysant les modèles d’accès aux API. L’intelligence artificielle et les techniques
d’apprentissage automatique aident à identifier ces types de menaces de sécurité. Ces techniques avancées aident les entreprises
numériques à surveiller et à prévenir de manière proactive les risques possibles et les activités malveillantes.
WSO2 Micro Integrator fournit une approche low code unique pour l’intégration de microservices. Ses connecteurs riches et
complets permettent de s’intégrer à une large gamme de systèmes hérités. L’approche d’intégration de code facile à utiliser de
l’offre accélère la création de microservices d’intégration composites, tout en permettant aux utilisateurs de profiter des avantages
de MSA.
Figure 5 - Micro-intégration
Application des stratégies à grande échelle
API Gateway est le principal point d’application des stratégies. Il prend en charge les mécanismes d’authentification basés sur OAuth
2.0, JWT, Basic Auth, Mutual SSL et API-Key et permet aux organisations informatiques d’appliquer des limites de débit et des
stratégies de limitation.
En plus des applications de stratégie, vous pouvez effectuer des intégrations de périphérie, telles que la médiation, la
transformation, etc., en fonction de vos besoins. Supposons que votre intégration soit complexe ou qu’elle souhaite disposer d’une
architecture hautement évolutive. Dans ce cas, WSO2 recommande d’utiliser un modèle de façade à l’aide d’un micro-intégrateur
d’entreprise avec la passerelle API.
WSO2 API Micro Gateway est optimisé pour les microservices et prend en charge les trois modèles de déploiement : passerelle
partagée, passerelle jet privé et passerelle side-car (décrit dans le document d’architecture deréférence).
Figure 6 : modèles de déploiement de l’API Micro Gateway WSO2
Selon la stratégie d’API, les utilisateurs peuvent choisir un modèle de déploiement de passerelle API efficace. Dans certains cas
d’utilisation, nous pouvons gérer tout le trafic d’API à l’aide d’un cluster API Gateway partagé. Les utilisateurs peuvent également
regrouper des API et les distribuer dans différents clusters API Gateway. Ces regroupements peuvent être effectués en fonction des
fonctionnalités de l’API ou des régions auxquelles ils accèdent. Ceux-ci peuvent être déployés en mode jet privé ou en mode
partagé en fonction des exigences évolutives.
Vous pouvez automatiser le déploiement de la passerelle à l’aide d’une plateforme Kubernetes qui se déploie dans plusieurs
régions. Disposer d’un cluster de passerelle évolutif est essentiel si vous recherchez une entreprise numérique opérationnelle
mondiale.
L’opérateur d’API Kubernetes WSO2 peut créer et déployer WSO2 API Micro Gateway et WSO2 Micro Integrator en lisant les
définitions Swagger ou les définitions d’intégration fournies par le développeur/éditeur d’API. Ces passerelles et intégrateurs se
déploient automatiquement dans le cluster Kubernetes défini avec les artefacts de déploiement Kubernetes nécessaires.
Observabilité de l’API
Contrairement à l’architecture monolithique, l’audit et le traçage sont des problèmes difficiles dans les architectures décentralisées
telles que MSA. Les problèmes de performances, les erreurs et les exceptions sont des événements regrettables qui peuvent se
produire dans un environnement de production. Pour identifier un tel événement, l’observation de l’environnement de production
est essentielle.
Souvent, les microservices n’agissent pas seuls et ils s’interconnectent les uns aux autres via les appels d’API. WSO2 API Gateway
peut fonctionner avec des outils d’observabilité natifs du cloud, tels que Prometheus, Jaeger et Fluentd, pour analyser ces métriques,
statistiques et données capturées afin de produire des visualisations significatives pour comprendre le comportement du système.
Prométhée
Prometheus est une boîte à outils de surveillance et d’alerte de système open source qui est régie par la CNCF. Prometheus peut
configurer pour fonctionner en mode natif avec un cluster Kubernetes.Prometheus can set up to work natively with a Kubernetes
cluster.
La passerelle API expose un point de terminaison de métriques qui fournit des métriques liées aux données de niveau de service,
aux données côté client et à certaines données liées aux processus, telles que l’utilisation de la mémoire et de l’UC. Ces métriques
peuvent ensuite alimenter Prometheus. En plus de cela, les utilisateurs peuvent configurer un tableau de bord analytique, tel que
Grafana, pour visualiser les métriques de Prometheus.
En plus des tableaux de bord d’observabilité, vous pouvez utiliser ces métriques collectées pour mettre à l’échelle les services
backend et les passerelles API en étendant la mise à l’échelle automatique du pod horizontal Kubernetes.In addition to observability
dashboards, you can use these collected metrics to scale backend services and API gateways by extending the Kubernetes
Horizontal Pod Autoscaler.
Figure 8 : mise à l’échelle automatique basée sur des métriques personnalisées
Jaeger
Jaeger est une boîte à outils de système de traçage distribué qui est régie par la CNCF. La prise en charge de Jaeger est sortie de
l’emballage dans WSO2 API Gateway. Il est bien adapté à la surveillance des transactions distribuées, à l’optimisation des
performances et de la latence, à l’analyse des dépendances de service et à de nombreux problèmes opérationnels lors du passage à
une architecture distribuée.
Fluentd
Fluentd est un collecteur de données open source pour les couches de journalisation unifiées. La CNCF régit le projet Fluentd. Par
défaut, les conteneurs ne conservent aucune donnée opérationnelle (telle que les journaux, etc.), et lorsque les conteneurs se
terminent, ils perdent des données. Vous pouvez configurer le cluster Kubernetes pour envoyer tous les journaux agrégés des
microservices, des passerelles d’API et des intégrateurs d’API vers Fluentd.You can configure the Kubernetes cluster to push all
aggregated logs from microservices, API gateways, and API integrators to Fluentd. Ces données agrégées peuvent être utilisées pour
effectuer différentes analyses afin d’identifier tout problème opérationnel.
GitOps
GitOps est un moyen d’implémenter un déploiement continu pour les applications cloud natives. Il combine les fonctionnalités de
Git et des outils de déploiement continu et offre une expérience centrée sur le développeur lors de l’exploitation de l’infrastructure.
Dans une entreprise numérique, la publication d’une API n’est pas qu’un processus simple. Cela implique la création d’API, puis leur
déploiement dans un environnement de gestion d’API inférieur pour passer par différents cycles de test (tests de développeur, tests
de contrainte, tests d’assurance qualité, etc.). Une fois ces tests réussis, ils passent à l’environnement de production.
Figure 9 : automatisation ci/cd de l’API avec GitOps
Chaque environnement de déploiement possède un cluster Kubernetes spécifique configuré avec l’opérateur d’API Kubernetes
WSO2 et les composants de gestion d’API WSO2. Selon les besoins de l’entreprise, les composants de gestion des API, tels que
l’éditeur d’API WSO2, WSO2 API Traffic Manager, le gestionnaire de clés API WSO2 et le portail de développeur d’API WSO2,
peuvent être configurés.
WSO2 API Manager est 100% compatible avec la conception et le développement d’API basées sur la spécification Open API
(anciennement Swagger). Les développeurs créent des artefacts d’API et les valident dans un système de contrôle de version
Git.Developers create API artifacts and commit them to a Git version control system. Ensuite, un pipeline de génération CI/CD, tel
que Jenkins, CircleCI, Bamboo, peut être configuré pour extraire des artefacts et créer des images de conteneur et des descripteurs
de déploiement d’API/intégration. L’outil apictl (API control CLI tool) permet de créer un script pour l’automatisation. Les
descripteurs de déploiement générés peuvent être validés et envoyés au référentiel de déploiement.
Ensuite, le pipeline de déploiement déclenche et appelle l’opérateur d’API KUBERNetes WSO2 (à l’aide des commandes
apictl/kubectl) et déploie les passerelles API et les intégrateurs d’entreprise nécessaires dans le cluster Kubernetes d’environnement
donné. Ce processus automatisé permet d’effectuer différents cycles de tests (tests de développement, tests de stress, tests
d’assurance qualité, etc.).
Après avoir terminé les tests d’environnement, vous pouvez ensuite promouvoir vers des environnements supérieurs (par exemple,
stage to prod) en fusionnant dans la branche Git appropriée. Avec ce mode, si vous souhaitez déployer une nouvelle application ou
mettre à jour une application existante, il vous suffit de mettre à jour le référentiel; le processus automatisé gère tout le reste.
conclusion
En devenant des entreprises numériques et en numérisant les chaînes de valeur, les entreprises de tous les secteurs peuvent intégrer
et exposer leurs capacités commerciales en tant qu’API. Ces API doivent être sécurisées, gérées, observées et monétisées. Une plate-
forme d’intégration dirigée par API est essentielle pour les entreprises numériques, qu’elles commencent par des projets de création
ou de friches industrielles.
Kubernetes, une plateforme d’orchestration cloud native open source, fournit un ensemble complet d’abstractions cloud natives et
une boîte à outils pour créer une solution évolutive et flexible qui s’aligne sur la croissance de l’entreprise.
La plate-forme d’intégration dirigée par API de WSO2 est une solution d’entreprise open source leader sur le marché qui prend en
charge la gestion et l’intégration complètes du cycle de vie des API.
La plate-forme et ses capacités d’intégration Kubernetes natives fournissent une architecture d’entreprise numérique efficace pour
augmenter la productivité en permettant l’agilité, la flexibilité et l’évolutivité grâce à l’automatisation et aux services.
appendice
Kubernetes Architecture
Figure 10 : architecture Kubernetes
ETCD: est une base de données qui stocke toutes les informations de nœud et les informations de charge de travail de conteneur en
tant que paire clé-valeur d’une manière hautement disponible.
Kube-scheduler: est responsable de la planification des charges de travail de conteneur pour les nœuds de travail en tenant
compte de la demande de ressources informatiques des charges de travail, des ressources disponibles dans les nœuds, du type de
charge de travail autorisée dans les nœuds de travail et des autres politiques et contraintes de gestion.
Kube-controller manager: se compose de plusieurs gestionnaires de contrôleurs. Le contrôleur de nœud est responsable de
l’intégration des nouveaux nœuds au cluster et de la gestion de l’indisponibilité des nœuds. Le contrôleur de réplication garantit
que le nombre souhaité de charges de travail de conteneur est en cours d’exécution tout le temps. En plus de ces deux contrôleurs,
de nombreux autres contrôleurs aident à gérer différentes fonctionnalités.
Serveur Kube-API: est le principal centre de communication pour tous les composants du cluster. Il est chargé d’orchestrer toutes
les opérations au sein des composants du cluster et expose également l’API Kubernetes utilisée par les utilisateurs externes qui
gèrent les charges de travail de conteneur. Les composants du nœud de travail communiquent également avec le plan de contrôle
via le serveur d’API Kube.
Les nœuds de travail doivent être en mesure de communiquer avec les composants du plan de contrôle et de fournir les
informations nécessaires pour gérer les charges de travail de conteneur. Les nœuds de travail ont deux composants de gestion
principaux.
Kubelet: est un agent en cours d’exécution dans chaque nœud et responsable de la planification des charges de travail de
conteneur avec les instructions du plan de contrôle et du rapport sur l’état des nœuds et des charges de travail des conteneurs.
Kube-Proxy: s’exécute dans chaque nœud de travail et assure toutes les communications entre les charges de travail de conteneur
exécutées dans plusieurs nœuds.
Abstractions natives cloud Kubernetes Kubernetes cloud native abstractions
Les riches abstractions natives cloud de Kubernetes offrent la flexibilité de créer une grande variété de plateformes cloud natives.
Cette section traite uniquement des abstractions (ou blocs de construction) utilisées dans la plateforme d’intégration dirigée par API
pour créer l’entreprise numérique native cloud.
cosse
Figure 11 - POD
Un POD est une instance unique de notre application conteneurisée. Kubernetes ne déploiera pas directement de conteneurs, et il
encapsule dans un POD. Un POD est la plus petite unité qui évolue en fonction de la charge. Un POD peut être constitué de
plusieurs conteneurs. Les conteneurs d’un POD sont automatiquement colocalisés et coprogrammés sur le même nœud du cluster.
Les conteneurs vivant dans le POD peuvent partager le même espace réseau, espace de stockage et espace de processus.
ReplicaSet
ReplicaSet permet de définir le nombre de POD de réplica en cours d’exécution à un moment donné. Il surveille les PODs et en crée
un nouveau lorsqu’une défaillance se produit dans l’ensemble actuel. Il permet également de faire évoluer l’application en
augmentant le nombre de réplicas.
déploiement
À l’aide de l’objet Kubernetes Deployment, nous pouvons définir l’état souhaité (par exemple, le nombre de réplicas d’une version
donnée). Le contrôleur de déploiement modifie l’état réel à l’état souhaité à un taux contrôlé et la stratégie de déploiement. Nous
pouvons utiliser les déploiements de déploiement pour provisionner des versions plus récentes et restaurer si l’état actuel du
déploiement n’est pas stable.
Espaces de noms
L’espace de noms permet de diviser les clusters physiques en plusieurs clusters virtuels. L’espace de noms fournit une étendue aux
objets d’affectation de noms Kubernetes.The namespace provides a scope to Kubernetes naming objects. Les noms des ressources
doivent être uniques dans un espace de noms, mais pas entre les espaces de noms. Les espaces de noms ne peuvent pas être
imbriqués les uns dans les autres, et chaque ressource Kubernetes ne peut être que dans un espace de noms.
Quota de ressources
Le quota de ressources fournit des contraintes qui limitent la consommation agrégée de ressources par espace de noms. Les
administrateurs de cluster peuvent définir un quota de ressources alloué à un espace de noms, puis le système de quotas suit
l’utilisation pour s’assurer qu’il ne dépasse pas les limites de ressources concrètes définies.
services
Kubernetes Service expose une application s’exécutant sur un ensemble de PODs en tant que service réseau. Lorsque nous
déployons une application, chaque POD obtient son adresse IP. Toutefois, pour maintenir l’état souhaité dans un déploiement,il peut
créer et détruire des POD dynamiquement. Kubernetes Service fournit une adresse IP unique et un nom DNS à un ensemble
de PODs en déploiement et peut surveiller les comportements pod et mettre à jour leurs adresses IP dynamiquement. En outre, ce
point de terminaison de service donné est capable de router le trafic vers les PODs de manière à équilibrer la charge. En plus de cela,
Kubernetes Services est essentiel pour avoir un mécanisme de découverte de service sans modifier votre code d’application.
Selon la façon dont vous souhaitez exposer votre application, vous pouvez configurer Kubernetes Services pour qu’il se comporte
dans les trois modes principaux. Le type de service ClusterIP permet d’exposer vos applications au sein du cluster.
Figure 12 : service ClusterIP
Si vous souhaitez exposer des applications en dehors du cluster, vous pouvez utiliser le type NodePort ou le type Loadbalancer.
NodePort expose les applications en ouvrant un port dans chaque nœud du cluster et mappe et transfère le trafic vers le port
d’application.
Figure 13 : service NodePort
Le type Loadbalancer crée un point de terminaison d’équilibrage de charge configuré avec le fournisseur de cloud approprié du
cluster et exposé via l’équilibreur de charge du fournisseur de cloud.
ConfigMaps
Chaque application réutilisable a une sorte de configuration. Le découplage de la configuration avec le code d’application permet
d’utiliser le même code d’application dans différents environnements. ConfigMaps vous permet de découpler les artefacts de
configuration du contenu de l’image conteneur pour garder les applications conteneurisées portables. Secrets
Comme les configurations, nous devons transmettre des informations sensibles, telles que des mots de passe, des jetons OAuth et
des clés ssh, à l’application pour effectuer les tâches requises. Plutôt que de placer des informations sensibles dans une image
conteneur, nous pouvons utiliser un objet Kubernetes Secret.Rather than placing sensitive information in a container image, we can
use a Kubernetes Secret object. Par défaut, les secrets obscurcissent avec l’encodage Base64, mais vous pouvez les rendre plus
sécurisés (chiffrer) à l’aide de techniques de déférence.
La possibilité de mettre à l’échelle chaque microservice offre l’avantage réel du MSA. Kubernetes Horizontal POD Autoscaler permet
de mettre automatiquement à l’échelle les microservices en mettant à l’échelle le nombre de Pods dans un déploiement, un jeu de
réplicas ou un ensemble avec état en fonction de l’utilisation de l’UC observée (ou, avec la prise en charge des métriques
personnalisées, sur d’autres métriques fournies par l’application).
Kubectl
L’outil en ligne de commande kubectl vous permet d’interagir et de contrôler les clusters Kubernetes.The kubectl command-line tool
lets you interact and control Kubernetes clusters. Vous pouvez utiliser kubectl pour déployer des applications, inspecter et gérer les
ressources du cluster et afficher les journaux. Kubectl peut être utilisé en mode impératif ou de manière déclarative.
impératif
En mode impératif, nous devons exécuter une série de commandes et suivre une étape donnée pour terminer une tâche. Dans
Kubernetes, vous pouvez utiliser la commande kubectl pour faire les choses en mode impératif. Voici quelques exemples :
Tout ce qui précède sont des approches impératives pour gérer des objets dans Kubernetes.All of the above are imperative
approaches to managing objects in Kubernetes.
déclaratif
Dans le modèle déclaratif, nous pouvons répertorier nos exigences (dans un format requis) et le système sera capable d’effectuer la
tâche requise. Dans ce mode, nous pouvons créer un ensemble de fichiers qui définissent l’état attendu des applications et des
services sur un cluster Kubernetes.In this mode, we can create a set of files that define the expected state of applications and
services on a Kubernetes cluster. Avec une seule commande kubectl apply et Kubernetes devrait définir l’état souhaité en lisant les
fichiers de configuration donnés.
Étiquettes et sélecteurs
Les étiquettes sont des paires clé/valeur attachées à des objets, tels que des pods. Les étiquettes peuvent être utilisées pour
organiser et sélectionner des sous-ensembles d’objets de manière faiblement couplée. Le déploiement et la gestion des applications
se composent souvent d’entités multidimensionnelles, telles que plusieurs pistes de version, plusieurs niveaux, des environnements,
etc. Leur mise en correspondance dans les étiquettes aidera à la gestion quotidienne et aux activités opérationnelles.
Exemples d’étiquettes :
The label selector is the core grouping primitive in Kubernetes. Vous pouvez utiliser des secteurs d’étiquettes pour effectuer des
activités opérationnelles telles que la mise à jour propagée, la restauration, les nœuds de vidange à mettre en maintenance, la mise
à l’échelle, etc.
Les sondes Heath sont essentielles pour atteindre la haute disponibilité requise pour exécuter notre application en production.
Kubernetes utilise trois sondes de vérification de l’état pour déterminer l’action nécessaire pour obtenir une réparation automatique
et une haute disponibilité.
Sonde de vivacité
La définition de sondes d’activité permet de déterminer les scénarios de blocage, où une application est en cours d’exécution mais
ne peut pas progresser, et de redémarrer le conteneur pour surmonter la situation.
Sonde de préparation
Les sondes de préparation aident à déterminer quand un conteneur est prêt à commencer à accepter le trafic. Une utilisation de ce
signal est de contrôler quels PODs utilisent des backends pour les services. Lorsqu’un POD n’est pas prêt, il est supprimé des
équilibreurs de charge de service.
Sondes de démarrage
Certaines applications ont des temps de démarrage plus longs. Dans de telles situations, la configuration d’une sonde de démarrage
permet de désactiver les vérifications d’état de vie et de préparation jusqu’à ce qu’elles réussissent, en s’assurant que ces sondes
n’interfèrent pas avec le démarrage de l’application.
Déploiement
Lorsque vous créez un déploiement, Kubernetes attache une révision qui lui est associée. Lorsque vous déployez une nouvelle
version de votre déploiement, elle met à jour l’historique des révisions. Vous pouvez voir toutes les versions de déploiement à l’aide
des commandes suivantes.
La valeur par défaut de Kubernetes est la stratégie de déploiement de mise à jour propagée. Cette stratégie ne prendra pas toutes
les instances en cours d’exécution à la fois ; au lieu de cela, il supprimera une version actuelle et fera apparaître une version plus
récente une par une. La meilleure façon de le faire est de mettre à jour le fichier d’application déclaratif (fichier yaml) et d’exécuter la
commande kubectl apply. Il déclenchera un nouveau déploiement et une nouvelle révision est créée.
Restaurations
Même si nous effectuons des tests approfondis, nous devons parfois revenir à un état stable en raison d’une erreur trouvée
tardivement. Vous pouvez utiliser la commande suivante pour restaurer une version déployée.
Abstractions
icône nom description
Passerelle API WSO2 Passerelle API WSO2, passerelle d’API WSO2 Micro
Portail des développeurs Portail des développeurs pour la découverte d’API, une place de marché
d’API WSO2 d’API
icône nom description
Gestionnaire de clés API Gérer les clés API et tous les jetons de sécuritéManage API keys and all
WSO2 security tokens
Serveur d’analyse d’API Serveur d’analyse en temps réel, génération d’informations d’entreprise
WSO2 d’API, moteur de détection d’anomalies et modification
Objet qui gère les jeux de réplicas, les déploiements et les vérifications
Déploiement Kubernetes
de l’état
Ressources personnalisées
Une ressource personnalisée est une extension de l’API Kubernetes
Kubernetes
Contenir des données sensibles telles que des clés, des informations
Kubernetes Secret
d’identification, des certificats
Kubernetes Horizontal POD Mise à l’échelle de la charge de travail en fonction de l’UC observée, de
Autoscaler l’utilisation de la mémoire
Espace de noms
Diviser les clusters physiques en plusieurs clusters virtuels
Kubernetes
icône nom description
Une base de données qui stocke toutes les informations de nœud et les
ETCD informations de charge de travail de conteneur sous forme de paires clé-
valeur
Gestionnaire de contrôle
Gestionnaire de contrôle cloud Kubernetes
cloud Kubernetes
Gestionnaire de contrôle
Gestionnaire de contrôle Kubernetes
Kubernetes
icône nom description
Serveur d’API Kubernetes Centre de communication principal pour tous les composants du cluster.
références
https://kubernetes.io/
https://wso2.com/api-management/
https://wso2.com/integration/micro-integrator/
https://github.com/wso2/k8s-api-operator
https://www.gitops.tech/