kube-proxy
Ao ativar o complemento de cluster kube-proxy, você pode passar os pares de chave/valor a seguir como argumentos.
Observe que, para clusters grandes, recomendamos que você revise a configuração do kube-proxy antes de implantar o complemento:
- Revise
kube-proxy.ContainerResources. O kube-proxy é executado em cada nó de trabalho, e os requisitos de recursos podem aumentar à medida que o número de Serviços, EndpointSlices, IPs de ponto final e eventos de atualização aumenta. Aumente as solicitações e os limites de CPU e memória se os pods kube-proxy mostrarem pressão sustentada de CPU ou memória. - Tenha cuidado ao definir nodeSelectors, afinidade ou tolerações. O kube-proxy deve ser executado em cada nó de trabalho que requer a rede do Kubernetes Service. As restrições de programação que excluem nós podem deixar esses nós sem rede de serviço funcional.
- Use as definições
rollingUpdateque permitem atualizações de kube-proxy para progredir em um grande número de nós. Evite definições que atualizem muitos nós de uma só vez ou impeçam que as atualizações passem pelo cluster. - Se você definir
customizeKubeProxyConfigMapcomo verdadeiro, revise as definições de sincronização de kube-proxy para a versão e o modo de proxy do Kubernetes do cluster. A documentação do Kubernetes observa que, no modo iptables, clusters muito grandes podem precisar de umminSyncPeriodmaior se a duração da sincronização da regra de kube-proxy for muito maior que um segundo (consulte IPs Virtuais e Proxies de Serviço na documentação do Kubernetes). - Se a versão do Kubernetes do cluster, o sistema operacional e o plug-in de rede suportarem o modo nftables, avalie se os nftables são apropriados para sua carga de trabalho. A documentação do Kubernetes observa que o modo nftables foi projetado para fornecer melhor desempenho e escalabilidade do que o modo iptables, mas também observa que ele pode não ser compatível com todos os plug-ins de rede (consulte IPs Virtuais e Proxies de Serviço na documentação do Kubernetes).
| 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. Não utilizado por:
Possíveis equivalentes:
|
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. Não utilizado por:
Possíveis equivalentes:
|
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. Não utilizado por:
Possíveis equivalentes:
|
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. Não utilizado por:
Possíveis equivalentes:
|
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. Possíveis equivalentes:
|
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. Não utilizado por:
|
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 |
|---|---|---|---|---|---|
customizeKubeProxyConfigMap
|
personalizar kube-proxy configMap |
Se você quiser que a Oracle gerencie o Kube-proxy automaticamente para você, defina Se você quiser personalizar o comportamento do Kube-proxy, defina |
Obrigatório |
false
|
true
|
kube-proxy.ContainerResources
|
recursos de contêiner kube-proxy |
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. |