Superlad Kubernetes: 15+ Fantastiske Verktøy!

Verktøy som gir Kubernetes ekstra kraft

Denne artikkelen presenterer en rekke effektive verktøy som kan brukes sammen med Kubernetes for å forbedre funksjonaliteten.

I et DevOps-miljø er det viktig å ha gode DevOps-verktøy for å redusere manuelt arbeid. Det finnes mange DevOps-verktøy tilgjengelig for ulike trinn og funksjoner i DevOps-prosessen.

Kubernetes er et essensielt verktøy for de som jobber med DevOps og kjører applikasjoner i containere. Det finnes et stort antall verktøy som kan integreres med Kubernetes for å legge til ekstra funksjoner, spesielt for bedre administrasjon, sikkerhet, visualisering og overvåking av Kubernetes-klynger.

Her er en liste over slike nyttige verktøy som gir Kubernetes ekstra funksjonalitet.

La oss starte!

Helm

Helm er en pakkebehandler for Kubernetes som forenkler distribusjonen av repeterbare applikasjoner og tjenester til en Kubernetes-klynge. Med Helm kan du enkelt finne, dele og bruke programvare designet for Kubernetes.

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

Hovedfunksjoner i Helm:

  • Håndterer kompleksiteten i Kubernetes-applikasjoner ved hjelp av diagrammer
  • Bruker oppgraderinger og tilpassede «hooks» for å forenkle oppdateringer.
  • Diagrammer kan enkelt deles på både offentlige og private servere.
  • Muliggjør enkel tilbakerulling med en enkelt kommando.
  • Forbedrer utviklerproduktiviteten og driftsberedskapen.

Flagger

Flagger er en verktøy for progressiv levering for Kubernetes.

Verktøyet automatiserer bruken av canary-utrullinger ved å bruke Istio, App Mesh, Nginx, Linkerd, Contour, Gloo og Skipper for trafikkomkobling. Flagger bruker også Prometheus for kanarieanalyse. Ved canary-utrulling distribueres lanseringen til en liten gruppe brukere for testing, og hvis alt fungerer bra, rulles utgivelsen ut til alle brukere.

Flagger bruker tjenestenettverket i klyngen for å administrere trafikken mellom ulike distribusjoner. For å flytte trafikk til en kanari-utrulling, måler verktøyet viktige ytelsesindikatorer som gjennomsnittlig forespørselstid, suksessrate for HTTP-forespørsler og pod-helse.

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

Kubewatch

Kubewatch er et åpen kildekode Kubernetes-overvåkingsverktøy som sender varsler via Slack.

Verktøyet er skrevet i Go og utviklet av Bitnami Labs. Det overvåker Kubernetes-ressurser og sender varsler ved endringer.

Kubewatch kan installeres med kubectl eller Helm. Verktøyet er brukervennlig og har et enkelt grensesnitt. I tillegg til Slack, støtter det også HipChat, Mattermost, Flock, webhook og SMTP.

Du kan angi hvilke Kubernetes-ressurser du ønsker å overvåke ved å sette verdiene til true eller false i ConfigMap-filen. Når konfigurasjonen er fullført og en pod er kjørt, vil du begynne å motta varsler om Kubernetes-hendelser.

Gitkube

Gitkube er et verktøy som bruker git push til å bygge og distribuere docker-bilder i Kubernetes. Det består av tre hovedkomponenter: remote, gitkube-controller og gitkubed. Remote inneholder tilpassede ressurser som administreres av gitkube-controller. Gitkube-controller sender endringene til gitkubed, som deretter bygger docker-bildet og distribuerer det.

Gitkube-funksjoner:

  • Enkel installasjon, klar til bruk
  • Tilbyr rollebasert tilgangskontroll for sikkerhet
  • Enkel autentisering med offentlig nøkkel
  • Støtter navnerom for flere brukere
  • Ingen ekstra avhengigheter utover 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 å overvåke tilstanden til forskjellige objekter som noder, pods, navnerom og distribusjoner. Verktøyet gir deg ubehandlet data fra Kubernetes API.

Følgende informasjon leveres av kube-state-metrics:

  • Cron-jobber og jobbstatus
  • Status for pods (klare, kjører, etc.)
  • Ressursforespørsler og -grenser
  • Nodekapasitet og status
  • Spesifikasjon av replikasett

Kamus

Kamus er et åpen kildekode GitOps-verktøy for kryptering og dekryptering av hemmeligheter for Kubernetes-applikasjoner. Krypterte hemmeligheter fra Kamus kan bare dekrypteres av applikasjoner som kjører i Kubernetes-klyngen. Kamus bruker AES, Google Cloud KMS og Azure KeyVault for kryptering. Du kan komme i gang med Kamus ved hjelp av Helm-diagrammet.

Kamus leveres med to verktøy – Kamus CLI og Kamus init container. Kamus CLI brukes for integrasjon med krypterings-API, og Kamus init container brukes for integrasjon med dekrypterings-API.

Standard Kubernetes Secrets er ikke kryptert, de er base64-kodet, og det er ikke trygt å beholde dem i Git. Alle som har tilgang til depotet, kan bruke disse hemmelighetene. Det er derfor nødvendig med en løsning for kryptering og dekryptering, som Kamus. Verktøyet gir også en trusselmodell for å beskytte hemmelighetene.

Untrak

Untrak er et åpen kildekode-verktøy som brukes i Kubernetes for å identifisere og rydde opp i ikke-sporede ressurser. Det hjelper deg med å finne og slette filer som ikke er sporet fra klyngen.

Etter at du har injisert manifester til CI/CD-pipeline ved hjelp av kubectl apply eller Helm-maler, er Kubernetes ikke klar over når et objekt vil bli slettet fra depotet. Objekter som er slettet, blir ikke sporet i leveringsprosessen og forblir i Kubernetes-klyngen.

Verktøyet bruker en konfigurasjonsfil, untrak.yaml, for å identifisere ressurser som ikke lenger er en del av kildekodehåndteringen.

Scope

Weave Scope er et verktøy for visualisering, overvåking og feilsøking av Docker og Kubernetes.

Verktøyet viser en top-down-visning av din containeriserte applikasjon og den komplette infrastrukturen, slik at du enkelt kan identifisere og diagnostisere eventuelle problemer.

Det kan være krevende å kjøre mikrotjenestearkitekturapplikasjoner i docker-containere. Komponentene er svært dynamiske og vanskelige å overvåke. Med Weave Scope kan du enkelt feilsøke minnelekkasjer, kontrollere CPU-forbruk og visualisere nettverksflaskehalser.

Funksjoner i Scope:

  • Hjelper deg med å overvåke docker-containere i sanntid.
  • Gir enkel navigering mellom prosesser som kjører i containere.
  • Viser CPU- og minnebruk for vert eller tjeneste.
  • Start, stopp eller pause containere via CLI uten å forlate nettleservinduet.
  • Støtter tilpassede plugins for å få mer informasjon om containere, prosesser og verter.

Kubernetes Dashboard

Kubernetes Dashboard er et webgrensesnitt levert av Kubernetes for distribusjon, feilsøking og administrasjon av containeriserte applikasjoner i Kubernetes-klynger. Det gir detaljert informasjon om klynger, noder, navnerom, roller og arbeidsbelastninger.

Du kan distribuere Kubernetes Dashboard med Helm-diagrammer eller ved hjelp av en enkel kubectl-kommando:

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

Kops

Kops, som står for Kubernetes Operations, er et åpen kildekode-prosjekt for rask og enkel oppsett av produksjonsklare Kubernetes-klynger. Kops kan brukes til å distribuere Kubernetes-klynger i AWS og GCE.

Det er enkelt å opprette og vedlikeholde en liten Kubernetes-klynge, men etter hvert som klyngen vokser, øker antallet konfigurasjoner, noe som gjør det vanskelig å administrere operasjonelt. Kops er et verktøy som hjelper med å løse slike problemer. Verktøyet bruker en konfigurasjonsdrevet tilnærming for å holde klyngen oppdatert og sikker.

Kops støtter mange nettverksbackends, og det er enkelt å sette opp forskjellige typer klynger ved å velge riktig backend.

cAdvisor

cAdvisor er et åpen kildekode-verktøy for å overvåke containere. Det gir informasjon om ytelse og ressursbruk for containere som kjører i klyngen.

Verktøyet opererer på nodenivå og kan automatisk oppdage alle containere som kjører på en bestemt node og samle statistikk om minne, filsystem, CPU og nettverk. Det har et webgrensesnitt som viser live-data for alle containere i klyngen.

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

Kubespray

Kubespray er et gratis verktøy som kombinerer Ansible playbooks og Kubernetes. Det brukes til administrasjon av Kubernetes-klyngens livssyklus.

Med Kubespray kan du raskt distribuere en klynge og tilpasse alle parameterne, som distribusjonsmoduser, nettverksplugins, DNS-konfigurasjon, komponentversjoner og sertifikatgenerering.

Ved å kjøre en enkelt Ansible-playbook, er klyngen din oppe og går. Du kan også enkelt skalere eller oppgradere Kubernetes-klyngen.

K9s

K9s er et åpen kildekode, terminalbasert dashbordverktøy som har funksjonalitet som tilsvarer et webgrensesnitt for Kubernetes. Det brukes til å navigere, observere og administrere applikasjoner som er distribuert i en Kubernetes-klynge.

Funksjoner i K9s:

  • Overvåker klyngen i sanntid.
  • Tilpasser visning per ressurs.
  • Zoomer inn på problemer med klyngressurser.
  • Støtter rollebasert tilgangskontroll.
  • Innebygde benchmarks for validering av ressursytelse.

Kubetail

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

Verktøyet er svært praktisk og hjelper med enkel feilsøking.

Den nyeste versjonen av Kubetail har også fremheving- og filtreringsfunksjoner som gir deg mulighet for loggfarging. Med Homebrew kan du installere Kubetail med en enkelt kommando. Du kan angi standardverdier i miljøvariabler som KUBETAIL_NAMESPACE, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS, osv.

PowerfulSeal

PowerfulSeal er et åpen kildekode verktøy for kaosteknikk skrevet i Python for Kubernetes-klynger.

Kaosteknikk brukes for å teste systemets robusthet og evne til å håndtere problematiske situasjoner i produksjon. PowerfulSeal injiserer feil i Kubernetes-klyngen for å identifisere problemer så tidlig som mulig.

Verktøyet er inspirert av Netflix Chaos Monkey og brukes til å forbedre Kubernetes motstandskraft. Med PowerfulSeal forsøker ingeniører bevisst å bryte deler av klyngen for å sjekke hvordan systemet reagerer.

PowerfulSeal fungerer i tre moduser: autonom, interaktiv og etikett.

I autonom modus kjører verktøyet scenarier ved å lese en policyfil. I interaktiv modus forteller verktøyet om klyngekomponenter som du prøver å bryte manuelt. I etikettmodus kan du drepe målrettede objekter i klyngen, som pods, ved hjelp av etiketter.

Popeye

Popeye er et rengjøringsverktøy for Kubernetes-klynger.

Popeye skanner hele klyngen og rapporterer tilbake med problemer knyttet til konfigurasjoner og ressurser. Det hjelper deg med å følge beste praksis for Kubernetes-klynger.

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

Oppsummering

DevOps-verktøy er viktig for suksess, og jeg håper denne artikkelen hjelper deg med å administrere Kubernetes bedre.