|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
Habilitando a Personalização do Agendamento do Agente de Cluster
O cattle-cluster-agent permite habilitar a implantação automática de uma Priority Class e um Pod Disruption Budget.
Quando este recurso está habilitado, todos os clusters de Driver de Nó, Personalizados e Importados RKE2 e K3s provisionados recentemente implantarão automaticamente uma Priority Class e um Pod Disruption Budget durante o processo de provisionamento. Clusters existentes podem ser atualizados gradualmente com esse novo comportamento usando o Rancher UI ou definindo uma anotação específica em objetos de cluster.
Por padrão, este recurso está desabilitado.
Habilitando a Personalização do Agendamento do Agente de Cluster
|
Habilitar ou desabilitar este recurso impacta apenas novos clusters. Clusters downstream existentes não serão atualizados automaticamente. Veja Atualizando Clusters Existentes. |
-
No canto superior esquerdo, clique em ☰ > Configurações Globais
-
Selecione Flags de Recursos
-
Encontre o recurso
cluster-agent-scheduling-customizatione clique em ⋮ > Ativar
Configurando as Configurações Globais
Você pode personalizar a Classe de Prioridade (PC) e o Orçamento de Interrupção de Pod (PDB) padrão atualizando as configurações globais cluster-agent-default-priority-class e cluster-agent-default-pod-disruption-budget na Rancher UI. Observe que tanto a Classe de Prioridade quanto o Orçamento de Interrupção de Pod têm restrições de configuração:
-
O
Valuedefinido para a PC padrão não pode ser menor que menos 1 bilhão, ou maior que 1 bilhão. -
O
PreemptionPolicydefinido para a PC deve ser igual aPreemptLowerPriorityouNever. -
Você não pode configurar os campos
minAvailableemaxUnavailabledo PDB para ambos terem um valor diferente de zero. -
O
minAvailabledo PDB deve ser um número inteiro não negativo ou uma porcentagem inteira não negativa (por exemplo,1ou100%). -
O
maxUnavailabledo PDB deve ser um número inteiro não negativo ou uma porcentagem inteira não negativa (por exemplo,1ou100%).
Atualizando Clusters Existentes
|
Quando este recurso está desabilitado, você não pode modificar os campos de personalização do agendamento do agente de cluster para clusters existentes. No entanto, você sempre pode remover a configuração, independentemente do status do recurso. |
Após habilitar este recurso, você pode configurar a personalização de agendamento para clusters existentes de duas maneiras:
-
Usando a interface do Rancher
-
Edite o cluster desejado e navegue até a aba Agente do Cluster na seção Configuração do Cluster.
-
Habilite a caixa de seleção
Prevent Rancher cluster agent pod eviction.-
Os campos necessários no objeto associado
clusters.provisioning.cattle.ioouclusters.management.cattle.ioserão configurados automaticamente usando os valores definidos nas configurações globais.
-
-
Salve o cluster.
-
-
Usando uma anotação
-
A anotação
provisioning.cattle.io/enable-scheduling-customizationpode ser usada para atualizar clusters sem a necessidade de usar a Rancher UI. Esta anotação será removida automaticamente do cluster após a configuração da Classe de Prioridade e do Orçamento de Interrupção de Pod.-
O valor desta anotação pode ser
trueoufalse, para adicionar ou remover a personalização de agendamento automaticamente. -
Para clusters provisionados por driver de nó e clusters personalizados, aplique esta anotação no objeto associado
clusters.provisioning.cattle.io. -
Para clusters importados, aplique a anotação no objeto associado
clusters.management.cattle.io.
-
-
Aplicando configurações globais atualizadas
Para evitar mudanças inesperadas no comportamento do agendador, o Rancher não atualiza clusters downstream existentes quando as configurações globais cluster-agent-default-priority-class e cluster-agent-default-pod-disruption-budget são alteradas. Existem duas maneiras de atualizar clusters existentes para usar as configurações globais mais recentes:
-
Usando a interface do Rancher
-
Ao configurar um cluster, uma caixa de seleção adicional será exibida na aba Agente do Cluster na seção Configuração do Cluster. Marcar a caixa de seleção
Apply global settings for Priority Class and Pod Disruption Budgetatualizará automaticamente a Classe de Prioridade e o Orçamento de Interrupção de Pod para corresponder às configurações globais assim que o cluster for salvo.
-
-
Ajustando o YAML do cluster
-
Você pode ajustar manualmente os campos relevantes no objeto do cluster usando
kubectlou o recurso 'Editar como YAML' da interface do Rancher. A personalização de agendamento pode ser encontrada na seçãospec.ClusterAgentDeploymentCustomization.SchedulingCustomizationdo objeto do cluster. -
Alternativamente, a anotação
provisioning.cattle.io/enable-scheduling-customizationpode ser usada para remover e re-adicionar os campos de personalização de agendamento atualizados definidos em um cluster específico.
-
Objetos a jusante
Quando este recurso está habilitado para um determinado cluster, dois recursos a jusante serão criados automaticamente pelo Rancher:
-
Um orçamento de interrupção de pod será criado automaticamente no namespace
cattle-system, nomeadocattle-cluster-agent-pod-disruption-budget. -
Uma classe de prioridade será criada automaticamente, nomeada
cattle-cluster-agent-priority-class.
Esses objetos são mantidos pelo Rancher e não devem ser modificados ou excluídos. O servidor Rancher atualizará automaticamente esses objetos para corresponder à configuração definida no objeto Cluster e os removerá quando não forem mais necessários.
Considerações sobre RBAC
Antes de habilitar este recurso em um cluster a jusante, os administradores do cluster devem avaliar sua configuração atual de RBAC para evitar acesso comum ao cattle-cluster-agent-priority-class. Em casos onde usuários externos têm acesso a um cluster, como ao oferecer clusters como um serviço, é recomendado limitar o acesso ao objeto cattle-cluster-agent-priority-class para evitar alterações ou exclusões.
Considerações semelhantes não precisam ser feitas para o objeto cattle-cluster-agent-pod-disruption-budget, uma vez que orçamentos de interrupção de pod são objetos com namespace. O Rancher criará o cattle-cluster-agent-pod-disruption-budget no namespace privilegiado cattle-system.