Oracle Database Operator para Kubernetes
Ao ativar o complemento de cluster do Oracle Database Operator for Kubernetes, você pode especificar os pares de chave/valor a seguir como argumentos.
Observe que, para usar o Oracle Database Operator como um complemento de cluster, você também precisa implantar o cert-manager (como um produto standalone ou como um complemento de cluster). Se você implantar o cert-manager como um produto independente, defina o argumento de configuração skipAddonDependenciesCheck como true.
| 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 |
|---|---|---|---|---|---|
manager.ContainerResources
|
recursos de contêiner do gerente |
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. |
skipAddonDependenciesCheck
|
skipAddonDependenciesCheck | Verificar se outros complementos necessários foram implantados (como o complemento cert-manager). | Opcional | nulo |
true
|
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 |
|---|---|---|---|---|---|
manager.ContainerResources
|
S |
Define as solicitações e os limites de CPU e memória para os pods do operador. |
À medida que o tamanho do cluster aumenta, o operador experimenta:
|
Se os recursos forem subdimensionados:
|
Aloque memória e CPU suficientes para lidar com a carga adicional em clusters grandes. Dê especial atenção ao dimensionamento de memória porque o cache do informador aumenta à medida que o tamanho do cluster aumenta. |
numOfReplicas
|
N |
Controla o número de pods do operador implantados. |
Réplicas adicionais melhoram a tolerância a falhas e o failover por meio da eleição do líder. Apenas um pod atua como o líder ativo de um controlador. Outras réplicas permanecem em espera e assumem apenas se o líder falhar. O aumento do número de réplicas não fornece dimensionamento linear do throughput de reconciliação porque as réplicas stand-by não processam loops de reconciliação para o mesmo controlador. |
Uma baixa contagem de réplicas aumenta o risco de tempo de inatividade do operador e recuperação mais lenta após falhas. |
Use um número moderado de réplicas, como três a cinco, para fornecer alta disponibilidade. Não aumente o número de réplicas para melhorar o desempenho da reconciliação. |
affinity / nodeSelectors / tolerations
|
N |
Controle onde os pods do operador são programados no cluster. |
Posicionamento de pod apropriado:
|
Se não estiver definido corretamente, o Oracle Database Operator poderá pousar nos nós errados ou falhar na programação, o que pode levar a reconciliação atrasada e desempenho instável. |
Use esses argumentos para programar pods do operador em nós de infraestrutura dedicados. Aplique regras antiafinidade de pod sempre que necessário para melhorar a resiliência. |
rollingUpdate
|
N |
Controla a estratégia de atualização de implantação do operador. |
Durante as atualizações em clusters grandes, a estratégia de atualização contínua:
|
Se não estiver configurado corretamente, um upgrade poderá reduzir rapidamente muitos pods do Oracle Database Operator de uma só vez, causando atrasos na reconciliação e perda de segurança de failover. |
Configure definições de atualização incremental, como |
topologySpreadConstraints
|
N |
Controla como as réplicas do operador são distribuídas entre nós e domínios de disponibilidade. |
A distribuição de réplicas impede que todos os pods do operador sejam executados no mesmo nó ou no mesmo domínio de disponibilidade e reduz o efeito de falhas no nó ou no domínio de disponibilidade. |
Se não estiver configurado corretamente, os pods do operador poderão ser programados no mesmo nó ou na mesma zona de disponibilidade, aumentando o risco de perder várias réplicas durante uma falha de nó ou zona. |
Use restrições de distribuição de topologia para fornecer alta disponibilidade em clusters grandes. |