AllInfo

Hoe u uw Kubernetes-manifesten kunt pluizen met Kube-Score

Kube-Score is een statische analysetool van Kubernetes die uw bronnen gebruikt om te identificeren veiligheids- en betrouwbaarheidsproblemen. Door Kube-Score uit te voeren voordat u manifesten op uw cluster toepast, kunt u pijnpunten identificeren voordat ze echte problemen worden.

Aan de slag

Kube-Score wordt aangeboden in verschillende installatieformaten. Vooraf gebouwde binaire bestanden zijn beschikbaar voor Windows, macOS en Linux vanaf GitHub. Als alternatief kunt u de Brew-pakketbeheerder op macOS gebruiken (brew install kube-score/tap/kube-score), of Kube-Score toevoegen als een kubectl-plug-in (kubectl krew install score).

Kube uitvoeren -Score met behulp van de opdracht kube-score in uw terminal. Het accepteert het pad naar een Kubernetes YAML-manifestbestand. Jokertekens worden ondersteund om meerdere overeenkomende bestanden en hele mappen te scannen.

Kube-Score werkt ook met manifesten die zijn doorgesluisd vanuit standaardinvoer. Hiermee kunt u het hulpprogramma uitvoeren op een live Kubernetes-cluster. Gebruik kubectl om toegang te krijgen tot het manifest van een bron en pijp het in de opdracht. Dit is de aanbevolen manier om uw hele cluster te analyseren:

kubectl api-resources –verbs=list –namespaced -o name | xargs -n1 -I{} bash -c “kubectl get {} –all-namespaces -oyaml && echo —” | kube-score score –

Dit mechanisme vergemakkelijkt ook het gebruik met Helm-diagrammen. Gebruik de opdracht roersjabloon om uw grafiek weer te geven als een normaal Kubernetes-manifest. Pipetteer deze uitvoer naar kube-score:

helm template example-manifest | kube-score score –

Advertentie

Gekleurde testresultaten worden rechtstreeks naar uw terminal verzonden. Elke mislukte controle bevat een beschrijving van de test en suggesties voor mogelijke oplossingen. Bekijk de output om manieren te vinden om uw manifesten te verbeteren.

Tests worden gemarkeerd als WAARSCHUWING of KRITIEK. Een kritieke storing vereist meestal onmiddellijke herstel. Afhankelijk van uw specifieke situatie hoeven waarschuwingen mogelijk niet te worden opgelost.

Voor mensen leesbare uitvoer kan worden uitgeschakeld met de vlag –output-format. Stel dit in op json of ci om machineleesbare inhoud te krijgen die gemakkelijk door andere tools kan worden geparseerd. Het ci-formaat is bedoeld om het verbruik door CI/CD-systemen te vergemakkelijken, terwijl json u een JSON-representatie geeft van de reguliere console-uitvoer. Kube-Score wordt altijd afgesloten met een statuscode van 1 wanneer fouten worden gedetecteerd.

Als je met Kube-Score wilt experimenteren, kun je de live-analysator op de website van het project gebruiken. Hiermee kunt u een manifest schrijven en de scanresultaten in realtime bekijken. Het is handig als je snel aan het experimenteren bent met Kube-Score of je manifesten.

Wat controleert Kube-Score?< /h2>

Kube-Score voert meer dan 20 verschillende controles uit die een breed scala aan beveiligings- en betrouwbaarheidsproblemen dekken. Deze omvatten tests voor de juiste limieten voor containerresources, correct gebruik van in- en uitgangsroutes en configuratie van gereedheidstests voor containers voor statuscontroles.

Hier zijn enkele van de ingebouwde regels:

Raadpleeg de Kube-Score README voor een uitputtende lijst van beschikbare cheques. In veel gevallen is de standaardset voldoende om u inzicht te geven in de meest voorkomende manifestproblemen.

Optionele regels

Sommige regels zijn optioneel en standaard uitgeschakeld. Dit zijn over het algemeen subjectieve gevallen die onverwachte fouten kunnen veroorzaken als ze wereldwijd worden afgedwongen.

Advertentie

Optionele tests worden ingeschakeld door de vlag –enable-optionele-test door te geven aan de opdracht kube-score. Er is een test-ID nodig om aan de scan toe te voegen. Meerdere optionele tests worden geactiveerd door de vlag te herhalen.

kube-score –enable-optionele-test container-security-context-user-group-id

Deze opdracht voert Kube-Score uit met een extra test voor expliciete gebruikers- en groeps-ID's. De controle mislukt als een Pod wordt uitgevoerd zonder handmatig ingestelde gebruikers-/groeps-ID's van 1.000 of meer.

U kunt tests op een vergelijkbare manier uitschakelen met de vlag –ignore-test. Hiervoor is een test-ID nodig om uit de scan te verwijderen. Bovendien verhinderen de vlaggen –ignore-container-cpu-limit en –ignore-container-memory-limit Kube-Score's gebruikelijke eis dat elke container handmatig geconfigureerde CPU- en geheugenlimieten heeft.

< h2 id="managing-kubernetes-versions">Kubernetes-versies beheren

Kube-Score gaat er momenteel van uit dat je Kubernetes v1.18 gebruikt. Als u een andere versie gebruikt, geeft u deze op met de vlag –kubernetes-version. Dit informeert Kube-Score welke controles daadwerkelijk relevant zijn voor uw implementatieomgeving. Het niet specificeren van de juiste versie kan resulteren in valse positieven of negatieven, waardoor u een onnauwkeurig beeld krijgt van de veerkracht van uw cluster.

Kube-Score verwacht dat uw individuele resources stabiele Kubernetes API's gebruiken. Alle bronnen die verwijzen naar bèta-API's die zijn vervangen door een stabiele versie, zullen de test niet doorstaan.

Samenvatting

Kube-Score biedt eenvoudige statische analyse voor Kubernetes-bronmanifesten. Hiermee kunt u meer te weten komen over mogelijke problemen voordat u probeert te implementeren in uw cluster. Door Kube-Score als onderdeel van uw CI-pipeline uit te voeren, kunt u erop vertrouwen dat uw resources correct zijn geconfigureerd en dat uw cluster betrouwbaar zal werken.

Advertentie

Voor de beste resultaten voert u Kube-Score al uw resources in. Het is het meest effectief wanneer de invoer alle bronnen in dezelfde naamruimte bevat. Anders zou je kunnen ontdekken dat sommige problemen over het hoofd worden gezien als ze verschijnen vanwege een conflict met een ander manifest.

Onthoud dat Kube-Score geen uitputtende analyse van je cluster is. Het is een hulpmiddel, geen complete checklist die een waterdichte cluster garandeert. U moet uw omgeving nog steeds onafhankelijk controleren om een ​​sterke beveiliging en topprestaties te behouden. Kube-Score kan het beste worden gebruikt als een dagelijks hulpprogramma dat de veiligheid van individuele implementaties verhoogt.

Exit mobile version