Considerações de Alta Disponibilidade (Controlador de Ingresso baseado em NGINX)¶
Este artigo fornece recomendações de configuração para que o controlador de Ingresso Wallarm seja altamente disponível e seja prevenido de inatividades.
Outras recomendações
A versão do Wallarm do controlador Kubernetes Ingress é baseada no controlador NGINX Ingress suportado pela comunidade para Kubernetes, então a maioria das recomendações encontradas na documentação oficial do controlador Ingress e na Internet pública também são aplicáveis ao controlador Ingress da Wallarm.
Leitura recomendada:
Recomendações de configuração¶
As seguintes recomendações são relevantes para ambientes críticos (produção).
-
Use mais de uma instância de pod do controlador de Ingresso. O comportamento é controlado usando o atributo
controller.replicaCount
no arquivovalues.yaml
. Por exemplo:
-
Forçar o cluster Kubernetes a colocar os pods do controlador de Ingresso em nós diferentes: isso aumentará a resiliência do serviço de Ingresso em caso de falha de um nó. Este comportamento é controlado usando a funcionalidade de anti-afinidade de pods do Kubernetes, que é configurada no arquivo
values.yaml
. Por exemplo:
-
Em clusters que estão sujeitos a picos de tráfego inesperados ou outras condições que podem justificar o uso do recurso de auto dimensionamento de pod horizontal do Kubernetes (HPA), ele pode ser habilitado no arquivo
values.yaml
usando o seguinte exemplo:
-
Execute pelo menos duas instâncias do serviço pós-analítico da Wallarm baseado no banco de dados Tarantool. Esses pods incluem
ingress-controller-wallarm-tarantool
no nome. O comportamento é controlado no arquivovalues.yaml
usando o atributocontroller.wallarm.tarantool.replicaCount
. Por exemplo:
Procedimento de configuração¶
Para definir as configurações listadas, é recomendado usar a opção --set
dos comandos helm install
e helm upgrade
, por exemplo:
helm install --set controller.replicaCount=2 <INGRESS_CONTROLLER_RELEASE_NAME> wallarm/wallarm-ingress -n <KUBERNETES_NAMESPACE>
Existem também outros parâmetros necessários para a correta instalação do controlador de ingresso. Por favor passe eles na opção --set
também.