Cluster Autoscaler
Ao ativar o complemento Cluster Autoscaler, você pode passar os pares de chave/valor a seguir como argumentos.
| Chave (API e CLI) | Nome para Exibição da Chave (Console) | Descrição | Obrigatório/Opcional | Valor Padrão | Valor de Exemplo |
|---|---|---|---|---|---|
affinity |
afinidade |
Um grupo de regras de programação de afinidade. Formato JSON em texto simples ou codificado em Base64. |
Opcional | nulo | nulo |
nodeSelectors |
seletores de nó |
Você pode usar seletores de nó e labels de nó para controlar os nós de trabalho nos quais os pods complementares são executados. Para que um pod seja executado em um nó, o seletor de nós do pod deve ter a mesma chave/valor do label do nó. Defina Formato JSON em texto simples ou codificado em Base64. |
Opcional | nulo | {"foo":"bar", "foo2": "bar2"}O pod só será executado em nós que tenham o label |
numOfReplicas |
numOfReplicas | O número de réplicas da implantação do complemento. (Para CoreDNS, use |
Obrigatório | 1Cria uma réplica da implantação do complemento por cluster. |
2Cria duas réplicas da implantação do complemento por cluster. |
rollingUpdate |
rollingUpdate |
Controla o comportamento desejado de atualização incremental por maxSurge e maxUnavailable. Formato JSON em texto simples ou codificado em Base64. |
Opcional | nulo | nulo |
tolerations |
tolerâncias |
Você pode usar taints e tolerations para controlar os nós de trabalho nos quais os pods complementares são executados. Para que um pod seja executado em um nó que tenha uma taint, o pod deve ter uma tolerância correspondente. Defina Formato JSON em texto simples ou codificado em Base64. |
Opcional | nulo | [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]Somente pods que têm essa tolerância podem ser executados em nós de trabalho que têm a mancha |
topologySpreadConstraints |
topologySpreadConstraints |
Como distribuir pods correspondentes entre a topologia fornecida. Formato JSON em texto simples ou codificado em Base64. |
Opcional | nulo | nulo |
| Chave (API e CLI) | Nome para Exibição da Chave (Console) | Descrição | Obrigatório/Opcional | Valor Padrão | Valor de Exemplo |
|---|---|---|---|---|---|
| annotations | anotações |
Anotações a serem passadas para a implantação do Cluster Autoscaler. Por exemplo, Formato JSON em texto simples ou codificado em Base64. |
Opcional | "" | |
| authType | authType | O tipo de autenticação que o Cluster Autoscaler usa ao fazer solicitações, como um dos seguintes:
|
Obrigatório |
instance
|
|
| balanceSimilarNodeGroups | balanceSimilarNodeGroups | Detecte grupos de nós semelhantes e balanceie o número de nós entre eles. | Opcional |
false
|
|
| balancingIgnoreLabel | balancingIgnoreLabel | Definir um rótulo de nó que deve ser ignorado ao considerar a similaridade de grupo de nós. Um label por ocorrência de flag. O formato é label1, label2. |
Opcional | "" | |
| balancingLabel | balancingLabel | Defina um rótulo de nó a ser usado ao comparar a similaridade de grupo de nós. Se definido, todas as outras lógicas de comparação serão desativadas, e somente os rótulos serão considerados ao comparar grupos. Um label por ocorrência de flag. O formato é label1, label2. |
Opcional | "" | |
| cluster-autoscaler.ContainerResources | recursos de contêiner do cluster-autoscaler |
Você pode especificar as quantidades de recursos solicitadas pelos contêineres de complementos e definir limites de uso de recursos que os contêineres de complementos não podem exceder. Formato JSON em texto simples ou codificado em Base64. |
Opcional | nulo |
{"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}
Crie contêineres complementares que solicitem 100 mililitros de CPU e 100 mebibytes de memória. Limite os contêineres complementares a 500 milicores de CPU e 200 mebibytes de memória. |
| cordonNodeBeforeTerminating | (Não mostrado na Console) | Se CA cordonar nós antes de encerrar durante o processo de downscale. | Opcional |
false
|
|
| coresTotal | (Não mostrado na Console) | Número mínimo e máximo de núcleos no cluster, no formato <min>:<max>. O dimensionador automático do cluster não dimensionará o cluster além desses números. |
Opcional |
0:320000
|
|
| daemonsetEvictionForEmptyNodes | (Não mostrado na Console) | Se os pods DaemonSet serão normalmente encerrados de nós vazios. | Opcional |
false
|
|
| daemonsetEvictionForOccupiedNodes | (Não mostrado na Console) | Se os pods DaemonSet serão normalmente encerrados de nós não vazios. | Opcional |
true
|
|
| debuggingSnapshotEnabled | (Não mostrado na Console) | Se o snapshot de depuração do recurso de dimensionamento automático do cluster está ativado. | Opcional |
false
|
|
| emitPerNodegroupMetrics | (Não mostrado na Console) | Se verdadeiro, emita métricas por grupo de nós. | Opcional |
false
|
|
| enforceNodeGroupMinSize | (Não mostrado na Console) | A CA deve ampliar o grupo de nós para o tamanho mínimo configurado, se necessário. | Opcional |
false
|
|
| estimator | (Não mostrado na Console) | Tipo de estimador de recursos a ser usado na ampliação. | Opcional |
binpacking
|
|
| expander | expansor | Tipo de expansor do grupo de nós a ser usado na ampliação. Observe que |
Opcional |
random
|
|
| expendablePodsPriorityCutoff | (Não mostrado na Console) | Pods com prioridade abaixo do limite serão dispensáveis. Eles podem ser mortos sem qualquer consideração durante a redução e eles não causam aumento de escala. Os pods com prioridade nula (PodPriority desativado) não podem ser gastos. | Opcional |
-10
|
|
| ignoreDaemonsetsUtilization | (Não mostrado na Console) | Se os pods DaemonSet serão ignorados ao calcular a utilização de recursos para redução. | Opcional |
false
|
|
| ignoreMirrorPodsUtilization | (Não mostrado na Console) | Se os pods de Espelho serão ignorados ao calcular a utilização de recursos para redução. | Opcional |
false
|
|
| leaderElect | (Não mostrado na Console) | Inicie um cliente de eleição líder e ganhe liderança antes de executar o loop principal. Ative isso ao executar componentes replicados para alta disponibilidade. | Opcional |
true
|
|
| leaderElectLeaseDuration | (Não mostrado na Console) | A duração que os candidatos não-líderes vão esperar depois de observar uma renovação de liderança até tentar adquirir a liderança de um líder liderado, mas não renovado slot. Esta é efetivamente a duração máxima que um líder pode ser interrompido antes de ser substituído por outro candidato. Isso só é aplicável se a eleição do líder estiver ativada. | Opcional |
15s
|
|
| leaderElectRenewDeadline | (Não mostrado na Console) | O intervalo entre as tentativas do dimensionador automático de cluster ativo de renovar um slot de liderança antes que ele pare de liderar. Deve ser menor ou igual à duração do leasing. Isso só é aplicável se a eleição do líder estiver ativada. | Opcional |
10s
|
|
| leaderElectResourceLock | (Não mostrado na Console) | O tipo de objeto de recurso usado para bloqueio durante a escolha do líder. As opções suportadas são leases (padrão), endpoints, endpointsleases, configmaps e configmapsleases. |
Opcional |
leases
|
|
| leaderElectRetryPeriod | (Não mostrado na Console) | A duração que os clientes devem esperar entre a tentativa de aquisição e renovação de uma liderança. Isso só é aplicável se a eleição do líder estiver ativada. | Opcional |
2s
|
|
| maxAutoprovisionedNodeGroupCount | (Não mostrado na Console) | O número máximo de grupos provisionados automaticamente no cluster. | Opcional |
15
|
|
| maxEmptyBulkDelete | maxEmptyBulkDelete | Número máximo de nós vazios que podem ser excluídos ao mesmo tempo. | Opcional |
10
|
|
| maxFailingTime | (Não mostrado na Console) | Tempo máximo da última execução bem-sucedida do dimensionador automático registrada antes da reinicialização automática. | Opcional |
15m
|
|
| maxGracefulTerminationSec | (Não mostrado na Console) | Número máximo de segundos que a CA aguarda o encerramento do pod ao tentar reduzir um nó. | Opcional |
600
|
|
| maxInactivity | (Não mostrado na Console) | Tempo máximo da última atividade do dimensionador automático registrada antes da reinicialização automática. | Opcional |
10m
|
|
| maxNodeProvisionTime | maxNodeProvisionTime | Tempo máximo que a CA aguarda o provisionamento do nó. | Opcional |
15m
|
|
| maxNodesTotal | (Não mostrado na Console) | Número máximo de nós em todos os pools de nós. O dimensionador automático do cluster não aumentará o cluster além desse número. | Opcional |
0
|
|
| maxTotalUnreadyPercentage | (Não mostrado na Console) | Porcentagem máxima de nós não prontos no cluster. Depois que isso é excedido, a CA interrompe as operações. | Opcional |
45
|
|
| memoryTotal | (Não mostrado na Console) | Número mínimo e máximo de gigabytes de memória no cluster, no formato <min>:<max>. O dimensionador automático do cluster não dimensionará o cluster além desses números. |
Opcional |
0:6400000
|
|
| minReplicaCount | (Não mostrado na Console) | Número mínimo ou réplicas que um conjunto de réplicas ou controlador de replicação deve ter para permitir a exclusão de seus pods em redução. | Opcional |
0
|
|
| nodes | nós |
Uma lista de Número mínimo de nós, Número máximo de nós e o OCID do pool de nós a ser gerenciado pelo dimensionador automático do cluster. O formato é Use Formato JSON em texto simples ou codificado em Base64. |
Obrigatório, se nodeGroupAutoDiscovery não estiver definido |
"" | |
| nodeGroupAutoDiscovery | (Não mostrado na Console) |
Uma lista de pares de chave/valor de tag, Número mínimo de nós, Número máximo de nós e o OCID do compartimento no qual o pool de nós a ser gerenciado pelo dimensionador automático do cluster está localizado. O formato é Use Suportado com o Cluster Autoscaler versão 1.30.3, versão 1.31.1, e versão 1.32.0 e posterior. Formato JSON em texto simples ou codificado em Base64. |
Obrigatório, se nodes não estiver definido |
||
| okTotalUnreadyCount | (Não mostrado na Console) | Número de nós não prontos permitidos, independentemente de maxTotalUnreadyPercentage. |
Opcional |
3
|
|
| recordDuplicatedEvents | (Não mostrado na Console) | Ative o dimensionador automático para imprimir eventos duplicados em uma janela de 5 minutos. | Opcional |
false
|
|
| scaleDownCandidatesPoolMinCount | (Não mostrado na Console) |
Número mínimo de nós que são considerados candidatos não vazios adicionais para redução quando alguns candidatos da iteração anterior não são mais válidos. Ao calcular o tamanho do pool para candidatos adicionais que tomamos.
|
Obrigatório |
50
|
|
| scaleDownCandidatesPoolRatio | (Não mostrado na Console) | Uma proporção de nós que são considerados candidatos não vazios adicionais para redução quando alguns candidatos da iteração anterior não são mais válidos. Menor valor significa melhor capacidade de resposta da CA, mas possível latência de redução mais lenta. Um valor mais alto pode afetar o desempenho da CA com grandes clusters (centenas de nós). Definir como 1.0 para desativar essa heurística - a CA usará todos os nós como candidatos adicionais. | Obrigatório |
0.1
|
|
| scaleDownDelayAfterAdd | scaleDownDelayAfterAdd | Quanto tempo depois de aumentar essa escala, a avaliação é retomada. | Obrigatório |
10m
|
|
| scaleDownDelayAfterDelete | (Não mostrado na Console) | Quanto tempo após a exclusão do nó que a avaliação de redução é retomada, o padrão é scan-interval. | Obrigatório |
10s
|
|
| scaleDownDelayAfterFailure | (Não mostrado na Console) | Quanto tempo após a falha de redução que a avaliação de redução é retomada. | Obrigatório |
3m
|
|
| scaleDownEnabled | scaleDownEnabled | A CA deve reduzir o cluster. | Opcional |
true
|
|
| scaleDownNonEmptyCandidatesCount | (Não mostrado na Console) | Número máximo de nós não vazios considerados em uma iteração como candidatos para redução com drenagem. Menor valor significa melhor capacidade de resposta da CA, mas possível latência de redução mais lenta. Um valor mais alto pode afetar o desempenho da CA com grandes clusters (centenas de nós). Definir como valor não positivo para desativar essa heurística - A CA não limitará o número de nós que considera. | Obrigatório |
30
|
|
| scaleDownUnneededTime | scaleDownUnneededTime | Quanto tempo um nó deve ser desnecessário antes de ser elegível para redução. | Obrigatório |
10m
|
|
| scaleDownUnreadyTime | (Não mostrado na Console) | Quanto tempo um nó não pronto deve ser desnecessário antes de ser elegível para redução. | Obrigatório |
20m
|
|
| scaleDownUtilizationThreshold | (Não mostrado na Console) | Nível de utilização do nó, definido como a soma dos recursos solicitados divididos por capacidade, abaixo da qual um nó pode ser considerado para redução. | Obrigatório |
0.5
|
|
| scanInterval | scanInterval | Com que frequência o cluster é reavaliado para expansão ou redução. | Opcional |
10s
|
|
| skipNodesWithCustomControllerPods | (Não mostrado na Console) | Se true, o dimensionador automático do cluster nunca excluirá nós com pods de propriedade de controladores personalizados. |
Opcional |
true
|
|
| skipNodesWithLocalStorage | (Não mostrado na Console) | Se o true, o dimensionador automático do cluster nunca excluirá nós com pods com armazenamento local, por exemplo, EmptyDir ou HostPath. |
Opcional |
true
|
|
| skipNodesWithSystemPods | (Não mostrado na Console) | Se true, o dimensionador automático do cluster nunca excluirá nós com pods do kube-system (exceto para DaemonSet ou pods de espelho).
|
Opcional |
true
|
|
| statusConfigMapName | (Não mostrado na Console) | O nome do status ConfigMap que a CA grava. | Opcional |
cluster-autoscaler-status
|
|
| stderrthreshold | (Não mostrado na Console) | O limite de severidade do log, além do qual os logs são enviados para stderr. Por exemplo, se você definir isso como error, todos os logs com uma severidade maior que error serão enviados ao stderr. |
Opcional |
info
|
|
| unremovableNodeRecheckTimeout | unremovableNodeRecheckTimeout | O timeout antes de verificarmos novamente um nó que não pôde ser removido antes. | Obrigatório |
5m
|
|
| v | (Não mostrado na Console) | O número do nível de detalhamento do log. | Opcional |
0
|
|
| writeStatusConfigmap | (Não mostrado na Console) | A CA deve gravar informações de status em um configmap. | Opcional |
true
|