{"id":82920,"date":"2020-05-26T13:42:37","date_gmt":"2020-05-26T11:42:37","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov"},"modified":"2020-05-26T13:42:37","modified_gmt":"2020-05-26T11:42:37","slug":"luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","title":{"rendered":"Mejores pr\u00e1cticas de Kubernetes. Configuraci\u00f3n de solicitudes y l\u00edmites de recursos","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502052\/\">Mejores pr\u00e1cticas de Kubernetes. Creaci\u00f3n de contenedores peque\u00f1os<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">Mejores pr\u00e1cticas de Kubernetes. Organizaci\u00f3n de Kubernetes con el espacio de nombres<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502430\/\">Mejores pr\u00e1cticas de Kubernetes. Verificaci\u00f3n de la viabilidad de Kubernetes mediante pruebas de Readiness y Liveness.<\/a><\/noindex><\/p>\n<p>Para cada recurso de Kubernetes, hay dos tipos de requisitos que se pueden configurar: Requests y Limits. El primero describe los requisitos m\u00ednimos para la disponibilidad de recursos libres en un nodo, necesarios para ejecutar un contenedor o pod, mientras que el segundo limita estrictamente los recursos disponibles para el contenedor. <\/p>\n<p>Cuando Kubernetes planifica un pod, es muy importante que los contenedores tengan suficientes recursos para funcionar correctamente. Si planeas desplegar una aplicaci\u00f3n grande en un nodo con recursos limitados, es muy probable que no funcione debido a que el nodo se queda sin memoria o no tiene suficiente potencia de CPU. En este art\u00edculo, analizaremos c\u00f3mo resolver los problemas de falta de capacidad computacional a trav\u00e9s de solicitudes de recursos y l\u00edmites.<\/p>\n<p>Las solicitudes Requests y los l\u00edmites Limits son mecanismos que Kubernetes utiliza para gestionar recursos como, por ejemplo, CPU y memoria. Requests es lo que garantiza que un contenedor reciba el recurso solicitado. Si un contenedor solicita un recurso, Kubernetes lo programar\u00e1 solo en el nodo que pueda proporcionarlo. Los l\u00edmites Limits controlan que los recursos solicitados por el contenedor nunca superen un valor determinado.<\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Configuraci\u00f3n de solicitudes y l\u00edmites de recursos\" src=\"\/wp-content\/uploads\/2020\/05\/047fc1c3dddef1f33be78616ad70d62f.png\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Un contenedor solo puede aumentar su capacidad de c\u00e1lculo hasta un cierto l\u00edmite, despu\u00e9s del cual estar\u00e1 restringido. Veamos c\u00f3mo funciona esto. As\u00ed que hay dos tipos de recursos: CPU y memoria. El programador de Kubernetes utiliza datos sobre estos recursos para determinar d\u00f3nde ejecutar tus pods. Una especificaci\u00f3n t\u00edpica de recursos para un pod se ve as\u00ed.<\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Configuraci\u00f3n de solicitudes y l\u00edmites de recursos\" src=\"\/wp-content\/uploads\/2020\/05\/84f1212f7098d25273217d4218d661f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCada contenedor en un pod puede establecer sus propias solicitudes y l\u00edmites, todo de manera aditiva. Los recursos de CPU se definen en milicoros. Si su contenedor necesita dos n\u00facleos completos para ejecutarse, establece un valor de 2000m. Si el contenedor solo requiere 1\/4 de n\u00facleo, el valor ser\u00e1 250m. Tenga en cuenta que si asigna un valor de recursos de CPU mayor que el n\u00famero de n\u00facleos del nodo m\u00e1s grande, la ejecuci\u00f3n de su pod no ser\u00e1 programada en absoluto. Una situaci\u00f3n similar ocurrir\u00e1 si tiene un pod que necesita cuatro n\u00facleos y el cl\u00faster de Kubernetes consta de solo dos m\u00e1quinas virtuales principales.<\/p>\n<p>A menos que su aplicaci\u00f3n est\u00e9 dise\u00f1ada espec\u00edficamente para aprovechar los beneficios de m\u00faltiples n\u00facleos (programas como c\u00e1lculos cient\u00edficos complejos y operaciones con bases de datos vienen a la mente), la mejor pr\u00e1ctica es establecer las solicitudes de CPU en 1 o menos y luego ejecutar un mayor n\u00famero de r\u00e9plicas para escalabilidad. Esta decisi\u00f3n proporcionar\u00e1 mayor flexibilidad y confiabilidad al sistema.<\/p>\n<p>Cuando se trata de las limitaciones de CPU, las cosas se ponen m\u00e1s interesantes, ya que se considera un recurso comprimible. Si su aplicaci\u00f3n comienza a acercarse al l\u00edmite de capacidad de CPU, Kubernetes comenzar\u00e1 a estrangular su contenedor usando CPU Throttling, que reduce la frecuencia de la CPU. Esto significa que la CPU ser\u00e1 artificialmente limitada, proporcionando a la aplicaci\u00f3n un rendimiento potencialmente peor, sin embargo, el proceso no ser\u00e1 detenido ni expulsado. <\/p>\n<p>Los recursos de memoria se definen en bytes. Generalmente, el valor en la configuraci\u00f3n se mide en mebibytes (Mib), pero puede establecer cualquier valor, desde bytes hasta petabytes. Aqu\u00ed se presenta la misma situaci\u00f3n que con la CPU: si env\u00eda una solicitud por m\u00e1s cantidad de memoria de la que hay en sus nodos, la ejecuci\u00f3n de este pod no ser\u00e1 programada. Pero a diferencia de los recursos de CPU, la memoria no se puede comprimir porque no hay forma de limitar su uso. Por lo tanto, la ejecuci\u00f3n del contenedor se detendr\u00e1 tan pronto como exceda la memoria asignada.<\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Configuraci\u00f3n de solicitudes y l\u00edmites de recursos\" src=\"\/wp-content\/uploads\/2020\/05\/a2b372ad9de7e065b435dae87ee62708.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEs importante recordar que no puedes configurar solicitudes que superen el tama\u00f1o de los recursos que pueden proporcionar tus nodos. Las caracter\u00edsticas de los recursos compartidos para las m\u00e1quinas virtuales de GKE se pueden encontrar en los enlaces colocados debajo de este video.<\/p>\n<p>En un mundo ideal, la configuraci\u00f3n del contenedor por defecto ser\u00eda m\u00e1s que suficiente para que los flujos de trabajo funcionaran sin problemas. Pero el mundo real no es as\u00ed, las personas pueden f\u00e1cilmente olvidar ajustar el uso de recursos o los hackers pueden establecer solicitudes y l\u00edmites que superen las capacidades reales de la infraestructura. Para evitar el desarrollo de tales escenarios, se pueden configurar cuotas de recursos ResourceQuota y rangos de l\u00edmites LimitRange.<\/p>\n<p>Despu\u00e9s de crear un espacio de nombres, se pueden bloquear con cuotas. Por ejemplo, si tienes espacios de nombres prod y dev, se utiliza una plantilla donde las cuotas de producci\u00f3n est\u00e1n completamente ausentes, mientras que las cuotas de desarrollo son muy estrictas. Esto permite que prod, en caso de un repentino aumento de tr\u00e1fico, tome todos los recursos disponibles, bloqueando completamente a dev.<\/p>\n<p>La cuota de recursos puede verse de esta manera. En este ejemplo, hay 4 secciones: son 4 l\u00edneas de c\u00f3digo en la parte inferior.<\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Configuraci\u00f3n de solicitudes y l\u00edmites de recursos\" src=\"\/wp-content\/uploads\/2020\/05\/569f4ddde6ad46c707e91cc05947fc6b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVeamos cada una de ellas. Requests.cpu es la cantidad m\u00e1xima combinada de solicitudes de potencia de CPU que pueden provenir de todos los contenedores del espacio de nombres. En este ejemplo, puedes tener 50 contenedores con solicitudes de 10m, cinco contenedores con solicitudes de 100m o simplemente un contenedor con una solicitud de 500m. Mientras el total de requests.cpu de este espacio de nombres sea inferior a 500m, todo estar\u00e1 bien.<\/p>\n<p>La memoria solicitada requests.memory es la cantidad m\u00e1xima combinada de solicitudes de memoria que pueden tener todos los contenedores en el espacio de nombres. Al igual que en el caso anterior, puedes tener 50 contenedores de 2 MiB, cinco contenedores de 20 MiB o un \u00fanico contenedor de 100 MiB, siempre que el total de memoria solicitada en el espacio de nombres sea inferior a 100 mebibytes.<\/p>\n<p>Limits.cpu es el valor combinado m\u00e1ximo de potencia de CPU que pueden utilizar todos los contenedores en el espacio de nombres. Se puede considerar como el l\u00edmite de las solicitudes de potencia de CPU.<\/p>\n<p>Finalmente, limits.memory es la cantidad m\u00e1xima de memoria total que pueden usar todos los contenedores en el espacio de nombres. Esta es una limitaci\u00f3n de las solicitudes de memoria sumadas.<br \/>\nPor defecto, los contenedores en un cl\u00faster de Kubernetes funcionan con recursos de computaci\u00f3n ilimitados. A trav\u00e9s de las cuotas de recursos, los administradores del cl\u00faster pueden restringir el consumo y creaci\u00f3n de recursos bas\u00e1ndose en el espacio de nombres. En un espacio de nombres, un pod o contenedor puede consumir tanto poder de CPU y memoria como est\u00e9 definido por la cuota de recursos del espacio de nombres. Sin embargo, existe la preocupaci\u00f3n de que un pod o contenedor pueda monopolizar todos los recursos disponibles. Para prevenir esta situaci\u00f3n, se utiliza el rango l\u00edmite Limit Range, una pol\u00edtica de restricci\u00f3n de distribuci\u00f3n de recursos (para pods o contenedores) en el espacio de nombres.<\/p>\n<p>El rango l\u00edmite proporciona restricciones que pueden:<\/p>\n<ul>\n<li>asegurar el uso m\u00ednimo y m\u00e1ximo de recursos de computaci\u00f3n para cada pod o contenedor en el espacio de nombres;<\/li>\n<li>forzar un m\u00ednimo y m\u00e1ximo de solicitud de almacenamiento Storage Request para cada PersistentVolumeClaim en el espacio de nombres;<\/li>\n<li>forzar la relaci\u00f3n entre la solicitud Request y la limitaci\u00f3n Limit para el recurso en el espacio de nombres;<\/li>\n<li>establecer Requests\/Limits por defecto para los recursos de computaci\u00f3n en el espacio de nombres y aplicarlos autom\u00e1ticamente a los contenedores en tiempo de ejecuci\u00f3n.<\/li>\n<\/ul>\n<p>\nPor lo tanto, puedes crear un rango l\u00edmite en tu espacio de nombres. A diferencia de las cuotas, que se aplican a todo el espacio de nombres, el Limit Range se utiliza para contenedores individuales. Esto puede evitar que los usuarios creen contenedores min\u00fasculos o, por el contrario, gigantescos dentro del espacio de nombres. El rango l\u00edmite Limit Range podr\u00eda verse as\u00ed. <\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Configuraci\u00f3n de solicitudes y l\u00edmites de recursos\" src=\"\/wp-content\/uploads\/2020\/05\/3fb358788910ca21e267a887032cdf1a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nComo en el caso anterior, aqu\u00ed se pueden distinguir 4 secciones. Vamos a analizar cada una.<br \/>\nEn la secci\u00f3n default se establecen las restricciones por defecto para el contenedor en el pod. Si defines estos valores en el rango l\u00edmite, entonces cualquier contenedor para el cual estos valores no se hayan establecido expl\u00edcitamente se regir\u00e1 por los valores por defecto.<\/p>\n<p>En la secci\u00f3n de solicitud por defecto defaultRequest, se configuran las solicitudes por defecto para el contenedor en el pod. Nuevamente, si establece estos valores dentro del rango l\u00edmite, cualquier contenedor para el cual estos par\u00e1metros no est\u00e9n expl\u00edcitamente definidos utilizar\u00e1 estos valores por defecto.<\/p>\n<p>En la secci\u00f3n max se indican los l\u00edmites m\u00e1ximos que se pueden establecer para el contenedor en el pod. Los valores en la secci\u00f3n default y las restricciones para el contenedor no pueden ser establecidos por encima de este l\u00edmite. Es importante se\u00f1alar que si se establece un valor max y la secci\u00f3n default no est\u00e1 presente, el valor m\u00e1ximo se convierte en el valor por defecto.<\/p>\n<p>En la secci\u00f3n min se indican las solicitudes m\u00ednimas que se pueden establecer para el contenedor en el pod. Adem\u00e1s, los valores en la secci\u00f3n default y las solicitudes para el contenedor no pueden ser establecidos por debajo de este l\u00edmite.<\/p>\n<p>Nuevamente, es importante se\u00f1alar que si este valor est\u00e1 establecido y el valor default no lo est\u00e1, el valor m\u00ednimo se convierte en la solicitud por defecto.<\/p>\n<p>En \u00faltima instancia, estas solicitudes de recursos son utilizadas por el programador de Kubernetes para ejecutar sus cargas de trabajo. Para que pueda configurar correctamente sus contenedores, es fundamental comprender c\u00f3mo funciona esto. Supongamos que desea ejecutar varios m\u00f3dulos en su cl\u00faster. Suponiendo que las especificaciones del pod son v\u00e1lidas, se utilizar\u00e1 un balanceo c\u00edclico en la programaci\u00f3n de Kubernetes para seleccionar un nodo para ejecutar la carga de trabajo.<\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Configuraci\u00f3n de solicitudes y l\u00edmites de recursos\" src=\"\/wp-content\/uploads\/2020\/05\/29abd097fc0158dfbb585c4617036ccf.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKubernetes verificar\u00e1 si hay suficientes recursos en el nodo Node 1 para satisfacer las solicitudes de los contenedores del pod, y si no es as\u00ed, pasar\u00e1 al siguiente nodo. Si ninguno de los nodos en el sistema puede satisfacer las solicitudes, los pods pasar\u00e1n al estado de espera Pending state. Con funciones como el escalado autom\u00e1tico de nodos en Google Kubernetes Engine, GKE puede determinar autom\u00e1ticamente el estado de espera y crear algunos nodos adicionales. <\/p>\n<p>Si posteriormente hay un exceso de capacidad en los nodos, la funci\u00f3n de escalado autom\u00e1tico reducir\u00e1 su n\u00famero para ahorrarle dinero. Por eso Kubernetes programa los pods en funci\u00f3n de las solicitudes. Sin embargo, el l\u00edmite puede ser mayor que las solicitudes, y en algunos casos, un nodo puede agotar realmente sus recursos. Llamamos a ese estado overcommitment state.<\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Configuraci\u00f3n de solicitudes y l\u00edmites de recursos\" src=\"\/wp-content\/uploads\/2020\/05\/995c906880f09734c4765519f1f2465d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nComo ya mencion\u00e9, cuando se trata de procesadores, Kubernetes comenzar\u00e1 a limitar los pods. Cada pod obtendr\u00e1 tanto como solicit\u00f3, pero si no alcanza el l\u00edmite, comenzar\u00e1 a aplicarse el throttling. <\/p>\n<p>En cuanto a los recursos de memoria, Kubernetes se ve obligado a tomar decisiones sobre qu\u00e9 pods eliminar y cu\u00e1les conservar, hasta que libere recursos del sistema; de lo contrario, todo el sistema colapsar\u00e1.<\/p>\n<p>Imaginemos un escenario en el que tiene una m\u00e1quina que ha agotado el l\u00edmite de memoria: \u00bfc\u00f3mo reaccionar\u00e1 Kubernetes? <\/p>\n<p>Kubernetes buscar\u00e1 pods que est\u00e9n utilizando m\u00e1s recursos de los que solicitaron. As\u00ed que si sus contenedores no tienen solicitudes de Requests, eso significa que por defecto est\u00e1n usando m\u00e1s de lo que pidieron, simplemente porque no solicitaron nada en absoluto. Tales contenedores se convierten en los principales candidatos para ser desconectados. Los siguientes en la lista son los contenedores que satisfacen todas sus solicitudes, pero a\u00fan se encuentran por debajo del l\u00edmite m\u00e1ximo. <\/p>\n<p>Por lo tanto, si Kubernetes encuentra varios pods que han superado los par\u00e1metros de sus solicitudes, los clasificar\u00e1 por prioridad y luego eliminar\u00e1 los m\u00f3dulos de menor prioridad. Si todos los m\u00f3dulos tienen la misma prioridad, Kubernetes detendr\u00e1 los pods que hayan excedido sus solicitudes m\u00e1s que los dem\u00e1s pods. <\/p>\n<p>En casos muy raros, Kubernetes puede interrumpir los pods que a\u00fan est\u00e1n dentro de sus solicitudes. Esto puede suceder cuando componentes cr\u00edticos del sistema, como el agente Kubelet o Docker, comienzan a consumir m\u00e1s recursos de los que les fueron reservados. <br \/>\nAs\u00ed que, en las etapas iniciales de funcionamiento de peque\u00f1as empresas, un cl\u00faster de Kubernetes puede funcionar perfectamente sin establecer solicitudes de recursos y restricciones, pero a medida que sus equipos y proyectos comienzan a crecer, puede arriesgarse a enfrentar problemas en esta \u00e1rea. Agregar solicitudes y restricciones a sus m\u00f3dulos y espacios de nombres requiere muy poco esfuerzo adicional y puede evitar muchos inconvenientes.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503488\/\"> Mejores pr\u00e1cticas de Kubernetes. Desactivaci\u00f3n correcta de Terminate<\/a><\/noindex><\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"mxEvAPQRwhw\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/mxEvAPQRwhw\/hqdefault.jpg\" alt=\"Reproducir video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h3>Un poco de publicidad \ud83d\ude42<\/h3>\n<p>\nGracias por permanecer con nosotros. \u00bfTe gustan nuestros art\u00edculos? \u00bfQuieres ver m\u00e1s contenido interesante? Ap\u00f3yanos haciendo un pedido o recomendando a tus conocidos, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">VPS en la nube para desarrolladores desde $4.99<\/a><\/noindex>, <b>un an\u00e1logo \u00fanico de servidores entry-level que hemos dise\u00f1ado para Ti:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Toda la verdad sobre VPS (KVM) E5-2697 v3 (6 n\u00facleos) 10GB DDR4 480GB SSD 1Gbps desde $19, o c\u00f3mo dividir correctamente un servidor?<\/a><\/noindex> (disponibles opciones con RAID1 y RAID10, hasta 24 n\u00facleos y hasta 40GB DDR4).<\/p>\n<p><b>\u00bfDell R730xd a mitad de precio en el centro de datos Equinix Tier IV en \u00c1msterdam?<\/b> Solo aqu\u00ed <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB desde $199<\/a><\/noindex> \u00a1en los Pa\u00edses Bajos! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 \u00a1desde $99!<\/b><\/b> Lee sobre c\u00f3mo <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Construir infraestructura de clase empresarial usando servidores Dell R730xd E5-2650 v4 que cuestan 9000 euros a un precio asequible?<\/a><\/noindex><br \/>\n<br \/>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502614\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f Kubernetes \u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0438\u043c\u0435\u043d \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0436\u0438\u0437\u043d\u0435\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 Kubernetes \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0435\u0441\u0442\u043e\u0432 Readiness \u0438 Liveness \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430 Kubernetes \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0434\u0432\u0430 \u0442\u0438\u043f\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u2014 Requests \u0438 Limits. \u041f\u0435\u0440\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043d\u0430\u043b\u0438\u0447\u0438\u044e \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0443\u0437\u043b\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438\u043b\u0438 \u043f\u043e\u0434\u0430, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82921,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82920","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-26T11:42:37+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-26T11:42:37+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Mejores pr\u00e1cticas de Kubernetes. Configuraci\u00f3n de solicitudes y l\u00edmites de recursos | ProHoster","description":"Mejores pr\u00e1cticas de Kubernetes.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 | ProHoster","og:description":"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.","og:url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-26T11:42:37+00:00","article:modified_time":"2020-05-26T11:42:37+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82920","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:28:37","updated":"2022-09-28 05:48:38","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/82920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=82920"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/82920\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/82921"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=82920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=82920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=82920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}