Dinsdag 19 februari vond er een Kubernetes Meetup plaats in de warehouse bij True. Ruim 200 Kubernauts kwamen langs om kennis uit te wisselen over Kubernetes in de praktijk. Het was de grootste Meetup bij True ooit. Alexander Charykov, innovation engineer bij True, vertelde over het ontwikkelen van Kubernetes-as-a-Service (KaaS š§) bij een managed hostingprovider. Leon Stigter, Developer Advocate bij JFrog, vertelde hoe zij Kubernetes in hebben gezet en waar zij Go-modules repositories voor gebruiken. Kon je er niet bij zijn? Niet getreurd. In deze blogpost lees je beknopte recap van de avond en vind je de video’s van de talks.
Sorry, this blogpost is in Dutch only. Want to read about the Meetup in English? Then check out this cool blogpost by Floor during the evening or watch the video’s about the event.
Bekijk onze Managed Kubernetes dienst
Edit: check de aftermovie!š¤
Kubernetes-as-a-Service: Alexander Charykov (True)
De eerste spreker was Alexander Charykov, innovation engineer bij True. Hij deelde inzichten die we bij True als managed hostingprovider opdoen bij de ontwikkeling van een nieuwe dienst: Managed Kubernetes. Of zoals Alexander het zelf noemt: Kubernetes-as-a-Service (KaaS! š§)
Eisen voor een Managed Kubernetes dienst
Voordat de dienst ontwikkeld werd waren er volgens Alexander een aantal harde eisen. Zo moet Kubernetes-as-a-Service bij True:
- minstens net zo snel runnen als bij andere cloudserviceproviders
- te integreren zijn met ons in-house ontwikkelde virtualisatieplatform Highlander
- Kubernetes upgrades kunnen ondersteunen
- single-sign on binnen de bestaande accounts van True supporten (mucho importante)
- een uniforme manier van monitoring en logging kunnen bevatten
- automatisch kunnen schalen
Daarnaast sprak Alexander over verdere verwachtingen waar de managed Kubernetes-dienst van True aan moet voldoen. Zo worden er in de private beta op dit moment verschillende zaken doorgevoerd en getest bij een select aantal klanten.
Er worden pipelines gecreĆ«erd die het deployen van applicaties op een CI/CD manier vereenvoudigen en er worden templates gemaakt van populaire CMSāen en framework templates ontwikkeld. Het doel hiervan is om de ontwikkelaar maximaal te ontzorgen. De applicatie is nog de enige zorg van de ontwikkelaar binnen het Kubernetes-platform. Daarnaast is het belangrijk om monitoring tools toe te passen zodat True de belangrijke metrics van geclusterde omgevingen nauwlettend in de gaten kan houden.
Zelf bouwen of een oplossing kiezen?
Kubernetes is een krachtig systeem voor het beheren van containerized applicaties. Maar voor het leveren van een uitgebreide managed Kubernetes dienst is er ook een provisioningtool nodig die clusters op een efficiƫnte en grote schaal kan opzetten. De zoektocht naar een provisioningtool voor Kubernetes begon natuurlijk bij de verwachtingen en eisen die True aan de dienst stelt. Na lang wikken en wegen waren er volgens Alexander drie opties: zelf een provisioningtool ontwikkelen, Kubespray inzetten of Rancher.
Optie 1: zelf een provisioningtool bouwen
Alexander vertelde dat er in eerste instantie werd gedacht aan het zelf bouwen van een provisioningtool. True is namelijk niet vies van het bouwen van eigen systemen, omdat je hiermee software exact kunt tweaken zoals je het wilt. Zo is het virtualisatieplatform Highlander bijvoorbeeld ontwikkeld op basis van open-source technologieĆ«n en maken we gebruik van in-house ontwikkeld klantenportaal voor support tickets. Een nadeel van het zelf ontwikkelen van tools is dat je tevens de volledige verantwoording hebt over implementatie, beheer en updates. Op dit moment zou het simpelweg te veel tijd kosten om zoān tool te ontwikkelen.
Optie 2: Kubespray
De tweede optie die onder de loep werd genomen is Kubespray. Kubespray heeft volgens Alexander vele voordelen; de software wordt officieel ondersteund door Kubernetes, is eenvoudig om uit te breiden en is Ansible-based. Binnen True wordt Ansible gebruikt voor het automatisch provisionen van servers. Denk bijvoorbeeld aan servers met een vaste set aan configuratie-opties. Dit zou in combinatie met Kubespray erg handig zijn, ware het niet dat er ook een aantal nadelen aan Kubespray zitten. Zo is het in Kubespray niet mogelijk om externe authenticatie (SSO) toe te passen, heeft het geen grafische userinterface en is er geen support voor multi-clusters.
Optie 3: Rancher
De derde optie, Rancher, had volgens Alexander direct veel voordelen. Zo is het mogelijk om binnen Rancher Enterprise-support te krijgen als je tegen problemen aanloopt. Andere fijne bijkomstigheden: een eenvoudig te gebruiken interface, multi-cluster support, een Kubernetes command-line tool (kubectl) dat beschikbaar is via de browser, support voor SSO, enterprise support en Kubernetes upgrades. Enkele nadelen zijn er ook aan te plakken bij Rancher. Zo wordt het beheren van grote hoeveelheden clusters binnen Rancher vrij lastig en zijn de Virtual Machine requirements van Rancher wat aan de hoge kant. Desondanks is Rancher de best optie voor de managed Kubernetes dienst binnen True op dit moment, benadrukte Alexander.
Uitgebreide logging en monitoring
Naast aandacht voor de operationele kant van het inzetten van Kubernetes, zoals het regelen van opslag en het inregelen van back-ups, had Alexander in zijn presentatie aandacht voor het loggen en monitoren van de containerized omgevingen.
Bij True zetten we daar Prometheus voor in – een flexibel en open-source monitoringsysteem dat met vele libraries werkt en tevens te integreren is met allerlei containertechnologieĆ«n (bijv. Docker-containers). Het fijne aan de tool is dat je ook alerts in kunt stellen. Zijn er bijvoorbeeld bepaalde afwijkingen waar je snel moet ingrijpen? Dan kun je daar alerts voor instellen, een zeer essentiĆ«le feature bij de ontwikkeling van een managed Kubernetes dienst.
Private beta Managed Kubernetes
Op dit moment is managed Kubernetes van True nog in private beta. Samen met een select aantal klanten onderzoekt True nu wat de beste set-ups zijn en worden er templates ontwikkeld voor de meest populaire CMS’en en frameworks. Voor iedere klant in de beta staat er een Solution Architect klaar om de Kubernetes-omgeving in te richten zodat de applicatie-workload het best tot z’n recht komt.
Ben je benieuwd naar de private beta of wil je meer weten over onze managed Kubernetes dienst? Meld je dan aan op true.nl/kubernetes. We houden je op de hoogte!
Kubernetes x Go-modules: Leon Stigter (JFrog)
Na Alexander was Leon Stigter van JFrog aan de beurt. JFrog is een repository manager voor DevOps-teams; een soort geĆÆntegreerd systeem waarmee DevOps-engineers sneller en automatischer pipelines kunnen releasen middels REST APIās. De tool is te integreren met praktisch elke development-omgeving – van legacycode tot nieuwere systemen en talen die containers en microservices ondersteunen.
Dad jokes en cheesecake
Leon presenteerde zichzelf als Developer Advocate. Hij houdt van alles serverless, containers en cloud en is daarnaast fervent liefhebber van cheesecake en dad jokes. Een dad joke zoals deze:
āWhat happens when you hold a Unix terminal to your ear? ā
You can hear the Cā
Leon Stigter
Leonās talk ging echter Go – een open-source programmeertaal dat net Kubernetes een oorsprong kent bij Google. Leon droomt van een wereld waar Kubernetes gepowered wordt door een centrale Go Modules Repository. Hij begon kort over de geschiedenis van de programmeertaal en vooral wat het voorheen miste: dependency management.
Vervolgens vertelde hij over GoCenter, een centrale Go-repository waarmee je Go modules voor je Kubernetes-platform kunt vinden en integreren. Zijn talk ging verder over hoe zij binnen JFrog Kubernetes inzetten, hoe hun cluster eruit ziet en welke Go-powered microservices ze inzetten.
Bij JFrog gebruiken ze Kubernetes met name omdat het de de facto standaard is voor containerorkestratie. De dienst nemen ze managed af bij Google zelf, omdat deze volgens JFrog de meest volwassen dienstverlening rondom Kubernetes heeft. Al gaf hij een mooie knipoog richting True, want True gaat dat natuurlijk allemaal veranderen š
Voor monitoring maken zij net als True gebruik van dezelfde open-source tool (Prometheus, Loki, Grafana), maar daarnaast gebruiken zij voor alerting Slack om meldingen te ontvangen van de status van Kubernetes-clusters. De term ChatOps werd dan ook de zaal in geslingerd.
Lees ook: True lanceert nieuwe dienst: Managed Kubernetes
Video #1 – Kubernetes as a Service
Video #2 – Go, go Kubernetes
De slides voor de presentatie zie je hier: