Ladda Kubernetes med dessa fantastiska verktyg

Den här artikeln kommer att introducera dig till några fantastiska verktyg som kan kombineras med Kubernetes för att lägga till mer kraft till den.

När du arbetar i ett DevOps-ekosystem kommer du att inse hur viktigt det är att ha fantastiska DevOps-verktyg för att underlätta din manuella belastning. Massor av DevOps-verktyg finns tillgängliga för varje DevOps-steg och olika funktioner.

Kubernetes är ett måste om du arbetar i DevOps-domänen och kör dina appar i behållare. Det finns hundratals verktyg där ute som fungerar tillsammans med Kubernetes för att lägga till fler funktioner. Jag pratar om verktyg för bättre hantering, säkerhet, instrumentpanel, övervakning av Kubernetes-klustret.

Här är en lista över sådana fantastiska verktyg som ger mer kraft till dina Kubernetes.

Låt oss börja!

Roder

Roder är en pakethanterare för Kubernetes som gör det enkelt att ta applikationer och tjänster som är mycket repeterbara eller används i många olika scenarier, vilket gör det lättare att distribuera dem till ett typiskt Kubernetes-kluster. Med hjälp av Helm kan du hitta, dela och använda programvaran som är byggd för Kubernetes.

Den använder diagram, kallade Helm Charts, för att definiera, installera och uppgradera komplexa Kubernetes-applikationer.

Hjälmfunktioner:

  • Tar hand om all Kubernetes-applikationskomplexitet med hjälp av diagram
  • Använder uppgraderingar och anpassade krokar för att enkelt uppdatera saker.
  • Diagram kan enkelt delas på offentliga eller privata servrar.
  • Enkel återställning med bara ett enda kommando
  • Förbättrar utvecklarens produktivitet och förbättrar operativ beredskap

Flagger

Flagger är en progressiv leveransoperatör för Kubernetes.

Den automatiserar marknadsföringen av kanariefågel-distributioner med hjälp av Istio, App Mesh, Nginx, Linkerd, Contour, Gloo, Skipper-routing för trafikskiftning och Prometheus för kanariefågelanalys. I Canary-distribution rullar du ut releaserna till en liten grupp användare, testar det, om det fungerar bra rullar du ut releasen till alla.

Den använder tjänsten mesh som körs i ditt kluster för att hantera trafiken som går mellan en distribution och en annan. För att flytta trafik till kanariefågel mäter den prestandaindikatorer som genomsnittlig varaktighet för förfrågningar, framgångsfrekvensen för HTTP-förfrågningar, pods hälsa, etc.

Flagger kan köra automatiserad applikationsanalys, marknadsföring och återställning för flera distributionsstrategier som Canary, A/B-testning, Blue/Green-distribution.

Kubewatch

Kubewatch är en öppen källkod Kubernetes watcher som skickar ett meddelande via slack-kanalen.

Den är skriven på Go-programmering och utvecklad av Bitnami Labs. Den används för att övervaka Kubernetes-resurserna och meddelar om det sker någon förändring.

Du kan installera Kubewatch genom kubectl eller genom att använda styrdiagram. Det är enkelt att förstå och har ett mycket lättanvänt gränssnitt. Förutom slack stöder den även HipChat, Mattermost, Flock, webhook och SMTP.

Beroende på vilka Kubernetes du vill övervaka kan du ställa in sant eller falskt för dessa resurser i ConfigMap-filen. När du väl har ställt in kubewatch-konfigurationen och kör en pod kommer du att börja ta emot meddelanden om Kubernetes-händelsen, som visas nedan.

Gitkube

Gitkube är ett verktyg som använder git push för att bygga och distribuera docker-bilder på Kubernetes. Den har tre komponenter – fjärrkontroll, gitkube-kontroller, gitkubed. Fjärrkontrollen består av anpassade resurser som hanteras av gitkube-controller. gitkube-controller skickar ändringarna till gitkubed, som sedan bygger docker-bilden och distribuerar den.

Gitkube funktioner:

  • Lätt att installera, plug and play
  • Ger rollbaserad åtkomstkontroll för säkerhet
  • Enkel att autentisera med en offentlig nyckel
  • Ett namnområde för multi-tenancy stöds
  • Inga extra beroenden förutom kubectl och git

kube-state-metrics

kube-state-metrics är en tjänst som genererar tillståndsobjektmått genom att lyssna på Kubernetes API-server. Det används för att kontrollera tillståndet för olika objekt som noder, poddar, namnområden och distributioner. Det ger dig rå, omodifierad data från Kubernetes API.

Nedan är informationen som tillhandahålls av kube-state-metrics:

  • Cron-jobb och jobbstatus
  • Status för poddarna (klar, igång, etc.)
  • Resursförfrågningar och dess utbud
  • Nodkapacitet och dess status
  • Specifikation av replikuppsättningar

Kamus

Kamus är ett GitOps-verktyg med öppen källkod som används för kryptering och dekryptering av hemligheter för Kubernetes-applikationer. De krypterade hemligheterna som Kamus gör kan endast dekrypteras av applikationer som körs på Kubernetes-klustret. Den använder AES, Google Cloud KMS, Azure KeyVault för kryptering av hemligheter. Du kan komma igång med Kamus med hjälp av styrdiagrammet.

Kamus kommer med två verktyg – Kamus CLI och Kamus init container. Kamus CLI används för att integrera med krypterings-API, och Kamus init-behållare används för integration med dekryptering av API.

Kubernetes plain Hemligheter är inte krypterade; de är base64-kodade. Du kan inte behålla den på Git som den är; det är inte säkert. Alla som har tillgång till repet kommer att kunna använda dessa hemligheter. Därför behövs en ordentlig kryptering/dekrypteringslösning, som Kamus. Den tillhandahåller också en hotmodell som tar hand om hot och gör hemligheter säkra.

Untrak

Untrak är ett verktyg med öppen källkod som används i Kubernetes för att hitta ospårade resurser och samla in dem. Det hjälper dig att hitta och ta bort dessa filer från klustret som inte spåras.

Efter att du injicerar manifesten till din CI/CD-pipeline med hjälp av kubectl application eller helm-mall, är Kubernetes inte medveten om när objektet kommer att tas bort från förvaret. När objekten väl har tagits bort spåras de inte i leveransprocessen och finns fortfarande kvar i Kubernetes-klustret.

Den kör kommandon internt med hjälp av en enkel konfigurationsfil untrak.yaml för att ta reda på resurser som inte längre är en del av din källkodshantering.

Omfattning

Väv omfattning är för att visualisera, övervaka och felsöka Docker och Kubernetes.

Den visar dig en vy uppifrån och ned av din containerbaserade applikation och den kompletta infrastrukturen med hjälp av vilken du enkelt kan identifiera eventuella problem och diagnostisera dem.

Att köra mikrotjänstarkitekturapplikationer i dockningscontainrar är inte så lätt. Komponenterna här är mycket dynamiska och svåra att övervaka. Med vävomfattning kan du enkelt felsöka minnesläckor och kontrollera CPU-förbrukningen, visualisera nätverksflaskhalsar.

Omfattningsfunktioner:

  • Hjälper dig att övervaka dina hamnarcontainrar i realtid
  • Ger enkel navigering mellan processer som körs i behållarna
  • Visar CPU och minnesanvändning värd eller tjänst
  • Starta om, stoppa eller pausa behållare med CLI utan att lämna scope-webbläsarfönstret.
  • Stöder anpassade plugins för att få mer information om behållare, processer och värdar

Kubernetes instrumentpanel

Kubernetes instrumentpanel är ett webbgränssnitt som tillhandahålls av Kubernetes. Den används för att distribuera, felsöka och hantera den containeriserade applikationen på ett Kubernetes-kluster. Den ger all information om ett kluster, såsom detaljer om noder, namnrymder, roller, arbetsbelastningar, etc.

Du kan använda styrdiagram för att distribuera Kubernetes instrumentpanel eller använda ett enkelt kubectl-kommando som nämns nedan:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml

Kops

Kops står för Kubernetes operations, ett öppen källkodsprojekt som används för att sätta upp produktionsklara Kubernetes-kluster mycket enkelt och snabbt. Kops kan användas för att distribuera Kubernetes-kluster på AWS och GCE främst.

Ett litet Kubernetes-kluster är lätt att skapa och underhålla, men när du skalar ditt kluster läggs många konfigurationer till och det blir svårt att hantera operativt. Kops är ett verktyg som hjälper dig att lösa sådana problem. Den följer en konfigurationsdriven strategi där den håller klustret alltid uppdaterat och säkert.

Kops har också många nätverksbackends, och att välja en av dem, beroende på användningsfallet, gör det enkelt för dig att sätta upp olika typer av kluster.

cRådgivare

cRådgivare är ett verktyg med öppen källkod för att övervaka en behållare. Den används för att förstå prestandaegenskaperna och resursanvändningen för behållarna som körs på klustret.

Den fungerar på nodnivå och kan automatiskt upptäcka alla behållare som körs på en viss nod och samlar in minne, filsystem, CPU och nätverksstatistik. Det tillhandahåller ett webbgränssnitt som visar livedata för alla behållare i klustret.

För att komma igång med cAdvisor måste du köra dess docker image google/cadvisor, och sedan kan du komma åt den på http://localhost:8080 i en webbläsare.

Kubespray

Kubespray är ett gratis verktyg som har skapats genom att kombinera Ansible playbooks och Kubernetes. Den används för Kubernetes klusterlivscykelhantering.

Genom att använda Kubespray kan du snabbt distribuera ett kluster och anpassa alla parametrar för en klusterimplementering som distributionslägen, nätverksplugin, DNS-konfiguration, komponentversioner, metoder för certifikatgenerering, etc.

Genom att bara köra en enkel ansible-playbook är ditt kluster igång. Du kan enkelt skala eller uppgradera ditt Kubernetes-kluster.

K9s

K9s är ett terminalbaserat verktyg med öppen källkod, och dess instrumentpanelsverktyg kan göra allt som ett Kubernetes webbgränssnitt gör. Den används för att navigera, observera och hantera applikationen som distribueras på Kubernetes-klustret.

K9s funktioner:

  • Spåra ditt kluster i realtid
  • Anpassa visningen per resurs
  • Zooma in på klusterresursproblem
  • Stöder rollbaserad åtkomstkontroll
  • Inbyggda riktmärken för att validera resursprestanda

Kubetail

Kubetail är ett enkelt bash-skript som används för att samla loggar från flera pods i en ström.

Väldigt händig!

Det hjälper dig att felsöka med lätthet.

Den senaste Kubetail-versionen har också markerings- och filtreringsfunktioner. Denna funktion gör att du kan utföra loggfärgning. Med homebrew kan du installera Kubetail med ett enda kommando. Du kan lägga till standardvärden i miljövariabler som Kubetail kan läsa som KUBETAIL_NAMESPACE, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS etc.

Kraftfull Seal

Kraftfull Seal är ett kraftfullt verktyg för kaosteknik med öppen källkod skrivet i python för Kubernetes-kluster.

Kaosteknik används för att få systemets förtroende att kontrollera dess förmåga att hantera problematiska situationer i produktionen. Det injicerar ett misslyckande för Kubernetes-klustret att identifiera problem i det så tidigt som möjligt.

Den är inspirerad av Netflix Chaos Monkey och används för att förbättra Kubernetes motståndskraft. Med hjälp av PowerfulSeal försöker ingenjörerna medvetet bryta saker i klustret för att kontrollera hur systemet reagerar.

PowerfulSeal fungerar i tre lägen – Autonomous, Interactive, Label.

I autonomt läge exekverar den scenarier genom att läsa en policyfil som du tillhandahåller. I interaktivt läge berättar den om klusterkomponenter som du manuellt försöker bryta. I etikettläge dödar du riktade objekt i klustret som kapslar med hjälp av etiketter.

Karl-Alfred

Karl-Alfred är ett rengöringsverktyg som fungerar som ett desinfektionsmedel 🧼 för Kubernetes-kluster.

Den kommer att skanna hela klustret och rapportera tillbaka med problem relaterade till konfigurationer och resurser. Det hjälper dig att utföra de bästa metoderna på Kubernetes-klustret för att hålla dig borta från vanliga problem.

Det här verktyget är tillgängligt för Windows, Linux och macOS. För närvarande fungerar det bara med noder, poddar, namnområden, tjänster. Med Popeye kan du enkelt identifiera döda och oanvända resurser, portfelmatchningar, RBAC-regler, mätvärdesanvändning och mycket mer.

Slutsats

DevOps-verktyg spelar en viktig roll för framgång, och jag hoppas att ovanstående hjälper dig att hantera Kubernetes bättre.