Containertechnologie heeft de traditionele infrastructuurwereld flink opgeschud. Containers zijn ideaal voor microservices en omgevingen die snel moeten schalen en te maken hebben met veel releases. Het adopteren van containers brengt echter ook complexiteit met zich mee, bijvoorbeeld op het vlak van beheer. Als een soort dirigent orkestreert Kubernetes alle bewegende onderdelen en containers in de omgeving. Maar hoe monitor je vervolgens Kubernetes? In deze blogpost een aantal Kubernetes monitoring tools.
Bekijk onze Managed Kubernetes dienst
Waarom Kubernetes monitoring?
Kubernetes vereist dat je op een nieuwe manier nadenkt over je monitoringstrategie, met name als je gewend bent om een traditionele, virtual machine gebaseerde infrastructuur te monitoren. Net als containers heeft Kubernetes de manier waarop met containerized applicaties met elkaar interacteren namelijk flink veranderd.
Lees ook: Wat is Kubernetes?
Het goede nieuws is dat Kubernetes al goed past binnen deze dynamische containeromgevingen. Met goed ingerichte monitoringsoftware kun je zien of je containerized applicaties gezond zijn en hoe ze presteren. Ook als deze containers constant van host verwisselen of op- en neerschalen.
Er zijn echter verschillende tools die je cluster voor je kunnen monitoren. We schetsen een paar van de tools voor je in deze blogpost.
7 Kubernetes monitoring tools
Kubernetes Dashboard
Kubernetes Dashboard, ook wel Web UI genoemd, is de officiële software die door het Kubernetes-team wordt geleverd voor Kubernetes monitoring.
Kubernetes Dashboard geeft overzicht van het Kubernetes-cluster en de individuele componenten die erin runnen. Naast monitoring is het dashboard ook te gebruiken voor het deployen van applicaties in het cluster, maar je kunt ook een overzicht te krijgen van het aantal applicaties, resources creëren, verwijderen, of updaten en per resource het verbruik zien.
Datadog
Datadog is een van de meest complete softwarestacks voor het monitoren van gedistribueerde computing. Met Datadog is het mogelijk om verschillende cloud-nativetechnologieën te monitoren, waaronder dus ook data die met Kubernetes wordt gegenereerd.
Datadog biedt een totaaloverzicht van de gezondheid en prestaties van een Kubernetes-omgeving. Gebruikers van de software kunnen het gebruiken om inzicht te krijgen in de gezondheid en prestaties van hun architectuur, om daar vervolgens actiegedreven inzichten uit te halen. Binnen de tool zitten bijvoorbeeld mogelijkheden voor forecasting en het spotten van afwijkingen. Het dashboard is op smaak aan te passen en de software is met ruim 400+ (cloud-native)technologieën te integreren.
Kubelet
Kubelet dient als een soort brug tussen de ‘master’ en de ‘nodes’ van een Kubernetes-cluster. De software is een soort primaire node-agent die op elke node geïnstalleerd wordt, zodat er belangrijke gegevens over de pods verzameld worden. Kubelet kan deze geaggregreerde data vervolgens tonen in een dashboard naar keuze via een REST API. Deze tool is ook ontwikkeld door dezelfde organisatie achter Kubernetes, waardoor het een favoriet is.
Kubewatch
Kubewatch is een Kubernetes monitoring tool die notifcaties kan tonen in een Slack-kanaal. Denk aan notificaties die afwijkingen tonen in het cluster of andere statusupdates. Met de tool zijn de resources te specificeren om te monitoren. Met een YAML-bestand kun je bijvoorbeeld kiezen welke resources je in de gaten houdt, maar denk ook aan de selectie van deployments, pods, replica sets en andere services binnen Kubernetes.
EFK stack (Elasticsearch, Fluentd, Kibana)
De EFK stack bestaat uit drie individuele programma’s, namelijk Elasticsearch, Fluentd en Kibana. De tools werken echter uitstekend met elkaar en kunnen een goed alternatief zijn voor het monitoren van Kubernetes en aggregeren van logdata.
Fluentd verzamelt bijvoorbeeld logs van pods die op cluster nodes runnen, en routeert deze vervolgens naar een gecentraliseerde Elasticsearch. Daarna zorgt Elasticsearch dat deze logdata op een centrale locatie worden opgeslagen. Met Kibana zijn de gegevens vervolgens te visualiseren. Hiermee kun je onder andere custom dashboards.
Prometheus
We hebben het in onze vorige blogpost al een beetje verklapt, maar Prometheus is een van de populairste tools op het moment om Kubernetes-clusters en toebehoren mee te monitoren.
Of zoals we eerder schreven:
Prometheus is open-source software voor monitoring en alerting bij complexe webprojecten. In de basis wordt Prometheus gebruikt om inzichten te halen uit metrics die je kunt monitoren rondom de systemen en microservices van je webapplicatie. Prometheus gaat uit van drie kernconcepten die zij bestempelen als data models, metric types en jobs en instances.
(…)
Prometheus wordt vaak in één adem genoemd met Kubernetes, omdat Kubernetes van zichzelf geen monitoringcapabiliteiten heeft. Vanuit de CNCF is er echter een ecosysteem aan open-source tools ontwikkeld die naadloos aansluiten bij Kubernetes, waar Prometheus een van de belangrijkste monitoringtools is.
(…)
Een van de grootste voordelen van Prometheus is dat het zeer schaalbaar is en dat het grote volumes van data kan verwerken. Dat is bij software zoals Kubernetes van groot belang omdat grote hoeveelheden data in Kubernetes continu worden op en afgeschaald. Dat komt ook de prestaties ten goede.
Lees ook: Prometheus: monitoring software voor microservices en Kubernetes
New Relic
De Kubernetes-integratie van New Relic geeft een volledige observatie in de gezondheid en prestaties van jouw omgeving, ongeacht of Kubernetes on-premise of in de cloud wordt uitgevoerd. Met de clusterverkenner van New Relic kan er door complexe lagen heen worden gekeken om te zien hoe een cluster presteert.
In de clusterverkenner wordt het volledige beeld van een cluster beschikbaar gemaakt op één scherm: knooppunten en pods worden gevisualiseerd op basis van hun gezondheid en prestaties. Vooraf gedefinieerde waarschuwingsvoorwaarden helpen problemen vanaf het begin op te lossen. Wanneer er op de verschillende knooppunten wordt geklikt, wordt de status en de prestaties van elke app weergegeven.
Aan de slag met Kubernetes monitoring
Ben je van plan om gebruik te maken van de Kubernetes maar wil je liever zelf niets monitoren? True heeft diverse experts in dienst die je kunnen helpen om je containerworkloads onder te brengen binnen een Kubernetes-cluster. True beheert het cluster voor je en denk mee in het efficiënt distribueren van je containerworkloads. Meer informatie over Managed Kubernetes.