Istio
Ao ativar o complemento de cluster do Istio, você pode passar os seguintes pares de chave/valor 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. 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 |
|---|---|---|---|---|---|
customizeConfigMap
|
customizeConfigMap |
Se você quiser que a Oracle gerencie o Istio automaticamente, defina Se você quiser personalizar o Istio usando o istioctl (ou outra ferramenta suportada pelo Istio) e quiser manter as personalizações quando a Oracle atualizar o complemento, defina |
Obrigatório |
false
|
true
|
discovery.ContainerResources
|
discovery.ContainerResources |
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. |
discovery.EnvVariables
|
discovery.EnvVariables |
Lista de variáveis de ambiente do contêiner de descoberta do plano de controle Istio, no formato JSON. |
Opcional | nulo |
[{"name":"ISTIO_GPRC_MAXRECVMSGSIZE","value":"8388608"},{"name":"ISTIO_GPRC_MAXSTREAMS","value":"150000"}]
|
enableIngressGateway
|
enableIngressGateway | Ativar gateway de entrada do Istio | Obrigatório |
false
|
true
|
istio-ingressgateway.Annotations
|
istio-ingressgateway.Annotations |
Anotações a serem passadas para a implantação do Istio. Por exemplo, para especificar a forma do balanceador de carga ou se o balanceador de carga será criado como balanceador de carga de rede. Para obter mais anotações, consulte Resumo de Anotações para Balanceadores de Carga e Balanceadores de Carga de Rede. Formato JSON em texto simples ou codificado em Base64. |
Opcional |
""
|
|
istio-ingressgateway.HorizontalPodAutoscalerMinReplicas
|
istio-ingressgateway.HorizontalPodAutoscalerMinReplicas |
Número mínimo de réplicas do pod horizontal do gateway de entrada Istio. Deve ser um número inteiro com um valor maior que zero. |
Opcional | nulo |
1
|
istio-ingressgateway.HorizontalPodAutoscalerMaxReplicas
|
istio-ingressgateway.HorizontalPodAutoscalerMaxReplicas |
Número máximo de réplicas do pod horizontal do gateway de entrada Istio. Deve ser um número inteiro com um valor maior que zero. |
Opcional | nulo |
3
|
istio-ingressgateway.PodDisruptionBudgetMinAvailable
|
istio-ingressgateway.PodDisruptionBudgetMinAvailable |
Número mínimo ou porcentagem de pods de gateway de entrada do Istio disponíveis. |
Opcional | nulo |
|
istiod.HorizontalPodAutoscalerMinReplicas
|
istiod.HorizontalPodAutoscalerMinReplicas |
Número mínimo de réplicas do controlador Istio. Deve ser um número inteiro com um valor maior que zero. |
Opcional | nulo |
1
|
istiod.HorizontalPodAutoscalerMaxReplicas
|
istiod.HorizontalPodAutoscalerMaxReplicas |
Número máximo de réplicas do controlador Istio. Deve ser um número inteiro com um valor maior que zero. |
Opcional | nulo |
3
|
istiod.PodDisruptionBudgetMinAvailable
|
istiod.PodDisruptionBudgetMinAvailable |
Número mínimo ou porcentagem de pods do controlador Istio disponíveis. |
Opcional | nulo |
|
profile
|
perfil | Perfil de instalação do Istio | Obrigatório |
"oke-default"
|
"oke-default"
|
A tabela a seguir descreve considerações para configurar este complemento de cluster em clusters grandes.
| Nome do Argumento | Número wrt de Atribuições dos Nós | Descrição | À medida que o tamanho do cluster aumenta | Riscos | Recomendação |
|---|---|---|---|---|---|
affinity
|
N |
Controla o posicionamento dos pods Istio em nós específicos. |
Não aplicável | Não aplicável | Não aplicável |
nodeSelectors
|
N |
Controla se os pods Istio são executados em nós com labels específicos. |
Não aplicável | Não aplicável | Não aplicável |
tolerations
|
N |
Controla se os pods Istio podem ser executados em nós contaminados. |
Não aplicável | Não aplicável | Não aplicável |
topologySpreadConstraints
|
S |
Controla como os pods Istio correspondentes são distribuídos na topologia do cluster. |
Talvez seja necessário ajustar as restrições de distribuição da topologia quando o número de réplicas |
Se não estiver bem configurado, réplicas de istiod ou gateway podem acabar co-localizadas no mesmo nó ou na mesma zona, de modo que uma falha de nó/zona elimina várias réplicas de uma só vez. |
Configure o |
numOfReplicas
|
S |
Controla o número de réplicas do plano de controle Istio. |
Podem ser necessárias mais réplicas à medida que o número de pods que participam da malha de serviços aumenta. |
Se definido muito baixo, istiod tem uma maior chance de se tornar um único ponto de falha durante drenos de nó ou atualizações. |
Aumente o número de réplicas à medida que o número de pods em malha aumenta. |
rollingUpdate
|
N |
Controla a estratégia de atualização para a implantação do Istio. |
Não aplicável | Não aplicável | Não aplicável |
customizeConfigMap
|
N |
Controla a configuração de Istio no nível do operador. |
Não aplicável | Não aplicável | Não aplicável |
discovery.ContainerResources
|
S |
Define recursos de CPU e memória para o contêiner de descoberta |
Os requisitos de CPU e memória podem aumentar à medida que o número de proxies em malha e a quantidade de configuração do Istio aumentam. |
Se subdimensionado, o plano de controle Istio pode não ter CPU ou memória, o que arrisca uma propagação de configuração mais lenta, atualizações de sidecar atrasadas e instabilidade sob alta rotatividade de malha. |
Aloque CPU e memória suficientes para o istiod com base no tamanho da malha e no tráfego, e monitore a utilização de recursos regularmente para evitar gargalos no plano de controle à medida que o cluster cresce. |
discovery.EnvVariables
|
N |
Define variáveis de ambiente para o contêiner de descoberta do plano de controle Istio. |
Não aplicável | Não aplicável | Não aplicável |
enableIngressGateway
|
N |
Controla se o gateway de entrada Istio clássico está ativado. |
Não aplicável | Não aplicável |
Ative o gateway de entrada somente quando o cluster exigir o gateway de entrada Istio clássico. |
istio-ingressgateway.Annotations
|
S |
Define anotações para o gateway de entrada Istio, incluindo anotações que controlam o tipo e a forma do balanceador de carga. |
A configuração do balanceador de carga necessária depende do volume de tráfego que o gateway de entrada recebe ou deve receber, em vez de diretamente no número de nós do cluster. |
Se configurado incorretamente, o gateway de entrada poderá ser provisionado com a forma ou o tipo de balanceador de carga errado (por exemplo, forma de LB do OCI ou definição de NLB errada). Isso pode levar a exposição incorreta, limites de throughput ou problemas de roteamento de tráfego. |
Configure anotações do balanceador de carga da OCI para atender aos seus requisitos de tráfego de produção e arquitetura de rede, garantindo balanceamento de carga ideal, escalabilidade e alta disponibilidade. |
istio-ingressgateway.HorizontalPodAutoscalerMinReplicas
|
S |
Define o número mínimo de réplicas do gateway de entrada Istio mantidas pelo Horizontal Pod Autoscaler. |
Pode ser necessário mais réplicas de gateway de entrada à medida que o tráfego aumenta. |
Se muito baixo, o gateway de entrada terá menos capacidade de linha de base e terá maior probabilidade de se tornar um gargalo de tráfego durante os picos. Se for 1, também há menos resiliência durante as interrupções. |
Aumente o número mínimo de réplicas à medida que o tráfego aumenta para manter a disponibilidade e a tolerância a falhas. |
istio-ingressgateway.HorizontalPodAutoscalerMaxReplicas
|
S |
Define o número máximo de réplicas de gateway de entrada do Istio que o Horizontal Pod Autoscaler pode criar. |
O gateway de entrada pode precisar ser dimensionado para mais réplicas à medida que o tráfego aumenta. |
Se muito baixo, o gateway de entrada não poderá ser dimensionado o suficiente durante picos de tráfego, o que pode criar latência ou conexões eliminadas. |
Aumente o número máximo de réplicas à medida que o tráfego aumenta para manter a disponibilidade e a tolerância a falhas. |
istio-ingressgateway.PodDisruptionBudgetMinAvailable
|
S |
Define o número mínimo ou a porcentagem de pods de gateway de entrada Istio que devem permanecer disponíveis durante uma interrupção voluntária. |
Pode ser necessário um valor de disponibilidade mínimo mais alto à medida que o tráfego de entrada aumenta. |
Se muito baixo, os upgrades ou drenos de nós podem remover muitos gateways de uma só vez e criar uma interrupção de entrada. |
Aumente o valor mínimo de disponibilidade à medida que o tráfego aumenta para manter a alta disponibilidade. |
istiod.HorizontalPodAutoscalerMinReplicas
|
S |
Define o número mínimo de réplicas |
Podem ser necessárias mais réplicas |
Se muito baixo, o plano de controle começa a partir de pouca capacidade e é mais provável que fique para trás durante as explosões de configuração. |
Aumentar o número mínimo de réplicas à medida que a malhagem aumenta. Use pelo menos três réplicas para manter a disponibilidade. |
istiod.HorizontalPodAutoscalerMaxReplicas
|
S |
Define o número máximo de réplicas |
Mais réplicas |
Se muito baixo, o istíodo não pode ser dimensionado o suficiente para lidar com o crescimento da malha, a rotatividade de configurações ou um grande número de sidecars. |
Aumente o número máximo de réplicas quando os pods |
istiod.PodDisruptionBudgetMinAvailable
|
S |
Define o número mínimo ou a porcentagem de |
A manutenção de réplicas |
Se muito baixo, um dreno ou upgrade pode deixar o plano de controle indisponível e a injeção sidecar pode falhar em todo o cluster. |
Configure o valor para que alguns pods |
profile
|
N |
Especifica o perfil de instalação do Istio. |
Não aplicável | Não aplicável | Não aplicável |