Het landschap van cloud native technologieën is zeer breed en divers. Zo bieden tientallen aanbieders hun tools aan die je op allerlei manieren ondersteunen. Hoe vind je je weg in deze tools? Engineers en architecten van True helpen je op weg. In deze serie delen we onze kennis met je over verschillende Kubernetes tools. 💡 Tip: lees ook de blog De Cloud Native Trail Map van CNCF (en welke aanvullingen True daarop heeft) voor het begin van je reis naar cloud native.
Waarom Kubernetes monitoren?
Veel webapplicaties bestaan uit diverse microservices, die vaak in containers zijn onderbracht. Deze microservices werken nauw met elkaar samen, waardoor communicatie tussen deze services van cruciaal belang is. Monitoring helpt je zeker te stellen dat ze optimaal met elkaar (blijven) communiceren. Gaat er onverhoopt iets mis? Dan merk je dat snel op, zodat je tijdig maatregelen kunt nemen.
Bij monitoring kun je ook denken aan de veiligheid van je cloud native applicatie. Net als iedere andere webapplicatie kan ook een cloud native applicatie doelwit zijn van kwaadwillenden. Met behulp van monitoring merk je een dergelijke aanval eerder op, zodat je kunt ingrijpen en de dreiging kunt mitigeren of verzwakken.
Wat zijn de opties voor monitoring?
Voor het monitoren van Kubernetes zijn diverse oplossingen beschikbaar. Een populaire optie is Prometheus, open-source software voor monitoring en alerting bij complexe webprojecten. Met Prometheus kun je onder meer inzichten halen uit meetwaarden die je monitort rondom de systemen en microservices van je webapplicatie.
Een andere bekende tool is Grafana. Dit is een open-source platform voor het analyseren van meetwaarden, monitoring en visualisatie. De tool biedt toegang tot dashboards, tabellen, grafieken en alerts voor specifieke databronnen. Gebruikers kunnen onder meer meetwaarden opvragen, visualiseren en verkennen. Ook kunnen zij alarmmeldingen instellen voor specifieke meetwaarden. Grafana geeft inzichten weer op een dynamisch dashboard, dat gebruikers zelf kunnen samenstellen.
Een derde optie is Kuberhealthy. Dit is een Kubernetes-operator voor synthetische monitoring. De operator verifieert of je webapplicaties en Kubernetes-clusters nog naar behoren functioneren. Kenmerkend is de flexibiliteit van de tool, onder meer doordat je zelf monitoringstaken kunt creëren. In deze blog zoomen we verder in op Kuberhealthy.
Wat is Kuberhealthy?
Kuberhealthy bestaat standaard uit een reeks ‘checks’ waarmee gebruikers de kernfunctionaliteit van Kubernetes kunnen monitoren. Je kunt deze checks ook zelf schrijven, wat de mogelijkheden van Kuberhealthy zeer breed maakt. In tegenstelling tot veel andere tools ben je hierdoor niet beperkt tot de monitoringstaken die standaard beschikbaar zijn.
De resultaten van uitgevoerde checks geeft Kuberhealthy weer op een eenvoudige JSON-statuspagina. De tool integreert onder meer met Prometheus. Zo kun je resultaten uit Kuberhealthy koppelen aan Prometheus, waardoor de gegevens ook hier inzichtelijk zijn. Integraties met andere oplossingen voor onder meer het genereren van alerts zijn eveneens mogelijk. Denk daarbij aan Grafana, waarmee je meetwaarden kunt visualiseren.
Wat zijn de voordelen?
Kuberhealthy biedt een aantal voordelen ten opzichte van andere tools voor het monitoren van Kubernetes:
Bewaak voortdurend de status
De beschikbaarheid van een webapplicatie is vaak afhankelijk van allerlei factoren. Als bijvoorbeeld een database of een deel van de onderliggende infrastructuur het laat afweten, kan dit grote impact hebben op een webapplicatie. Met Kuberhealthy kun je de status van webapplicaties en Kubernetes-clusters continu monitoren. Je wilt eventuele problemen immers proactief aanpakken en niet pas opmerken nadat gebruikers klachten indienen.
Controleer wat jij wilt controleren
Standaardtools voor het monitoren van Kubernetes-clusters bieden je allerlei relevante opties. Kuberhealthy gaat echter verder en geeft je nog meer vrijheid. Zo kun je zelf checks schrijven. Hiermee kun je in feite iedere vorm van monitoring vormgeven en uitvoeren. De mogelijkheden zijn dan ook zeer divers.
Hoe kun je Kuberhealthy gebruiken?
Kuberhealthy kent diverse gebruiksscenario’s, van extra meetwaarden integreren tot downtime voorkomen:
Extra meetwaarden integreren in dashboards
Kuberhealthy kan de meetwaarden die je al langer over je webapplicatie en Kubernetes-cluster verzamelt, verrijken. Prometheus is een populaire tool voor het monitoren van webapplicaties en het genereren van alerts bij afwijkingen van ingestelde meetwaarden. Prometheus genereert inzichten uit meetwaarden die je verzamelt. Kuberhealthy is een goede aanvulling op Prometheus. Zo kan je met Kuberhealthy met behulp van checks de status van een cluster continu bewaken. Gegevens die je met behulp van Kuberhealthy (en Prometheus) verzamelt, kun je integreren in Grafana. Deze tool helpt je onder meer bij het visualiseren van relevante gegevens. De integratie leidt tot een veel rijker dashboard, dat je meer inzicht geeft in je webapplicatie en Kubernetes-cluster.
Downtime voorkomen door configuratiefouten bij migratie
Een simpele configuratiefout kan verregaande gevolgen hebben. Voer je een migratie uit waarbij veel wijzigingen worden aangebracht in de configuratie? Monitor de omgeving dan nauwlettend om eventuele problemen vroegtijdig op te vangen. Veel monitoringtools meten echter niet continu, waardoor je een probleem soms pas relatief laat opmerkt. Bijvoorbeeld pas nadat gebruikers klagen over een slechte bereikbaarheid of zelfs niet beschikbaar zijn van een webapplicatie of bepaalde functionaliteit. Kuberhealthy biedt uitkomst. Zo kan je met behulp van Kuberhealthy een Kubernetes-cluster continu monitoren.
Meetwaarden monitoren waarvoor geen standaardtools beschikbaar zijn
Voor het monitoren van een webapplicatie en Kubernetes-omgeving zijn diverse tools beschikbaar. Hiermee kan je allerlei meetwaarden monitoren. Het kan echter zijn dat je iets wilt monitoren waarvoor geen standaardtool beschikbaar is. De flexibiliteit van Kuberhealthy biedt in dit geval uitkomst. Zo kan je met behulp van Kuberhealthy zelf checks opstellen, waarmee je tot in detail bepaalt wat je monitort. Je zit hiermee zelf aan de knoppen en hebt de vrijheid te monitoren wat jij wilt monitoren.
Presentatie van de makers van Kuberhealthy
Joshulyne Park en Shilla Saebi van Comcast presenteerden op KubeCon en CloudNativeCon North America 2019 Kuberhealthy. Bekijk de presentatie in onderstaande video, waarin Park en Saebi onder meer ingaan op de mogelijkheden en voordelen van de tool.
Samenwerken aan je ambities met Kubernetes?
Steeds meer ontwikkelteams verkennen containerisatie en microservices. Het levert veel voordelen op maar kan ook complex zijn. Fully Managed Kubernetes van True helpt ontwikkelteams met meer efficiëntie en zorgvuldigheid te ontwikkelen.