Oplad Kubernetes med disse fantastiske værktøjer

Denne artikel vil introducere dig til nogle fantastiske værktøjer, der kan kombineres med Kubernetes for at tilføje mere kraft til det.

Når du arbejder i et DevOps-økosystem, vil du indse, hvor vigtigt det er at have fantastiske DevOps-værktøjer til at lette din manuelle belastning. Masser af DevOps-værktøjer er tilgængelige for hvert DevOps-trin og forskellige funktionaliteter.

Kubernetes er et af de must-have, hvis du arbejder i DevOps-domænet og kører dine apps inde i containere. Der er hundredvis af værktøjer derude, der fungerer sammen med Kubernetes for at tilføje flere funktioner. Jeg taler om værktøjer til bedre styring, sikkerhed, dashboard, overvågning af Kubernetes-klyngen.

Her er en liste over sådanne fantastiske værktøjer, der tilføjer mere kraft til dine Kubernetes.

Lad os komme igang!

Ror

Ror er en pakkehåndtering til Kubernetes, der gør det nemt at tage applikationer og tjenester, der er meget gentagelige eller bliver brugt i mange forskellige scenarier, hvilket gør det nemmere at implementere dem til en typisk Kubernetes-klynge. Ved at bruge Helm kan du finde, dele og bruge softwaren, der er bygget til Kubernetes.

Det bruger diagrammer, kaldet Helm Charts til at definere, installere og opgradere komplekse Kubernetes-applikationer.

Hjelm funktioner:

  • Tager sig af al Kubernetes-applikationskompleksitet ved hjælp af diagrammer
  • Bruger opgraderinger og tilpassede kroge til nemt at opdatere tingene.
  • Diagrammer kan nemt deles på offentlige eller private servere.
  • Nem tilbagerulning med kun en enkelt kommando
  • Forbedrer udviklerproduktiviteten og forbedrer driftsberedskab

Flagger

Flagger er en progressiv leveringsoperatør for Kubernetes.

Det automatiserer promoveringen af ​​kanarie-implementeringer ved hjælp af Istio, App Mesh, Nginx, Linkerd, Contour, Gloo, Skipper-routing til trafikskift og Prometheus til kanarie-analyse. I canary-implementering ruller du udgivelserne ud til en lille gruppe brugere, tester den, hvis den fungerer fint, udruller du udgivelsen til alle.

Den bruger det servicenetværk, der kører i din klynge, til at administrere den trafik, der går mellem en installation og en anden. For at flytte trafik til kanarisk måler den præstationsindikatorer som gennemsnitlig varighed af anmodninger, succesraten for HTTP-anmodninger, pod-sundhed osv.

Flagger kan køre automatiseret applikationsanalyse, promovering og rollback for flere implementeringsstrategier som Canary, A/B-test, Blue/Green-implementering.

Kubewatch

Kubewatch er en open source Kubernetes-watcher, som sender en notifikation gennem den slappe kanal.

Det er skrevet på Go-programmering og udviklet af Bitnami Labs. Den bruges til at overvåge Kubernetes-ressourcerne og giver besked, hvis der er ændringer.

Du kan installere Kubewatch gennem kubectl eller ved at bruge styrdiagrammer. Det er nemt at forstå og har en meget nem at bruge grænseflade. Udover slack understøtter den også HipChat, Mattermost, Flock, webhook og SMTP.

  Sådan ser du TATA IPL 2022 gratis i Indien

Afhængigt af hvilke Kubernetes du vil overvåge, kan du indstille sand eller falsk for disse ressourcer i ConfigMap-filen. Når du har indstillet kubewatch-konfigurationen og kører en pod, vil du begynde at modtage meddelelser om Kubernetes-begivenheden, som vist nedenfor.

Gitkube

Gitkube er et værktøj, der bruger git push til at bygge og implementere docker-billeder på Kubernetes. Den har tre komponenter – fjernbetjening, gitkube-controller, gitkubed. Fjernbetjeningen består af brugerdefinerede ressourcer, der administreres af gitkube-controller. gitkube-controller sender ændringerne til gitkubed, som derefter bygger docker-billedet og implementerer det.

Gitkube funktioner:

  • Nem at installere, plug and play
  • Giver rollebaseret adgangskontrol for sikkerhed
  • Nem at godkende ved hjælp af en offentlig nøgle
  • Et navneområde til multi-tenancy er understøttet
  • Ingen ekstra afhængigheder bortset fra kubectl og git

kube-state-metrics

kube-state-metrics er en tjeneste, der genererer tilstandsobjektmålinger ved at lytte til Kubernetes API-serveren. Det bruges til at kontrollere tilstanden af ​​forskellige objekter såsom noder, pods, navnerum og implementeringer. Det giver dig rå, umodificerede data fra Kubernetes API.

Nedenfor er de oplysninger, der leveres af kube-state-metrics:

  • Cron job og jobstatus
  • Status for pods (klar, kørende osv.)
  • Ressourceanmodninger og dets rækkevidde
  • Nodekapacitet og dens status
  • Specifikation af replika sæt

Kamus

Kamus er et open source GitOps-værktøj, som bruges til kryptering og dekryptering af hemmeligheder til Kubernetes-applikationer. De krypterede hemmeligheder, som Kamus gør, kan kun dekrypteres af programmer, der kører på Kubernetes-klyngen. Den bruger AES, Google Cloud KMS, Azure KeyVault til kryptering af hemmeligheder. Du kan komme i gang med Kamus ved at bruge rordiagrammet.

Kamus kommer med to hjælpeprogrammer – Kamus CLI og Kamus init container. Kamus CLI bruges til integration med kryptering af API, og Kamus init container bruges til integration med dekryptering af API.

Kubernetes almindelige hemmeligheder er ikke krypteret; de er base64-kodede. Du kan ikke beholde det på Git, som det er; det er ikke sikkert. Enhver, der har adgang til repoen, vil være i stand til at bruge disse hemmeligheder. Derfor er der brug for en ordentlig krypterings-/dekrypteringsløsning, som Kamus. Det giver også en trusselsmodel, som tager sig af trusler og gør hemmeligheder sikre.

Untrak

Untrak er et open source-værktøj, der bruger Kubernetes til at finde usporede ressourcer og affaldssamle dem. Det hjælper dig med at finde og slette de filer fra klyngen, som ikke er sporet.

Efter du har injiceret manifesterne til din CI/CD-pipeline ved hjælp af kubectl application eller helm-skabelon, er Kubernetes ikke klar over, hvornår objektet bliver slettet fra lageret. Når først objekterne er blevet slettet, spores de ikke i leveringsprocessen og ligger stadig i Kubernetes-klyngen.

  Sådan tager du gode billeder i regnen (og andre våde situationer)

Den udfører kommando internt ved hjælp af en simpel konfigurationsfil untrak.yaml for at finde ud af ressourcer, der ikke længere er en del af din kildekodestyring.

Omfang

Væve omfang er til visualisering, overvågning og fejlfinding af Docker og Kubernetes.

Det viser dig en top-down visning af din container-applikation og den komplette infrastruktur, hvormed du nemt kan identificere eventuelle problemer og diagnosticere dem.

At køre mikroservicearkitekturapplikationer i docker-containere er ikke så let. Komponenterne her er meget dynamiske og svære at overvåge. Med vævningsomfang kan du nemt fejlfinde hukommelseslækager og kontrollere CPU-forbruget, visualisere netværksflaskehalse.

Omfang funktioner:

  • Hjælper dig med at overvåge dine docker-containere i realtid
  • Giver nem navigation mellem processer, der kører i containerne
  • Viser CPU- og hukommelsesbrug vært eller servicemæssigt
  • Genstart, stop eller sæt beholdere på pause ved hjælp af CLI uden at forlade scope-browservinduet.
  • Understøtter brugerdefinerede plugins for at få flere detaljer om containere, processer og værter

Kubernetes Dashboard

Kubernetes Dashboard er en webgrænseflade leveret af Kubernetes. Det bruges til at implementere, fejlfinde og administrere den containeriserede applikation på en Kubernetes-klynge. Det giver alle oplysninger om en klynge, såsom detaljer om noder, navnerum, roller, arbejdsbelastninger osv.

Du kan bruge styrdiagrammer til at implementere Kubernetes dashboard eller bruge en simpel kubectl-kommando nævnt nedenfor:

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

Kops

Kops står for Kubernetes operations, et open source-projekt, der bruges til at oprette produktionsklare Kubernetes-klynger meget nemt og hurtigt. Kops kan primært bruges til at udrulle Kubernetes-klynger på AWS og GCE.

En lille størrelse Kubernetes-klynge er nem at oprette og vedligeholde, men når du skalerer din klynge, tilføjes en masse konfigurationer, og det bliver svært at administrere operationelt. Kops er et værktøj, der hjælper dig med at løse sådanne problemer. Den følger en konfigurationsdrevet tilgang, hvor den holder klyngen altid opdateret og sikker.

Kops har også mange netværks-backends, og ved at vælge en af ​​dem, afhængigt af use casen, bliver det nemt for dig at opsætte forskellige typer klynger.

cRådgiver

cRådgiver er et open source-værktøj til at overvåge en container. Det bruges til at forstå ydeevneegenskaberne og ressourceforbruget for de containere, der kører på klyngen.

Den fungerer på nodeniveau og kan automatisk opdage alle de containere, der kører på en bestemt node og indsamler hukommelse, filsystem, CPU og netværksstatistik. Det giver en webgrænseflade, der viser live data for alle containere i klyngen.

For at komme i gang med cAdvisor skal du køre dets docker-billede google/cadvisor, og så kan du få adgang til det på http://localhost:8080 i en webbrowser.

  Sådan installeres Microsoft Teredo Tunneling Adapter

Kubespray

Kubespray er et gratis værktøj, der er blevet skabt ved at kombinere Ansible playbooks og Kubernetes. Det bruges til Kubernetes cluster lifecycle management.

Ved at bruge Kubespray kan du implementere en klynge hurtigt og tilpasse alle parametrene for en klyngeimplementering som implementeringstilstande, netværksplugins, DNS-konfiguration, komponentversioner, certifikatgenereringsmetoder osv.

Ved blot at køre en simpel ansible-playbook er din klynge oppe at køre. Du kan nemt skalere eller opgradere din Kubernetes-klynge.

K9s

K9s er et open source-terminalbaseret værktøj, og dets dashboard-værktøj kan alt, hvad en Kubernetes-webbrugergrænseflade gør. Den bruges til at navigere, observere og administrere den applikation, der er installeret på Kubernetes-klyngen.

K9s funktioner:

  • Spor din klynge i realtid
  • Tilpas visningen efter ressource
  • Zoom ind på klyngressourceproblemer
  • Understøtter rollebaseret adgangskontrol
  • Indbyggede benchmarks til at validere ressourceydelse

Kubetail

Kubetail er et simpelt bash-script, der bruges til at samle logfiler fra flere pods i en strøm.

Meget praktisk!

Det hjælper dig med at fejlfinde med lethed.

Den seneste Kubetail-version har også fremhævelses- og filtreringsfunktioner. Denne funktion giver dig mulighed for at udføre logfarvning. Ved at bruge homebrew kan du installere Kubetail med en enkelt kommando. Du kan tilføje standardværdier i miljøvariabler, som Kubetail kan læse som KUBETAIL_NAMESPACE, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS osv.

Kraftig Seal

Kraftig Seal er et open source, kraftfuldt kaos-engineeringsværktøj skrevet i python til Kubernetes-klynger.

Chaos engineering bruges til at få systemets selvtillid til at kontrollere dets evne til at håndtere problematiske situationer i produktionen. Det injicerer manglende evne til at identificere problemer i Kubernetes-klyngen så tidligt som muligt.

Den er inspireret af Netflix Chaos Monkey og bruges til at forbedre Kubernetes modstandsdygtighed. Ved hjælp af PowerfulSeal forsøger ingeniørerne bevidst at bryde ting på klyngen for at kontrollere, hvordan systemet reagerer.

PowerfulSeal fungerer i tre tilstande – Autonom, Interactive, Label.

I autonom tilstand udfører den scenarier ved at læse en politikfil, du leverer. I interaktiv tilstand fortæller den dig om klyngekomponenter, som du manuelt forsøger at bryde. I etikettilstand dræber du målrettede objekter på klyngen som pods ved hjælp af etiketter.

Skipper Skræk

Skipper Skræk er et rengøringsværktøj, der fungerer som et rensemiddel 🧼 for Kubernetes-klynger.

Den scanner hele klyngen og rapporterer tilbage med problemer relateret til konfigurationer og ressourcer. Det hjælper dig med at udføre bedste praksis på Kubernetes-klyngen for at holde dig væk fra almindelige problemer.

Dette værktøj er tilgængeligt til Windows, Linux og macOS. I øjeblikket fungerer det kun med noder, pods, navnerum, tjenester. Ved hjælp af Popeye kan du nemt identificere døde og ubrugte ressourcer, port-uoverensstemmelser, RBAC-regler, metrikudnyttelse og meget mere.

Konklusion

DevOps-værktøjer spiller en afgørende rolle for succes, og jeg håber, at ovenstående hjælper dig med at administrere Kubernetes bedre.