Cet article vous présentera des outils géniaux qui peuvent être associés à Kubernetes pour lui ajouter plus de puissance.
Lorsque vous travaillez dans un écosystème DevOps, vous réaliserez à quel point il est important d'avoir des outils DevOps incroyables pour faciliter votre charge manuelle. De nombreux outils DevOps sont disponibles pour chaque étape DevOps et différentes fonctionnalités.
Kubernetes est l'un des incontournables si vous travaillez dans le domaine DevOps et exécutez vos applications dans des conteneurs. Il existe des centaines d'outils qui fonctionnent conjointement avec Kubernetes pour ajouter plus de fonctionnalités. Je parle d'outils pour une meilleure gestion, sécurité, tableau de bord, surveillance du cluster Kubernetes.
Voici une liste de ces outils incroyables qui ajoutent plus de puissance à votre Kubernetes.
Commençons!
Helm
Casque est un gestionnaire de packages pour Kubernetes qui facilite l'utilisation d'applications et de services hautement reproductibles ou utilisés dans de nombreux scénarios différents, ce qui facilite leur déploiement sur un cluster Kubernetes typique. En utilisant Helm, vous pouvez trouver, partager et utiliser le logiciel qui est conçu pour Kubernetes.

Il utilise des graphiques, appelés Helm Charts pour définir, installer et mettre à niveau des applications Kubernetes complexes.
Caractéristiques de la barre:
- Prend soin de toute la complexité des applications Kubernetes à l'aide de graphiques
- Utilise des mises à niveau et des crochets personnalisés pour mettre à jour facilement les choses.
- Les graphiques peuvent être partagés facilement sur des serveurs publics ou privés.
- Restauration facile avec une seule commande
- Améliore la productivité des développeurs et améliore la préparation opérationnelle
Flagger
Signaleur est un opérateur de livraison progressive pour Kubernetes.
Il automatise la promotion des déploiements Canary en utilisant Istio, App Mesh, Nginx, Linkerd, Contour, Gloo, le routage Skipper pour le transfert du trafic et Prométhée pour l'analyse canari. Dans le déploiement Canary, vous déployez les versions à un petit groupe d'utilisateurs, vous les testez, si cela fonctionne correctement, vous déployez la version à tout le monde.
Il utilise le maillage de service qui s'exécute dans votre cluster pour gérer le trafic entre un déploiement et un autre. Pour transférer le trafic vers Canary, il mesure des indicateurs de performance tels que la durée moyenne des requêtes, le taux de réussite des requêtes HTTP, la santé des pods, etc.
Flagger peut exécuter une analyse, une promotion et une restauration automatisées des applications pour plusieurs stratégies de déploiement telles que Canary, les tests A / B, le déploiement bleu / vert.
Kubewatch
Kubewatch est un observateur Kubernetes open-source qui envoie une notification via le canal Slack.
Il est écrit sur Go programmation et développé par Bitnami Labs. Il est utilisé pour surveiller les ressources Kubernetes et notifie s'il y a un changement.
Vous pouvez installer Kubewatch via kubectl
ou en utilisant des graphiques de barre. Il est simple à comprendre et possède une interface très facile à utiliser. Outre Slack, il prend également en charge HipChat, Mattermost, Flock, webhook et SMTP.
Selon les Kubernetes que vous souhaitez surveiller, vous pouvez définir true ou false pour ces ressources dans le fichier ConfigMap. Une fois que vous avez défini la configuration de kubewatch et exécuté un pod, vous commencerez à recevoir des notifications sur l'événement Kubernetes, comme indiqué ci-dessous.
Gitkube
Gitkube est un outil qui utilise git push pour créer et déployer des images docker sur Kubernetes. Il a trois composants - Remote, gitkube-controller, gitkubed. Remote se compose de ressources personnalisées gérées par gitkube-controller. gitkube-controller envoie les modifications à gitkubed, qui construit ensuite l'image docker et la déploie.
Caractéristiques de Gitkube:
- Facile à installer, brancher et jouer
- Fournit un contrôle d'accès basé sur les rôles pour la sécurité
- Authentification simple à l'aide d'une clé publique
- Un espace de noms pour l'hébergement multiclient est pris en charge
- Pas de dépendances supplémentaires en dehors de kubectl et git
kube-state-metrics
kube-state-metrics est un service qui génère des métriques d'objet d'état en écoutant le serveur d'API Kubernetes. Il est utilisé pour vérifier l'intégrité de divers objets tels que les nœuds, les pods, les espaces de noms et les déploiements. Il vous fournit des données brutes et non modifiées provenant de l'API Kubernetes.
Voici les informations fournies par kube-state-metrics:
- Tâches Cron et statut des tâches
- État des pods (prêt, en cours d'exécution, etc.)
- Demandes de ressources et sa gamme
- Capacité du nœud et son statut
- Spécification des jeux de répliques
Kamus
Kamus est un open-source GitOps outil utilisé pour le chiffrement et le déchiffrement des secrets pour les applications Kubernetes. Les secrets chiffrés que fait Kamus ne peuvent être déchiffrés que par les applications exécutées sur le cluster Kubernetes. Il utilise AES, Google Cloud KMS, Azure KeyVault pour le chiffrement des secrets. Vous pouvez commencer avec Kamus en utilisant le diagramme de barre.
Kamus est livré avec deux utilitaires - CLI Kamus et Conteneur d'initiation Kamus. Kamus CLI est utilisé pour l'intégration avec l'API de chiffrement, et le conteneur d'initialisation Kamus est utilisé pour l'intégration avec le déchiffrement de l'API.
Les secrets Kubernetes ne sont pas chiffrés; ils sont encodés en base64. Vous ne pouvez pas le garder tel quel sur Git; ce n'est pas sûr. Toute personne ayant accès au repo pourra utiliser ces secrets. Par conséquent, une solution de cryptage / décryptage appropriée est nécessaire, comme Kamus. Il fournit également un modèle de menace qui prend en charge les menaces et sécurise les secrets.
Untrak
Dégager est un outil open-source utilisé dans Kubernetes pour rechercher des ressources non suivies et les ramasser. Il vous aide à trouver et à supprimer ces fichiers du cluster, qui ne sont pas suivis.
Après avoir injecté les manifestes dans votre pipeline CI / CD à l'aide de kubectl apply ou de helm template, Kubernetes ne sait pas quand l'objet sera supprimé du référentiel. Une fois les objets supprimés, ils ne sont pas suivis dans le processus de livraison et résident toujours sur le cluster Kubernetes.
Il exécute la commande en interne à l'aide d'un simple fichier de configuration untrak.yaml
pour découvrir les ressources qui ne font plus partie de votre gestion de code source.
Scope
Weave Scope est destiné à la visualisation, à la surveillance et au dépannage de Docker et Kubernetes.
Il vous montre une vue de haut en bas de votre conteneurisé l'application et l'infrastructure complète à l'aide de laquelle vous pouvez facilement identifier les problèmes et les diagnostiquer.
L'exécution d'applications d'architecture de microservice dans des conteneurs Docker n'est pas aussi simple que cela. Les composants ici sont très dynamiques et difficiles à surveiller. Avec Weave scope, vous pouvez facilement dépanner les fuites de mémoire et contrôler la consommation du processeur, visualiser les goulots d'étranglement du réseau.
Caractéristiques de la portée:
- T'aide surveiller vos conteneurs docker en temps réel
- Fournit une navigation facile entre les processus exécutés dans les conteneurs
- Affiche l'utilisation du processeur et de la mémoire par l'hôte ou le service
- Redémarrez, arrêtez ou suspendez les conteneurs à l'aide de l'interface de ligne de commande sans quitter la fenêtre du navigateur d'étendue.
- Prend en charge les plugins personnalisés pour obtenir plus de détails sur les conteneurs, les processus et les hôtes
Kubernetes Dashboard
Tableau de bord Kubernetes est une interface Web fournie par Kubernetes. Il est utilisé pour déployer, dépanner et gérer l'application conteneurisée sur un cluster Kubernetes. Il donne toutes les informations sur un cluster, telles que des détails sur les nœuds, les espaces de noms, les rôles, les charges de travail, etc.
Vous pouvez utiliser des graphiques de barre pour déployer le tableau de bord Kubernetes ou utiliser un simple commande kubectl mentionné ci-dessous:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
Kops
Cops signifie opérations Kubernetes, un projet open source utilisé pour configurer très facilement et rapidement des clusters Kubernetes prêts pour la production. Kops peut être utilisé pour déployer des clusters Kubernetes sur AWS et GCE principalement.
Un cluster Kubernetes de petite taille est facile à créer et à maintenir, mais lorsque vous faites évoluer votre cluster, de nombreuses configurations sont ajoutées et il devient difficile à gérer de manière opérationnelle. Kops est un outil qui vous aide à résoudre de tels problèmes. Il suit une approche basée sur la configuration dans laquelle il maintient le cluster toujours à jour et en toute sécurité.
Kops dispose également de nombreux backends réseau et le choix de l'un d'entre eux, en fonction du cas d'utilisation, vous permet de configurer facilement différents types de clusters.
cAdvisor
cAdvisor est un outil open-source pour surveiller un conteneur. Il est utilisé pour comprendre les caractéristiques de performances et l'utilisation des ressources des conteneurs exécutés sur le cluster.
Il fonctionne au niveau du nœud et peut détecter automatiquement tous les conteneurs s'exécutant sur un nœud particulier et collecte des statistiques de mémoire, de système de fichiers, de CPU et de réseau. Il fournit une interface Web qui affiche les données en direct de tous les conteneurs du cluster.
Pour démarrer avec cAdvisor, vous devez exécuter son image docker google / cadvisor, puis vous pouvez y accéder à l'adresse http://localhost:8080 dans un navigateur Web.
Kubespray
Kubespray est un outil gratuit qui a été créé en combinant des playbooks Ansible et Kubernetes. Il est utilisé pour la gestion du cycle de vie du cluster Kubernetes.
En utilisant Kubespray, vous pouvez déployer rapidement un cluster et personnaliser tous les paramètres d'une implémentation de cluster tels que les modes de déploiement, les plugins réseau, la configuration DNS, les versions des composants, les méthodes de génération de certificats, etc.
En exécutant juste un simple livre de jeu ansible, votre cluster est opérationnel. Vous pouvez facilement mettre à l'échelle ou mettre à niveau votre cluster Kubernetes.
K9s
K9s est un outil open source basé sur un terminal, et son utilitaire de tableau de bord peut faire tout ce qu'une interface utilisateur Web Kubernetes fait. Il est utilisé pour naviguer, observer et gérer le application déployée sur le Kubernetes .
Caractéristiques du K9:
- Suivez votre cluster en temps réel
- Personnalisez l'affichage par ressource
- Zoomez sur les problèmes de ressources du cluster
- Prend en charge le contrôle d'accès basé sur les rôles
- Benchmarks intégrés pour valider les performances des ressources
Kubetail
KubetailName est un simple script bash utilisé pour agréger les journaux de plusieurs pods dans un même flux.
Très utile!
Il vous aide à déboguer facilement.
La dernière version de Kubetail dispose également de fonctionnalités de mise en surbrillance et de filtrage. Cette fonction vous permet d'effectuer une coloration du journal. Utilisant homebrew, vous pouvez installer Kubetail avec une seule commande. Vous pouvez ajouter des valeurs par défaut dans les variables d'environnement que Kubetail peut lire comme KUBETAIL_NAMESPACE
, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS
et ainsi de suite
PowerfulSeal
Sceau puissant est un puissant outil d'ingénierie du chaos open source écrit en python pour les clusters Kubernetes.
Ingénierie du chaos est utilisé pour obtenir la confiance du système pour vérifier sa capacité à faire face à des situations problématiques en production. Il injecte un échec au cluster Kubernetes pour identifier les problèmes le plus tôt possible.
Il est inspiré de Netflix Chaos Monkey et est utilisé pour améliorer la résilience de Kubernetes. En utilisant PowerfulSeal, les ingénieurs essaient sciemment de casser des choses sur le cluster pour vérifier comment le système réagit.
PowerfulSeal fonctionne en trois modes - Autonome, interactif, Libellé.
En mode autonome, il exécute des scénarios en lisant un fichier de stratégie que vous fournissez. En mode interactif, il vous informe sur les composants du cluster que vous essayez de casser manuellement. En mode étiquette, vous tuez les objets ciblés sur le cluster comme des pods à l'aide d'étiquettes.
Popeye
Popeye est un utilitaire de nettoyage qui agit comme un désinfectant 🧼 pour les clusters Kubernetes.
Il analysera le cluster complet et rendra compte des problèmes liés aux configurations et aux ressources. Cela vous aide à exécuter le les meilleures pratiques sur le cluster Kubernetes pour éviter les problèmes courants.
Cet utilitaire est disponible pour Windows, Linux et macOS. Actuellement, cela ne fonctionne qu'avec des nœuds, des pods, des espaces de noms, des services. En utilisant Popeye, vous pouvez facilement identifier les ressources mortes et inutilisées, les incompatibilités de port, les règles RBAC, l'utilisation des métriques, et bien plus encore.
Conclusion
Outils DevOps jouer un rôle essentiel dans la réussite, et j'espère que ce qui précède vous aidera gérer Kubernetes meilleur.