Melhores práticas de Kubernetes, 2ª edição
by Brendan Burns, Eddie Villalba, Dave Strebel, Lachlan Evenson
Capítulo 8. Gestão de recursos
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Neste capítulo, focamos nas melhores práticas para gerenciar e otimizar os recursos do Kubernetes. Discutimos o agendamento de carga de trabalho, o gerenciamento de cluster, o gerenciamento de recursos de pod, o gerenciamento de namespace e o dimensionamento de aplicativos. Também mergulhamos em algumas das técnicas avançadas de agendamento que o Kubernetes fornece por meio de afinidade, antiafinidade, taints, tolerâncias e nodeSelectors.
Mostramos-te como implementar limites de recursos, pedidos de recursos, pod Quality of Service, PodDisruptionBudgets, LimitRangers e políticas anti-afinidade.
Agendador de Kubernetes
O agendador do Kubernetes é um dos principais componentes alojados no plano de controlo. O agendador permite que o Kubernetes tome decisões de colocação para pods implantados no cluster. Trata da otimização dos recursos com base nas restrições do cluster, bem como nas restrições especificadas pelo utilizador. Usa um algoritmo de pontuação que é baseado em predicados e prioridades.
Predicados
A primeira função que o Kubernetes usa para tomar uma decisão de agendamento é a função predicate, que determina em quais nós os pods podem ser agendados. Ela implica uma restrição rígida, portanto, retorna um valor de verdadeiro ou falso. Um exemplo seria quando um pod solicita 4 GB de memória e um nó não pode satisfazer esse ...