{"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\/pt\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","title":{"rendered":"Melhores pr\u00e1ticas de Kubernetes. Configura\u00e7\u00e3o de solicita\u00e7\u00f5es e limites 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\/\">Melhores pr\u00e1ticas Kubernetes. Criando pequenos cont\u00eaineres<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">As melhores pr\u00e1ticas do Kubernetes. Organiza\u00e7\u00e3o do Kubernetes com namespaces<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502430\/\">As melhores pr\u00e1ticas do Kubernetes. Verifica\u00e7\u00e3o de viabilidade do Kubernetes com testes de Readiness e Liveness<\/a><\/noindex><\/p>\n<p>Para cada recurso do Kubernetes, \u00e9 poss\u00edvel configurar dois tipos de requisitos \u2014 Requests e Limits. O primeiro descreve os requisitos m\u00ednimos para a disponibilidade de recursos do n\u00f3, necess\u00e1rios para iniciar um cont\u00eainer ou pod; o segundo limita rigidamente os recursos dispon\u00edveis para o cont\u00eainer. <\/p>\n<p>Quando o Kubernetes agenda um pod, \u00e9 muito importante que os cont\u00eaineres tenham recursos suficientes para funcionar corretamente. Se voc\u00ea planeja implantar um grande aplicativo em um n\u00f3 com recursos limitados, \u00e9 bem prov\u00e1vel que ele n\u00e3o funcione devido \u00e0 falta de mem\u00f3ria ou capacidade do processador. Neste artigo, discutiremos como resolver problemas de escassez de recursos computacionais por meio de solicita\u00e7\u00f5es de recursos e limites.<\/p>\n<p>Requests e Limits s\u00e3o mecanismos que o Kubernetes usa para gerenciar recursos como CPU e mem\u00f3ria. Requests garantem que o cont\u00eainer receba o recurso solicitado. Se um cont\u00eainer solicitar um recurso, o Kubernetes o agendar\u00e1 apenas em um n\u00f3 que pode fornec\u00ea-lo. Os limites Limits controlam que os recursos solicitados pelo cont\u00eainer nunca excedam um determinado valor.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Configura\u00e7\u00e3o de solicita\u00e7\u00f5es e limites 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>Um cont\u00eainer pode aumentar a capacidade computacional apenas at\u00e9 um certo limite, ap\u00f3s o qual ser\u00e1 restrito. Vamos ver como isso funciona. Existem dois tipos de recursos \u2014 CPU e mem\u00f3ria. O agendador do Kubernetes usa dados sobre esses recursos para determinar onde executar seus pods. Uma especifica\u00e7\u00e3o t\u00edpica de recursos para um pod se parece assim.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Configura\u00e7\u00e3o de solicita\u00e7\u00f5es e limites de recursos\" src=\"\/wp-content\/uploads\/2020\/05\/84f1212f7098d25273217d4218d661f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCada cont\u00eainer em um pod pode definir suas pr\u00f3prias solicita\u00e7\u00f5es e limites de recursos, sendo tudo isso aditivo. Os recursos de CPU s\u00e3o definidos em milicore. Se seu cont\u00eainer precisa de dois n\u00facleos completos para funcionar, voc\u00ea define o valor como 2000m. Se o cont\u00eainer precisa apenas de 1\/4 de n\u00facleo, o valor ser\u00e1 250m. Tenha em mente que, se voc\u00ea alocar um valor de recursos de CPU maior do que a quantidade de n\u00facleos do maior n\u00f3, o agendamento do seu pod n\u00e3o ser\u00e1 realizado. Uma situa\u00e7\u00e3o semelhante ocorrer\u00e1 se voc\u00ea tiver um pod que precisa de quatro n\u00facleos, enquanto o cluster Kubernetes consiste em apenas duas m\u00e1quinas virtuais principais.<\/p>\n<p>A menos que seu aplicativo tenha sido projetado especificamente para tirar proveito de m\u00faltiplos n\u00facleos (como ocorre com programas de c\u00e1lculos cient\u00edficos complexos e opera\u00e7\u00f5es com bancos de dados), a melhor pr\u00e1tica \u00e9 definir as Solicita\u00e7\u00f5es de CPU para 1 ou menos, com o subsequente aumento do n\u00famero de r\u00e9plicas para escalabilidade. Essa abordagem proporcionar\u00e1 maior flexibilidade e confiabilidade ao sistema.<\/p>\n<p>Quando se trata de limites de CPU, fica mais interessante, pois esse recurso \u00e9 considerado comprim\u00edvel. Se seu aplicativo come\u00e7ar a se aproximar do limite de capacidade de processamento, o Kubernetes come\u00e7ar\u00e1 a desacelerar seu cont\u00eainer, usando o CPU Throttling \u2014 a redu\u00e7\u00e3o da frequ\u00eancia do processador. Isso significa que a CPU ser\u00e1 artificialmente limitada, proporcionando potencialmente um desempenho inferior ao aplicativo, no entanto, o processo n\u00e3o ser\u00e1 interrompido nem finalizado. <\/p>\n<p>Os recursos de mem\u00f3ria s\u00e3o definidos em bytes. Normalmente, o valor nas configura\u00e7\u00f5es \u00e9 medido em mebibytes (Mib), mas voc\u00ea pode definir qualquer valor, desde bytes at\u00e9 petabytes. Aqui, a mesma situa\u00e7\u00e3o ocorre com a CPU \u2014 se voc\u00ea solicitar uma quantidade de mem\u00f3ria que exceda a mem\u00f3ria dispon\u00edvel em seus n\u00f3s, a execu\u00e7\u00e3o desse pod n\u00e3o ser\u00e1 agendada. Mas, ao contr\u00e1rio dos recursos de CPU, a mem\u00f3ria n\u00e3o \u00e9 comprim\u00edvel, pois n\u00e3o existe uma maneira de limitar seu uso. Portanto, a execu\u00e7\u00e3o do cont\u00eainer ser\u00e1 interrompida assim que ele ultrapassar os limites de mem\u00f3ria alocados.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Configura\u00e7\u00e3o de solicita\u00e7\u00f5es e limites de recursos\" src=\"\/wp-content\/uploads\/2020\/05\/a2b372ad9de7e065b435dae87ee62708.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c9 importante lembrar que voc\u00ea n\u00e3o pode configurar solicita\u00e7\u00f5es que excedam a capacidade dos recursos que seus n\u00f3s podem fornecer. As caracter\u00edsticas dos recursos compartilhados para m\u00e1quinas virtuais GKE podem ser encontradas nos links colocados abaixo deste v\u00eddeo.<\/p>\n<p>Em um mundo ideal, as configura\u00e7\u00f5es padr\u00e3o do cont\u00eainer seriam mais do que suficientes para que os fluxos de trabalho flu\u00edssem suavemente. Mas o mundo real n\u00e3o \u00e9 assim, as pessoas facilmente podem esquecer de configurar o uso de recursos ou hackers podem definir solicita\u00e7\u00f5es e limites que superem as capacidades reais da infraestrutura. Para evitar o desenvolvimento de cen\u00e1rios semelhantes, \u00e9 poss\u00edvel configurar as quotas de recursos ResourceQuota e os limites de range LimitRange.<\/p>\n<p>Ap\u00f3s a cria\u00e7\u00e3o dos namespaces, eles podem ser bloqueados com quotas. Por exemplo, se voc\u00ea tem namespaces de produ\u00e7\u00e3o e desenvolvimento, utiliza um padr\u00e3o onde n\u00e3o h\u00e1 quotas para produ\u00e7\u00e3o, enquanto as quotas para desenvolvimento s\u00e3o extremamente rigorosas. Isso permite que a produ\u00e7\u00e3o, em caso de um aumento repentino de tr\u00e1fego, possa usar todos os recursos dispon\u00edveis, bloqueando completamente o desenvolvimento.<\/p>\n<p>Uma quota de recursos pode parecer assim. Neste exemplo, existem 4 se\u00e7\u00f5es \u2013 s\u00e3o as 4 linhas de c\u00f3digo abaixo.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Configura\u00e7\u00e3o de solicita\u00e7\u00f5es e limites de recursos\" src=\"\/wp-content\/uploads\/2020\/05\/569f4ddde6ad46c707e91cc05947fc6b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVamos analisar cada uma delas. requests.cpu \u00e9 a quantidade m\u00e1xima combinada de solicita\u00e7\u00f5es de capacidade de CPU que podem ser feitas por todos os cont\u00eaineres no namespace. Neste exemplo, voc\u00ea pode ter 50 cont\u00eaineres com solicita\u00e7\u00f5es de 10m, cinco cont\u00eaineres com solicita\u00e7\u00f5es de 100m ou simplesmente um cont\u00eainer com uma solicita\u00e7\u00e3o de 500m. Enquanto o total de requests.cpu desse namespace for inferior a 500m, tudo estar\u00e1 bem.<\/p>\n<p>A mem\u00f3ria solicitada requests.memory \u00e9 a quantidade m\u00e1xima combinada de solicita\u00e7\u00f5es de mem\u00f3ria que todos os cont\u00eaineres podem ter no namespace. Assim como no caso anterior, voc\u00ea pode ter 50 cont\u00eaineres com 2 MiB, cinco cont\u00eaineres com 20 MiB ou um \u00fanico cont\u00eainer com 100 MiB, contanto que o total de mem\u00f3ria solicitada no namespace seja inferior a 100 mebibytes.<\/p>\n<p>Limits.cpu \u00e9 o valor m\u00e1ximo combinado de capacidade de CPU que todos os cont\u00eaineres podem usar no namespace. Pode-se considerar que este \u00e9 o limite das solicita\u00e7\u00f5es de capacidade de CPU.<\/p>\n<p>Finalmente, limits.memory \u2013 o volume m\u00e1ximo de mem\u00f3ria total que todos os cont\u00eaineres em um espa\u00e7o de nome podem usar. Esta \u00e9 uma limita\u00e7\u00e3o de solicita\u00e7\u00f5es de mem\u00f3ria somadas.<br \/>\nAssim, por padr\u00e3o, os cont\u00eaineres em um cluster Kubernetes operam com recursos computacionais ilimitados. Com as quotas de recursos, os administradores do cluster podem limitar o consumo de recursos e sua cria\u00e7\u00e3o com base no espa\u00e7o de nome. Dentro do espa\u00e7o de nome, um m\u00f3dulo pod ou cont\u00eainer pode consumir tanta CPU e mem\u00f3ria quanto definido pela quota de recursos do espa\u00e7o de nome. No entanto, h\u00e1 preocupa\u00e7\u00e3o de que um pod ou cont\u00eainer possa monopolizar todos os recursos dispon\u00edveis. Para evitar essa situa\u00e7\u00e3o, utiliza-se o limite de faixa limit Range \u2013 uma pol\u00edtica de limita\u00e7\u00e3o da distribui\u00e7\u00e3o de recursos (para pods ou cont\u00eaineres) dentro do espa\u00e7o de nome.<\/p>\n<p>O limite de faixa fornece limita\u00e7\u00f5es que podem:<\/p>\n<ul>\n<li>garantir o uso m\u00ednimo e m\u00e1ximo de recursos computacionais para cada m\u00f3dulo ou cont\u00eainer no espa\u00e7o de nome;<\/li>\n<li>for\u00e7ar a aplica\u00e7\u00e3o de solicita\u00e7\u00f5es m\u00ednimas e m\u00e1ximas de armazenamento Storage Request para cada PersistentVolumeClaim no espa\u00e7o de nome;<\/li>\n<li>for\u00e7ar a defini\u00e7\u00e3o de uma propor\u00e7\u00e3o entre a solicita\u00e7\u00e3o Request e o limite Limit para o recurso no espa\u00e7o de nome;<\/li>\n<li>definir Requests\/Limits padr\u00e3o para recursos computacionais no espa\u00e7o de nome e automaticamente aplic\u00e1-los aos cont\u00eaineres durante a execu\u00e7\u00e3o.<\/li>\n<\/ul>\n<p>\nDessa forma, voc\u00ea pode criar um limite de faixa no seu espa\u00e7o de nome. Diferente da quota, que se aplica a todo o espa\u00e7o de nome, o Limit Range \u00e9 usado para cont\u00eaineres individuais. Isso pode prevenir a cria\u00e7\u00e3o de cont\u00eaineres muito pequenos ou, ao contr\u00e1rio, gigantescos dentro do espa\u00e7o de nome. O limite de faixa Limit Range poderia ser configurado desta forma. <\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Configura\u00e7\u00e3o de solicita\u00e7\u00f5es e limites de recursos\" src=\"\/wp-content\/uploads\/2020\/05\/3fb358788910ca21e267a887032cdf1a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAssim como no caso anterior, aqui podemos destacar 4 se\u00e7\u00f5es. Vamos analisar cada uma delas.<br \/>\nNa se\u00e7\u00e3o default, s\u00e3o definidas as limita\u00e7\u00f5es padr\u00e3o para o cont\u00eainer no pod. Se voc\u00ea definir esses valores na faixa de limite, ent\u00e3o quaisquer cont\u00eaineres para os quais esses valores n\u00e3o foram explicitamente definidos obedecer\u00e3o aos valores padr\u00e3o.<\/p>\n<p>Na se\u00e7\u00e3o de solicita\u00e7\u00f5es padr\u00e3o defaultRequest, s\u00e3o configuradas as solicita\u00e7\u00f5es padr\u00e3o para o cont\u00eainer no pod. Novamente, se voc\u00ea definir esses valores no intervalo m\u00e1ximo, qualquer cont\u00eainer para o qual esses par\u00e2metros n\u00e3o estejam explicitamente definidos usar\u00e1 esses valores como padr\u00e3o.<\/p>\n<p>Na se\u00e7\u00e3o max, est\u00e3o especificados os limites m\u00e1ximos que podem ser estabelecidos para o cont\u00eainer no pod. Os valores na se\u00e7\u00e3o default e os limites para o cont\u00eainer n\u00e3o podem ser definidos acima desse limite. \u00c9 importante notar que, se um valor max estiver definido e a se\u00e7\u00e3o default estiver ausente, o valor m\u00e1ximo se tornar\u00e1 o valor padr\u00e3o.<\/p>\n<p>Na se\u00e7\u00e3o min, est\u00e3o especificadas as solicita\u00e7\u00f5es m\u00ednimas que podem ser estabelecidas para o cont\u00eainer no pod. Os valores na se\u00e7\u00e3o default e as solicita\u00e7\u00f5es para o cont\u00eainer n\u00e3o podem ser definidos abaixo desse limite.<\/p>\n<p>Novamente, \u00e9 importante notar que, se esse valor for definido e o valor default n\u00e3o estiver, o valor m\u00ednimo se tornar\u00e1 a solicita\u00e7\u00e3o padr\u00e3o.<\/p>\n<p>No final, essas solicita\u00e7\u00f5es de recursos s\u00e3o usadas pelo agendador do Kubernetes para executar suas cargas de trabalho. Para que voc\u00ea possa configurar corretamente seus cont\u00eaineres, \u00e9 muito importante entender como isso funciona. Suponha que voc\u00ea queira executar v\u00e1rios m\u00f3dulos em seu cluster. Supondo que as especifica\u00e7\u00f5es do pod sejam v\u00e1lidas, ser\u00e1 utilizada a balanceamento c\u00edclico no agendamento do Kubernetes para selecionar um n\u00f3 para executar a carga de trabalho.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Configura\u00e7\u00e3o de solicita\u00e7\u00f5es e limites de recursos\" src=\"\/wp-content\/uploads\/2020\/05\/29abd097fc0158dfbb585c4617036ccf.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO Kubernetes verificar\u00e1 se h\u00e1 recursos suficientes no n\u00f3 Node 1 para atender \u00e0s solicita\u00e7\u00f5es dos cont\u00eaineres do pod, e se n\u00e3o houver, ele passar\u00e1 para o pr\u00f3ximo n\u00f3. Se nenhum dos n\u00f3s do sistema for capaz de atender \u00e0s solicita\u00e7\u00f5es, os pods passar\u00e3o para o estado de espera Pending state. Com funcionalidades como o escalonamento autom\u00e1tico de n\u00f3s do Google Kubernetes Engine, o GKE pode automaticamente detectar o estado de espera e criar mais n\u00f3s adicionais. <\/p>\n<p>Se, posteriormente, houver capacidade excessiva nos n\u00f3s, a fun\u00e7\u00e3o de escalonamento autom\u00e1tico reduzir\u00e1 seu n\u00famero para economizar dinheiro. \u00c9 por isso que o Kubernetes agenda os pods com base nas solicita\u00e7\u00f5es. No entanto, o limite pode ser superior \u00e0s solicita\u00e7\u00f5es, e em alguns casos, um n\u00f3 pode realmente esgotar os recursos. Chamamos esse estado de overcommitment state.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Configura\u00e7\u00e3o de solicita\u00e7\u00f5es e limites de recursos\" src=\"\/wp-content\/uploads\/2020\/05\/995c906880f09734c4765519f1f2465d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nComo eu j\u00e1 disse, quando se trata do processador, o Kubernetes come\u00e7ar\u00e1 a limitar os pods. Cada pod receber\u00e1 o que pediu, mas se n\u00e3o atingir o limite, a limita\u00e7\u00e3o come\u00e7ar\u00e1 a ser aplicada. <\/p>\n<p>No que diz respeito aos recursos de mem\u00f3ria, o Kubernetes \u00e9 for\u00e7ado a tomar decis\u00f5es sobre quais pods remover e quais manter, at\u00e9 que voc\u00ea libere recursos do sistema, caso contr\u00e1rio, todo o sistema falhar\u00e1.<\/p>\n<p>Vamos imaginar um cen\u00e1rio em que voc\u00ea tem uma m\u00e1quina que esgotou o limite de mem\u00f3ria - como o Kubernetes reagir\u00e1 a isso? <\/p>\n<p>O Kubernetes procurar\u00e1 pods que est\u00e3o utilizando mais recursos do que pediram. Assim, se seus cont\u00eaineres n\u00e3o tiverem pedidos de Requests, isso significa que, por padr\u00e3o, est\u00e3o utilizando mais do que pediram, simplesmente porque n\u00e3o solicitaram nada! Esses cont\u00eaineres se tornam os principais candidatos para desligamento. Os pr\u00f3ximos candidatos s\u00e3o os cont\u00eaineres que atenderam a todos os seus pedidos, mas ainda est\u00e3o abaixo do limite m\u00e1ximo. <\/p>\n<p>Assim, se o Kubernetes encontrar v\u00e1rios pods que excederam os par\u00e2metros de seus pedidos, ele os ordenar\u00e1 por prioridade e ent\u00e3o remover\u00e1 os m\u00f3dulos de menor prioridade. Se todos os m\u00f3dulos tiverem a mesma prioridade, o Kubernetes interromper\u00e1 os pods que excederam seus pedidos mais do que os outros pods. <\/p>\n<p>Em casos muito raros, o Kubernetes pode interromper pods que ainda est\u00e3o dentro de seus pedidos. Isso pode ocorrer quando componentes cr\u00edticos do sistema, como o agente Kubelet ou o Docker, come\u00e7am a consumir mais recursos do que foi reservado para eles. <br \/>\nPortanto, nas fases iniciais das pequenas empresas, um cluster Kubernetes pode funcionar bem sem a configura\u00e7\u00e3o de pedidos de recursos e limites, mas \u00e0 medida que suas equipes e projetos come\u00e7am a crescer, voc\u00ea pode enfrentar problemas nessa \u00e1rea. Adicionar pedidos e limites nos seus m\u00f3dulos e namespaces requer um esfor\u00e7o adicional muito pequeno e pode evitar muitas dores de cabe\u00e7a.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503488\/\"> Melhores pr\u00e1ticas de Kubernetes. Desligamento adequado 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=\"Por que no hosting comum a administra\u00e7\u00e3o do PrestaShop \u00e9 lenta, e no seu n\u00e3o \u00e9?\" 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>Um pouco de publicidade \ud83d\ude42<\/h3>\n<p>\nObrigado por permanecer conosco. Voc\u00ea gosta dos nossos artigos? Quer ver mais materiais interessantes? Apoie-nos fazendo um pedido ou recomendando para conhecidos. <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">VPS em nuvem para desenvolvedores a partir de $4.99<\/a><\/noindex>, <b>uma alternativa \u00fanica aos servidores entry-level, que criamos para voc\u00ea:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Toda a verdade sobre VPS (KVM) E5-2697 v3 (6 N\u00facleos) 10GB DDR4 480GB SSD 1Gbps a partir de $19 ou como dividir um servidor corretamente?<\/a><\/noindex> (dispon\u00edveis op\u00e7\u00f5es com RAID1 e RAID10, at\u00e9 24 n\u00facleos e at\u00e9 40GB DDR4).<\/p>\n<p><b>Dell R730xd por 2 vezes mais barato no datacenter Equinix Tier IV em Amsterd\u00e3?<\/b> Somente conosco <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 100TB a partir de $199<\/a><\/noindex> na Holanda! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 a partir de $99!<\/b><\/b> Leia sobre <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Como construir uma infraestrutura de classe corporativa utilizando servidores Dell R730xd E5-2650 v4 com custo de 9000 euros por centavos?<\/a><\/noindex><br \/>\n<br \/>Fonte: <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.3 - 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\/pt\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47Melhores pr\u00e1ticas de Kubernetes. Configura\u00e7\u00e3o de pedidos e limites de recursos | ProHoster","description":"Melhores pr\u00e1ticas de Kubernetes.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/82920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=82920"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/82920\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/82921"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=82920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=82920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=82920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}