Els límits de recursos són una part important de l'orquestració de contenidors de Kubernetes, ja que garanteixen que els contenidors no consumeixin massa recursos o que no responguin a causa de l'esgotament dels recursos. Aquest article ofereix una guia sobre com establir els límits dels recursos del contenidor de Kubernetes per maximitzar els seus beneficis i treure el màxim profit de les vostres aplicacions. Apreneu a configurar i gestionar els vostres recursos de contenidors de manera ràpida i senzilla amb només uns quants passos senzills perquè pugueu assegurar-vos que tots els vostres serveis funcionen sense problemes.
Estableix els límits de recursos del contenidor a Kubernetes
Els límits de recursos dels contenidors són un element essencial de Kubernetes, que permeten als usuaris gestionar el nombre de recursos que pot consumir un contenidor. Per evitar la sobrecàrrega i garantir el rendiment d'una aplicació, això és especialment crucial en contextos de producció. Aquests són alguns consells professionals per establir els límits de recursos del contenidor:
Comenceu determinant els recursos que necessiten els vostres contenidors. Analitzeu l'ús del vostre sistema i determineu quins contenidors haurien d'ajustar els límits de memòria i CPU. També és important tenir en compte els nodes subjacents a l'hora d'establir els límits de recursos: si estableixes un límit massa alt o massa baix, és possible que el node no pugui executar les altres aplicacions sense fallar. A continuació, decidiu quin tipus de límit voleu utilitzar: explosiu o no. Ara, vegem els passos necessaris que podeu seguir per establir els límits dels recursos del contenidor de Kubernetes. Abans d'anar cap als passos, hi ha alguns requisits previs necessaris:
Requisits previs
Abans de passar als passos, assegurem-nos que el nostre sistema compleix totes les necessitats dels requisits previs. Assegureu-vos que teniu Ubuntu 20.04 o qualsevol altra versió més recent per tenir un entorn Linux/Unix per funcionar, un clúster de Kubernetes, una CLI de Kubectl per utilitzar les ordres de kubectl, la comunicació del clúster, gestionar l'entorn de desenvolupament i minikube o qualsevol altre parc infantil de Kubernetes per crear el clústers. Instal·leu aquestes eines si encara no les heu instal·lat abans de passar a la secció següent. Ara, passem a la guia pas a pas sobre com establir els límits dels recursos del contenidor de Kubernetes.
Com establir els límits de recursos de Kubernetes
Establir els límits de recursos del contenidor de Kubernetes és una part important de la gestió i el manteniment dels clústers de Kubernetes. Tenir un límit de recursos adequat garanteix que cada contenidor funcioni de manera òptima, sense comprometre el rendiment d'altres contenidors o de tot el clúster. Això es pot fer establint les sol·licituds de recursos i els límits per a la CPU, la memòria, l'emmagatzematge efímer i molt més. A continuació s'explica com establir correctament els límits dels recursos del contenidor de Kubernetes.
Pas 1: inicieu el Minikube
El clúster Minikube ha d'estar en un estat actiu perquè hi pugueu executar les vostres aplicacions o ordres. Per assegurar-vos que està en funcionament i funciona correctament, utilitzeu la següent comanda donada:
> iniciar minikube
Pas 2: habiliteu el servidor de mètriques
En aquest pas, compartim l'ordre que us permet habilitar el servidor de mètriques. L'ordre es dóna a la següent:
> complements de minikube habilitar servidor de mètriques
Pas 3: comproveu si el servidor de mètriques està actiu o no
Escriviu l'ordre següent per comprovar si el servidor de mètriques està actiu o no:
> kubectl obtenir apiservices
Com es veu a la imatge anterior, conté una referència a metrics.k8s.io en cas que l'API de mètriques de recursos sigui accessible.
Pas 4: creeu un espai de noms
Per conservar els recursos, creeu un espai de noms per a aquest exercici que sigui independent de la resta del vostre clúster. Ara demostrem com crear un espai de noms. L'ordre que s'executa es dóna de la següent manera:
> kubectl crea un espai de noms ABC
Pas 5: creeu un fitxer de configuració
El fitxer de configuració YAML que fem servir per construir un pod al contenidor es crea en aquest pas. Aquí teniu l'ordre que s'utilitza per aconseguir-ho:
> nano reqlimit.yamlAquí, heu d'incloure una sol·licitud de CPU juntament amb un límit de CPU. Inclou els recursos:limits per definir un límit de CPU. En aquest cas, es crea un Pod amb un únic contenidor. El contenidor té un límit de sol·licitud de 0,5 CPU i un màxim d'1 CPU. El fitxer de configuració del pod està disponible aquí. Com podeu veure, la secció args del fitxer de configuració conté els arguments que fa servir el contenidor quan s'inicia. Es demana al contenidor que intenti utilitzar les 2 CPU mitjançant el paràmetre -cpus '2'.
Quan es creen recursos a Kubernetes, com ara desplegaments i pods, és important especificar el nombre mínim de recursos necessaris (sol·licitud) i el nombre màxim de recursos permesos (límit) per a cada pod o desplegament. Això impedeix que qualsevol pod consumeixi massa recursos, cosa que podria provocar que els altres pods actius pateixin el rendiment reduït o fins i tot s'interrompin a causa de la manca de recursos disponibles al clúster.
Pas 6: creeu un pod
Ara, us mostrem com crear el pod amb l'ordre següent:
> kubectl crear -f reqlimit.yaml
A partir de la sortida anterior, podeu notar que es crea el pod anomenat 'cpu-demo'.
Pas 7: verifiqueu el pod
En aquest pas, comprovem si el pod creat està actiu o no amb l'ordre següent:
> kubectl obtenir pod cpu-demo --espai de noms = abc
Pas 8: visualitzeu els detalls del pod
Ara, si voleu veure la informació detallada sobre el pod, aquí teniu l'ordre que s'ha d'executar:
> kubectl obtenir pod cpu-demo --sortida =yaml --espai de noms = abc
Pas 9: suprimiu el pod
Aquí, mostrarem com esborrar el pod per netejar els recursos. L'ordre que s'utilitza per a aquest propòsit és la següent:
> kubectl elimina pod cpu-demo --espai de noms = abc
Pas 10: creeu un fitxer de configuració
En aquest pas, creem un fitxer de configuració. Aquest fitxer especifica una sol·licitud de CPU que és bastant gran per als vostres nodes.
> nano reqlimit2El fitxer de configuració amb un únic contenidor es pot trobar aquí. El contenidor demana 100 CPU, més que qualsevol node que el vostre clúster pugui proporcionar raonablement.
Pas 11: Cre a te el Pod
En aquest pas, creem el pod amb l'ordre següent:
> kubectl crear -f reqlimit2.yaml
Pas 12: visualitzeu l'estat del pod
Ara, podeu veure el st a tus del pod amb l'ordre que s'adjunta aquí:
La sortida mostra que l'estat del pod és Pendent.
Pas 13: consulteu la informació del pod
Ara, veiem la informació detallada sobre el Pod, inclosos els esdeveniments amb l'ordre donada aquí:
Aneu a la secció d'esdeveniments i comproveu si el contenidor està programat o no.
Si no es pot programar i el motiu són recursos de CPU insuficients, podeu suprimir el node. Com eliminar un node s'explica al pas següent.
Pas 14: Suprimeix el node
Podeu suprimir el node amb l'ordre següent:
> kubectl suprimeix pod cpu-demo- 2 --espai de noms = abc
Quin és l'impacte dels límits de recursos dels contenidors en el rendiment?
Amb la creixent popularitat de la tecnologia de contenidors de Kubernetes, és important entendre com els límits de recursos poden afectar el rendiment. Establir els límits de recursos dins d'un contenidor de Kubernetes us pot ajudar a assegurar-vos que les vostres aplicacions s'executen al nivell òptim i que no consumeixen massa recursos del servidor amfitrió. En limitar els recursos, podeu evitar el malbaratament de processos redundants, ajudar a evitar fallades del sistema a causa de la utilització i optimitzar el rendiment dels vostres contenidors.
Per establir aquests límits de recursos en un contenidor de Kubernetes, heu d'utilitzar una eina anomenada cgroups (grups de control). Els grups C permeten als administradors limitar els recursos com ara els cicles de la CPU o l'ús de memòria per a contenidors individuals. També podeu establir altres paràmetres, com ara la mida màxima dels fitxers o l'ús d'amplada de banda de xarxa per contenidor.
Conclusió
Establir els límits de recursos dels contenidors de Kubernetes és una part crucial de la gestió del vostre entorn informàtic al núvol. Amb la configuració adequada, podeu assegurar-vos que cada contenidor tingui accés als recursos que necessita, però no tant que afecti altres contenidors o sistemes. Això permet un ús més eficient i rendible dels recursos informàtics. A més, limitant la quantitat de memòria o CPU que pot consumir un contenidor, podeu evitar que es produeixin les interrupcions a causa de processos fugitius o pics d'ús inesperats.