Kubernetes Metrics Server
A partir da versão 1.8, o Kubernetes fornece métricas de uso de recursos, como o uso da CPU e da memória do contêiner, por meio da Metrics API. Essas métricas podem ser acessadas diretamente pelos usuários (por exemplo, usando o comando kubectl top) ou usadas por controladores (por exemplo, Horizontal Pod Autoscaler) em um cluster para tomada de decisões. O componente específico é metrics-server, que é usado para substituir o heapster para fornecer as funções semelhantes. O heapster foi gradualmente abandonado desde a v1.11.
metrics-server é um agregador para monitoramento de dados de recursos principais do cluster. Você pode instalar rapidamente este complemento no console do CCE.
Depois de instalar este complemento, pode criar políticas HPA. Para mais detalhes, consulte Criação de uma política HPA para dimensionamento automático da carga de trabalho.
O projeto oficial da comunidade e a documentação estão disponíveis em https://github.com/kubernetes-sigs/metrics-server.
Instalar o complemento
- Efetue logon no console do CCE e clique no nome do cluster para acessar o console do cluster. Escolha Add-ons no painel de navegação, localize Kubernetes Metrics Server à direita e clique em Install.
- Na página Install Add-on, configure as especificações.
Tabela 1 Configuração de metrics-server Parâmetro
Descrição
Add-on Specifications
Selecione Single, Custom ou HA para Add-on Specifications.
Instances
Número de pods que serão criados para corresponder às especificações do complemento selecionado.
Se você selecionar Custom, poderá ajustar o número de pods conforme necessário.
Containers
As cotas de CPU e memória do contêiner permitidas para as especificações adicionais selecionadas.
Se você selecionar Custom, poderá ajustar as especificações do contêiner conforme necessário.
- Configure as políticas de agendamento para o complemento.
- As políticas de agendamento não entram em vigor em instâncias complementares do tipo DaemonSet.
- Ao configurar a implementação de várias AZs ou a afinidade de nó, verifique se há nós que atendem à política de agendamento e se os recursos são suficientes no cluster. Caso contrário, o complemento não pode ser executado.
Tabela 2 Configurações para programação de complementos Parâmetro
Descrição
Multi-AZ Deployment
- Preferred: os pods de Implementação do complemento serão agendados preferencialmente para nós em diferentes AZs. Se todos os nós no cluster forem implementados na mesma AZ, os pods serão agendados para essa AZ.
- Forcible: os pods de Implementação do complemento serão forçosamente agendados para nós em diferentes AZs. Se houver menos AZs do que pods, os pods extras não funcionarão.
Node Affinity
- Incompatibility: a afinidade de nó está desabilitada para o complemento.
- Node Affinity: especifique os nós em que o complemento é implementado. Se você não especificar os nós, o complemento será agendado aleatoriamente com base na política de agendamento de cluster padrão.
- Specified Node Pool Scheduling: especifique o pool de nós em que o complemento é implementado. Se você não especificar o pool de nós, o complemento será agendado aleatoriamente com base na política de agendamento de cluster padrão.
- Custom Policies: insira os rótulos dos nós em que o complemento será implementado para políticas de agendamento mais flexíveis. Se você não especificar rótulos de nó, o complemento será agendado aleatoriamente com base na política de agendamento de cluster padrão.
Se várias políticas de afinidade personalizadas estiverem configuradas, certifique-se de que existem nós que atendam a todas as políticas de afinidade no cluster. Caso contrário, o complemento não pode ser executado.
Taints and Tolerations
O uso de manchas e tolerâncias permite (não forçosamente) que Implementação do complemento seja agendada para um nó com as manchas correspondentes e controla as políticas de despejo de Implementação depois que o nó onde a Implementação está localizada é contaminado.
O complemento adiciona a política de tolerância padrão para as manchas node.kubernetes.io/not-ready e node.kubernetes.io/unreachable, respectivamente. A janela de tempo de tolerância é 60s.
Para mais detalhes, consulte Manchas e tolerâncias.
- Clique em Install.
Componentes
Componente |
Descrição |
Tipo de recurso |
---|---|---|
metrics-server |
Agregador para os dados monitorados dos recursos principais do cluster, que é usado para coletar e agregar métricas de uso de recursos obtidas por meio da Metrics API no cluster |
Implementação |