Superlad Kubernetes med disse fantastiske verktøyene

Denne artikkelen vil introdusere deg til noen fantastiske verktøy som kan kombineres med Kubernetes for å legge til mer kraft til den.

Når du arbeider i et DevOps-økosystem, vil du innse hvor viktig det er å ha fantastiske DevOps-verktøy for å lette den manuelle belastningen. Mange DevOps-verktøy er tilgjengelige for hvert DevOps-trinn og forskjellige funksjoner.

Kubernetes er en av de du må ha hvis du jobber i DevOps-domenet og kjører appene dine i containere. Det er hundrevis av verktøy der ute som fungerer sammen med Kubernetes for å legge til flere funksjoner. Jeg snakker om verktøy for bedre styring, sikkerhet, dashbord, overvåking av Kubernetes-klyngen.

Her er en liste over slike fantastiske verktøy som gir Kubernetes mer kraft.

La oss komme i gang!

Ror

Ror er en pakkebehandling for Kubernetes som gjør det enkelt å ta applikasjoner og tjenester som er svært repeterbare eller blir brukt i mange forskjellige scenarier, noe som gjør det enklere å distribuere dem til en typisk Kubernetes-klynge. Ved å bruke Helm kan du finne, dele og bruke programvaren som er bygget for Kubernetes.

Den bruker diagrammer, kalt Helm Charts, for å definere, installere og oppgradere komplekse Kubernetes-applikasjoner.

Hjelmfunksjoner:

  • Tar seg av all Kubernetes-applikasjonskompleksitet ved hjelp av diagrammer
  • Bruker oppgraderinger og tilpassede kroker for å oppdatere ting enkelt.
  • Diagrammer kan enkelt deles på offentlige eller private servere.
  • Enkel tilbakerulling med bare en enkelt kommando
  • Forbedrer utviklerproduktiviteten og forbedrer driftsberedskapen

Flagger

Flagger er en progressiv leveringsoperatør for Kubernetes.

Den automatiserer promoteringen av kanarie-utplasseringer ved å bruke Istio, App Mesh, Nginx, Linkerd, Contour, Gloo, Skipper-ruting for trafikkskifting og Prometheus for kanarieanalyse. I canary-distribusjon ruller du ut utgivelsene til en liten gruppe brukere, tester den, hvis den fungerer bra, ruller du ut utgivelsen til alle.

Den bruker tjenestenettverket som kjører i klyngen din for å administrere trafikken som går mellom en distribusjon og en annen. For å flytte trafikk til kanarifuglen måler den ytelsesindikatorer som gjennomsnittlig varighet av forespørsler, suksessraten for HTTP-forespørsler, pod-helse osv.

Flagger kan kjøre automatisert applikasjonsanalyse, promotering og tilbakeføring for flere distribusjonsstrategier som Canary, A/B-testing, blå/grønn distribusjon.

Kubewatch

Kubewatch er en åpen kildekode Kubernetes-watcher som sender et varsel gjennom den slappe kanalen.

Den er skrevet på Go-programmering og utviklet av Bitnami Labs. Den brukes til å overvåke Kubernetes-ressursene og varsler hvis det er endringer.

Du kan installere Kubewatch gjennom kubectl eller ved å bruke rordiagrammer. Det er enkelt å forstå og har et veldig brukervennlig grensesnitt. Bortsett fra slakk, støtter den også HipChat, Mattermost, Flock, webhook og SMTP.

  Hvordan ta opp skjermen med Microsoft PowerPoint

Avhengig av hvilke Kubernetes du vil overvåke, kan du angi sann eller usann for disse ressursene i ConfigMap-filen. Når du har satt kubewatch-konfigurasjonen og kjører en pod, vil du begynne å motta varsler om Kubernetes-hendelsen, som vist nedenfor.

Gitkube

Gitkube er et verktøy som bruker git push for å bygge og distribuere docker-bilder på Kubernetes. Den har tre komponenter – fjernkontroll, gitkube-kontroller, gitkubed. Remote består av tilpassede ressurser som administreres av gitkube-controller. gitkube-controller sender endringene til gitkubed, som deretter bygger docker-bildet og distribuerer det.

Gitkube-funksjoner:

  • Enkel å installere, plug and play
  • Gir rollebasert tilgangskontroll for sikkerhet
  • Enkel å autentisere med en offentlig nøkkel
  • Et navneområde for multi-tenancy støttes
  • Ingen ekstra avhengigheter bortsett fra kubectl og git

kube-state-metrics

kube-state-metrics er en tjeneste som genererer tilstandsobjektmålinger ved å lytte til Kubernetes API-serveren. Den brukes til å sjekke helsen til ulike objekter som noder, pods, navnerom og distribusjoner. Den gir deg rå, umodifiserte data fra Kubernetes API.

Nedenfor er informasjonen som leveres av kube-state-metrics:

  • Cron-jobber og jobbstatus
  • Status for podene (klare, kjører osv.)
  • Ressursforespørsler og rekkevidde
  • Nodekapasitet og dens status
  • Spesifikasjon av replika sett

Kamus

Kamus er et åpen kildekode GitOps-verktøy som brukes til kryptering og dekryptering av hemmeligheter for Kubernetes-applikasjoner. De krypterte hemmelighetene som Kamus gjør kan bare dekrypteres av applikasjoner som kjører på Kubernetes-klyngen. Den bruker AES, Google Cloud KMS, Azure KeyVault for kryptering av hemmeligheter. Du kan komme i gang med Kamus ved å bruke rordiagrammet.

Kamus kommer med to verktøy – Kamus CLI og Kamus init container. Kamus CLI brukes for integrering med krypterings-API, og Kamus init-beholder brukes til integrasjon med dekryptering av API.

Kubernetes plain Secrets er ikke kryptert; de er base64-kodet. Du kan ikke beholde den på Git som den er; det er ikke sikkert. Alle som har tilgang til repoen vil kunne bruke disse hemmelighetene. Derfor er det nødvendig med en skikkelig krypterings-/dekrypteringsløsning, som Kamus. Det gir også en trusselmodell som tar vare på trusler og gjør hemmeligheter sikre.

Untrak

Untrak er et åpen kildekodeverktøy som brukes i Kubernetes for å finne usporede ressurser og søppelsamle dem. Det hjelper deg med å finne og slette disse filene fra klyngen, som ikke er sporet.

Etter at du injiserer manifestene til CI/CD-pipelinen din ved hjelp av kubectl application eller helm-mal, er Kubernetes ikke klar over når objektet vil bli slettet fra depotet. Når objektene blir slettet, spores de ikke i leveringsprosessen og ligger fortsatt i Kubernetes-klyngen.

  En nybegynnerveiledning om milepældiagram [+6 Templates]

Den utfører kommando internt ved å bruke en enkel konfigurasjonsfil untrak.yaml for å finne ut ressurser som ikke lenger er en del av kildekodebehandlingen din.

omfang

Vev omfang er for visualisering, overvåking og feilsøking av Docker og Kubernetes.

Den viser deg en topp-ned-visning av din containeriserte applikasjon og den komplette infrastrukturen som du enkelt kan identifisere eventuelle problemer og diagnostisere.

Å kjøre mikrotjenestearkitekturapplikasjoner i docker-containere er ikke så lett. Komponentene her er svært dynamiske og vanskelige å overvåke. Med vevingsomfang kan du enkelt feilsøke minnelekkasjer og kontrollere CPU-forbruk, visualisere nettverksflaskehalser.

Omfangsfunksjoner:

  • Hjelper deg med å overvåke docker-containerne i sanntid
  • Gir enkel navigering mellom prosesser som kjører i containerne
  • Viser CPU og minnebruk vert eller tjeneste
  • Start på nytt, stopp eller stans beholdere ved å bruke CLI uten å forlate scope-nettleservinduet.
  • Støtter tilpassede plugins for å få flere detaljer om containere, prosesser og verter

Kubernetes Dashboard

Kubernetes Dashboard er et nettgrensesnitt levert av Kubernetes. Den brukes til å distribuere, feilsøke og administrere den containeriserte applikasjonen på en Kubernetes-klynge. Den gir all informasjon om en klynge, for eksempel detaljer om noder, navnerom, roller, arbeidsbelastninger osv.

Du kan bruke rordiagrammer til å distribuere Kubernetes dashbord eller bruke en enkel kubectl-kommando nevnt nedenfor:

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

Kops

Kops står for Kubernetes-operasjoner, et åpen kildekode-prosjekt som brukes til å sette opp produksjonsklare Kubernetes-klynger veldig enkelt og raskt. Kops kan brukes til å distribuere Kubernetes-klynger på AWS og GCE primært.

En liten Kubernetes-klynge er enkel å opprette og vedlikeholde, men når du skalerer klyngen din, blir mange konfigurasjoner lagt til, og det blir vanskelig å administrere operativt. Kops er et verktøy som hjelper deg med å løse slike problemer. Den følger en konfigurasjonsdrevet tilnærming der den holder klyngen alltid oppdatert og trygg.

Kops har også mange nettverksbackends, og å velge en av dem, avhengig av bruksområdet, gjør det enkelt for deg å sette opp ulike typer klynger.

cRådgiver

cRådgiver er et åpen kildekodeverktøy for å overvåke en container. Den brukes til å forstå ytelsesegenskapene og ressursbruken til beholderne som kjører på klyngen.

Den opererer på nodenivå og kan automatisk oppdage alle beholderne som kjører på en bestemt node og samler minne-, filsystem-, CPU- og nettverksstatistikk. Det gir et nettgrensesnitt som viser live-dataene til alle beholderne i klyngen.

For å komme i gang med cAdvisor, må du kjøre docker-bildet google/cadvisor, og deretter kan du få tilgang til det på http://localhost:8080 i en nettleser.

  Slik sletter du Fortsett å se i HBO Max

Kubespray

Kubespray er et gratis verktøy som er laget ved å kombinere Ansible playbooks og Kubernetes. Den brukes til Kubernetes cluster lifecycle management.

Ved å bruke Kubespray kan du distribuere en klynge raskt og tilpasse alle parameterne til en klyngeimplementering som distribusjonsmoduser, nettverksplugins, DNS-konfigurasjon, komponentversjoner, sertifikatgenereringsmetoder, etc.

Ved å bare kjøre én enkel ansible-playbook, er klyngen din oppe og går. Du kan enkelt skalere eller oppgradere Kubernetes-klyngen din.

K9s

K9s er et åpen kildekode-terminalbasert verktøy, og dashbordverktøyet kan gjøre alt som et Kubernetes-nettgrensesnitt gjør. Den brukes til å navigere, observere og administrere applikasjonen som er distribuert på Kubernetes-klyngen.

K9s funksjoner:

  • Spor klyngen din i sanntid
  • Tilpass visningen per ressurs
  • Zoom inn på klyngressursproblemer
  • Støtter rollebasert tilgangskontroll
  • Innebygde benchmarks for å validere ressursytelse

Kubetail

Kubetail er et enkelt bash-skript som brukes til å samle logger fra flere pods i en strøm.

Veldig hendig!

Det hjelper deg med å feilsøke med letthet.

Den siste Kubetail-versjonen har også fremhevings- og filtreringsfunksjoner. Denne funksjonen lar deg utføre loggfarging. Ved å bruke homebrew kan du installere Kubetail med en enkelt kommando. Du kan legge til standardverdier i miljøvariabler som Kubetail kan lese som KUBETAIL_NAMESPACE, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS osv.

Kraftig segl

Kraftig segl er et åpen kildekode, kraftig kaosingeniørverktøy skrevet i python for Kubernetes-klynger.

Kaosteknikk brukes for å få systemets selvtillit til å sjekke evnen til å håndtere problematiske situasjoner i produksjonen. Det injiserer feil til Kubernetes-klyngen for å identifisere problemer i den så tidlig som mulig.

Den er inspirert av Netflix Chaos Monkey og brukes til å forbedre Kubernetes motstandskraft. Ved å bruke PowerfulSeal prøver ingeniørene bevisst å bryte ting på klyngen for å sjekke hvordan systemet reagerer.

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

I autonom modus kjører den scenarier ved å lese en policyfil du oppgir. I interaktiv modus forteller den deg om klyngekomponenter som du manuelt prøver å bryte. I etikettmodus dreper du målrettede objekter på klyngen som pods ved å bruke etiketter.

Popeye

Popeye er et rengjøringsverktøy som fungerer som et rensemiddel 🧼 for Kubernetes-klynger.

Den vil skanne hele klyngen og rapportere tilbake med problemer knyttet til konfigurasjoner og ressurser. Det hjelper deg å utføre de beste fremgangsmåtene på Kubernetes-klyngen for å holde deg unna vanlige problemer.

Dette verktøyet er tilgjengelig for Windows, Linux og macOS. Foreløpig fungerer det bare med noder, pods, navnerom, tjenester. Ved å bruke Popeye kan du enkelt identifisere døde og ubrukte ressurser, portfeil, RBAC-regler, metrikkbruk og mye mer.

Konklusjon

DevOps-verktøy spiller en viktig rolle for suksess, og jeg håper ovenstående hjelper deg med å administrere Kubernetes bedre.