Hvordan bruke Linux Sysctls i Kubernetes

Hvordan bruke Linux Sysctls i Kubernetes

Dette innlegget vil diskutere hva Linux Sysctl er i Kubernetes og hvordan det kan brukes i en klynge av Kubernetes. SYSCTL er et grensesnitt i Linux -operativsystemet som gjør at administratoren kan endre parametrene til kjernen ved kjøretid. Her vil vi demonstrere hvordan du bruker Linux Sysctls i Kubernetes -plattformen. Vi vil demonstrere et enkelt eksempel for å hjelpe deg med å forstå hva slags output du kan forvente når du implementerer Kubectl -kommandoene for bruk.

Hva er sysctls?

SYSCTLS er et grensesnitt i Linux som brukes til å justere kjerneparametere ved kjøretid for navneområdet i en beholder. Disse parametrene finner du i/proc/sys/virtuell prosessfil, og de dekker forskjellige delsystemer som virtuelt minne, nettverk, kjerne osv. Bare navneområder kan sett. Nodenivået SYSCTL -er som ikke er navnefelt, må settes med annen metode for SYSCTLS -innstilling som Node Tuning Operator. Dessuten er det bare sikre SYSCTL -er som er hvitlistet som standard, mens de usikre SYSCTL -ene må aktiveres manuelt på noden slik at de kan være tilgjengelige for brukeren. La oss nå forstå hvordan vi bruker Linux Sysctls i Kubernetes.

Forutsetninger

Før du begynner å lære å bruke Linux Sysctls i Kubernetes, må du sørge for at du har følgende verktøy installert i systemet ditt:

    • Kubernetes versjon 1.23 eller noen annen siste versjon
    • Ubuntu 20.04 eller noen annen siste versjon
    • SYSCTLS for POD -støtte
    • Kubectl kommandolinjeverktøy
    • Minikube Cluster

Forutsatt at systemet ditt oppfyller de forutsetningsbehovene, flytter vi til implementeringsdelen.

Hvordan bruke Linux Sysctls i Kubernetes?

Linux -operativsystem er en plattform som lar deg stille inn kjernene via SYSCTLS -knotter i nettverksstabelen. Noen av SYSCTL -ene er navnefelt for en pod med sin egen konfigurasjon, mens andre er gyldige for hele systemet. Kubernetes har gruppert SYSCTLS -grensesnittet i to kategorier:

    • Navneområder vs nod-nivå sysctls
    • Trygt vs usikre sysctls

Navneområder vs node-level sysctls:

I Linux -kjernen er de fleste av SYSCTL -ene navnefelt som gjør at du kan stille dem uavhengig mellom forskjellige belg på en node. Navnepaced sysctls er lett tilgjengelige i en Kubernetes -pod. Noen av de navnefargede SYSCTL -ene er som følger:

    • fs.mqueue.*
    • kjerne .msg*
    • kjerne.SHM*
    • kjerne.Sem

Nodenivået SYSCTL -er er ikke navnefelt, og klyngeadministratoren må stille dem manuelt. Klyngeadministratoren bruker enten et demonsett med en privilegert beholder eller kan endre /etc /sysctls.Conf Nodes Linux -distribusjon. Nodeinnstillingsoperatøren kan også brukes til å stille inn nodenivå SYSCTLS.

Safe vs utrygge sysctls:

Det er to grupper av SYSCTL -er: trygge og utrygge. Safe SYSCTL -er er riktig navnefelt, og de er helt isolert i belgene på samme node. Safe SYSCTL -er er aktivert som standard og kan brukes i en pod ved å endre POD -spesifikasjonen. Imidlertid er de usikre SYSCTL -er deaktivert som standard, og de må aktiveres manuelt av klyngeadministratoren. Safe SYSCTL -ene påvirker ikke naboene siden de er riktig navnefelt. Mens de utrygge SYSCTL -ene uventet kan påvirke naboene som overbelastning av et system. Det sikre settet med SYSCTLS er som følger:

    • nett.IPv4.ping_group_range
    • nett.IPv4.IP_LOCAL_PORT_RANGE
    • kjerne.SHM_RMID_FORCED
    • nett.IPv4.TCP_SYNCOOKIES

Poenget som her skal bemerkes er at bare å være navnefelt alene ikke er nok til at SYSCTL kan antas trygt.

Nå som vi har forstått både kategoriene av SYSCTL -er, la oss gå videre for å lære å bruke disse sysctls i Kubernetes. Her vil vi veilede deg om hvordan du bruker både trygge og utrygge SYSCTL -er og hvordan du manuelt kan aktivere usikre SYSCTL -er i Kubernetes.

Trinn 1: Start Minikube -klyngen

Kubernetes -plattformen kan brukes via noen klynger, og vi bruker Minikube -klyngen her. For å starte Minikube -klyngen, kan du bruke kommandoen gitt nedenfor:

> Minikube Start


Dette vil starte Minikube -klyngen der du kan kjøre Kubectl -kommandoene og bruke Linux Sysctls i Kubernetes -plattformen. Når du utfører denne kommandoen, vil du få en lignende utdata som den som er gitt nedenfor:

Trinn 2: Sjekk parametrene til SYSCTLS

SYSCTLS -grensesnittet brukes til å endre kjerneparametrene som finnes i/proc/sys/virtuelle prosessfil. For å liste opp alle parametrene, kan kommandoen gitt nedenfor brukes:

> sudo sysctl -a


Denne kommandoen vil liste opp alle kjerneparametrene fra/proc/sys/virtuell prosessfil. Se prøveutgangen gitt i øyeblikksbildet nedenfor:

Trinn 3: Aktiver utrygge sysctls

De usikre SYSCTL -ene må aktiveres manuelt fordi de er deaktivert som standard. Klyngeadministratoren aktiverer de utrygge SYSCTL-ene per node-basis. Pods som har deaktivert usikre SYSCTL -er kan ikke lanseres, men bare er planlagt. Det er noen spesifikke forhold (som innstilling av kjøretid, høy ytelse osv.) Når klyngeadministratoren kan tillate utrygge sysctls. For å aktivere de utrygge SYSCTL-ene på en node-for-node-basis, kan du bruke KUBECTL-kommandoen gitt nedenfor:

> KUBECTL-ALLOWED-UNSAFE-SYSCTLS \


Dette er en veldig grunnleggende og enkel måte å aktivere utrygge SYSCTL -er ved å bruke KUBECTL -kommandoen.


Dessuten kan utrygge SYSCTL-er aktiveres ved å bruke Minikube Extra-Config Flag. Dette kan gjøres ved hjelp av kommandoen gitt nedenfor:

> Minikube Start -Extra -Config = ”Kubectl.tillatt-unsafe-SysCTLS = kjerne.msg*, nett.kjerne.Somaxconn ”..


Denne kommandoen lar deg aktivere usikre sysctls via Minikube -klyngen. Imidlertid kan det bare muliggjøre navneområdet SYSCTL -er. Se prøveutgangen gitt i øyeblikksbildet nedenfor:

Konklusjon

Denne artikkelen ga oss en oversikt over Linux SYSCTLS -grensesnittet. Vi diskuterte hva en Linux Sysctl er og hvordan den kan brukes i Kubernetes -miljøet. Det er to grupper av SYSCTL -er: er trygge og utrygge. Safe Group of SYSCTLS er aktivert som standard, mens den usikre SYSCTLS -gruppen er deaktivert som standard. Ved hjelp av et enkelt og enkelt eksempel lærte vi hvordan vi kan aktivere de utrygge SYSCTL -ene ved å bruke KUBECTL -kommandoen og Minikube -Extra -Config Flag.