Un diagramme Helm pour gérer les applications Kubernetes
Novu est un Helm Chart populaire conçu pour rationaliser la gestion des applications Kubernetes. Il fournit une solution robuste pour déployer, mettre à jour et mettre à l'échelle facilement des applications conteneurisées. Que vous travailliez sur une application monolithique ou une architecture de microservices, Novu offre un moyen flexible et efficace de gérer vos ressources Kubernetes.
Helm est le gestionnaire de packages de facto pour Kubernetes, permettant aux développeurs de gérer des charts (collections de fichiers YAML) qui définissent la configuration de déploiement des applications. Novu s’appuie sur Helm en offrant des fonctionnalités supplémentaires qui rendent la gestion de ces graphiques plus intuitive et plus puissante.
L'une des caractéristiques les plus remarquables de Novu est son approche de configuration déclarative. Cela signifie que vous pouvez spécifier exactement comment votre application doit être déployée, mise à l'échelle et maintenue sans plonger dans des structures YAML complexes. Novu abstrait une grande partie de la complexité de Kubernetes, ce qui vous permet de vous concentrer sur la logique métier plutôt que sur l'infrastructure sous-jacente.
Novu adopte une approche déclarative de la configuration, ce qui signifie que vous définissez les exigences de votre application en texte brut. Ceci est particulièrement utile pour définir des dépendances, des configurations et des spécifications de ressources. Par exemple, vous pouvez spécifier que votre application nécessite certaines variables d'environnement ou des volumes spécifiques.
Novu s'intègre parfaitement aux pipelines d'intégration continue et de livraison continue (CI/CD). Cela vous permet d'automatiser le déploiement de votre application dans différents environnements, tels que le développement, la préparation et la production. Vous pouvez également utiliser des outils tels que Jenkins, GitHub Actions ou CircleCI pour déclencher des déploiements lorsque des modifications de code sont détectées.
Kubernetes fournit de puissantes fonctionnalités de surveillance et d'observabilité, mais la gestion de ces outils pour chaque application peut être lourde. Novu simplifie ce processus en fournissant un support intégré pour la surveillance et la journalisation. Vous pouvez facilement intégrer des mesures, des journaux et des traces à partir de services tels que Prometheus, Grafana et l'API Kubernetes Metrics.
Le déploiement d'applications en production comporte des risques, en particulier lorsque vous travaillez dans un système distribué comme Kubernetes. Novu inclut des mécanismes robustes de gestion des erreurs et de rétablissement qui vous permettent de détecter et de résoudre les problèmes rapidement. Si une application ne parvient pas à se déployer ou ne répond plus, Novu peut automatiquement déclencher des rollbacks ou des réessais.
Pour installer Novu, vous devez avoir Helm installé sur votre système. Vous pouvez le télécharger en utilisant la commande suivante:
helm repo add https://charts.novu.sh
helm repo update
Une fois Helm configuré, vous pouvez installer Novu en exécutant:
helm install novu --create-namespace
Novu utilise un fichier YAML pour définir la configuration de votre application. Vous allez créer un fichier novu.yaml dans votre répertoire de travail avec un contenu comme celui-ci :
apiVersion: v1
kind: Component
metadata:
name: my-app
version: 1.0.0
spec:
containers:
- name: my-service
image: mycompany/myapp:latest
ports:
- containerPort: 80
Vous pouvez spécifier des dépendances dans votre configuration Novu pour vous assurer que tous les composants requis sont déployés avec votre application. Par exemple :
dependencies:
- name: database
version: 1.2.3
Voici un exemple de déploiement d'une application Web simple à l'aide de Novu:
helm install --set image.repository=mycompany/myapp \
--set image.tag=latest \
my-app novu
Cette commande déploie le composant my-app avec l'image de conteneur et la balise spécifiées.
Novu facilite la mise à l'échelle de votre application en modifiant simplement sa configuration. Vous pouvez ajouter une stratégie d’échelle qui ajuste automatiquement le nombre de conteneurs en fonction de la demande :
spec:
containers:
- name: my-service
image: mycompany/myapp:latest
ports:
- containerPort: 80
resources:
limits:
cpus: '2'
La mise à jour de votre application est simple avec Novu. Vous pouvez simplement pousser une nouvelle version de l'image du conteneur et déclencher une mise à jour:
docker build -t mycompany/myapp:new-version .
helm update --create-namespace my-app novu
Gardez toujours un contrôle de version clair pour vos applications. Utilisez le contrôle de version sémantique (par exemple, 1.2.3) pour indiquer les mises à jour majeures, mineures et de correctifs.
Tirez parti des pipelines CI/CD pour automatiser les tests et le déploiement. Utilisez des webhooks ou des déclencheurs pour déployer automatiquement lorsque des modifications de code sont envoyées vers votre référentiel.
Configurez la surveillance et la journalisation dès le départ. Définissez des mesures, des journaux et des traces dans votre configuration Novu pour suivre la santé et les performances de votre application.
Avant de déployer en production, testez toujours votre application dans un environnement de préparation. Utilisez Novu pour créer un cluster de préparation ou un espace de noms pour les tests de pré-déploiement.
Si vous rencontrez des problèmes lors de l'utilisation de Novu, vérifiez les journaux et les mesures fournis par Kubernetes. Les problèmes courants incluent les conflits de dépendance, les limites de ressources ou les erreurs de configuration.
Après avoir acheté cette application sur Esadax, vous serez invité à fournir les paramètres de configuration ci-dessous. Esadax ajoute les variables fournies au déploiement afin que l'application puisse être lancée avec la configuration requise.
| Paramètre | Description : |
|---|---|
apiUrl |
Valeur fournie au déploiement pour apiUrl. |
webUrl |
Valeur fournie au déploiement pour webUrl. |
wsUrl |
Valeur fournie au déploiement pour wsUrl. |
Une fois les valeurs configurées, cliquez sur Déployer pour lancer l'application. L'application achetée utilisera les valeurs de configuration fournies, y compris les informations d'identification telles que les noms d'utilisateur et les mots de passe lorsque ces paramètres sont fournis.
Novu est un excellent choix pour gérer les applications Kubernetes en raison de sa configuration déclarative, de son intégration aux pipelines CI/CD et de sa gestion robuste des erreurs. En suivant les étapes décrites dans ce guide, vous pouvez rapidement déployer, mettre à jour et faire évoluer vos applications en toute confiance. Que vous travailliez sur un petit projet ou un déploiement à grande échelle, Novu offre la flexibilité et la puissance dont vous avez besoin pour réussir.