Atualizando o controlador NGINX Ingress com módulos Wallarm integrados¶
Estas instruções descrevem os passos para atualizar o controlador Ingress baseado em Wallarm NGINX que foi implantado, da versão 4.x para a nova versão com o nó Wallarm 4.8.
Para atualizar o nó no fim da vida útil (3.6 ou inferior), por favor, use as instruções diferentes.
Requisitos¶
-
Versão da plataforma Kubernetes 1.24-1.27
-
Gerenciador de pacotes Helm
-
Compatibilidade dos seus serviços com o Controlador Ingress NGINX da comunidade versão 1.9.5
-
Acesso à conta com a função de Administrador e autenticação de dois fatores desativada no Console Wallarm para a Nuvem US ou Nuvem EU
-
Acesso a
https://us1.api.wallarm.com
para trabalhar com a Nuvem Wallarm US ou ahttps://api.wallarm.com
para trabalhar com a Nuvem Wallarm EU -
Acesso a
https://charts.wallarm.com
para adicionar os gráficos Helm da Wallarm. Certifique-se de que o acesso não está bloqueado por um firewall -
Acesso aos repositórios Wallarm no Docker Hub
https://hub.docker.com/r/wallarm
. Certifique-se de que o acesso não está bloqueado por um firewall -
Access to the IP addresses below for downloading updates to attack detection rules, as well as retrieving precise IPs for your allowlisted, denylisted, or graylisted countries, regions, or data centers
Passo 1: Atualize o repositório do chart Helm Wallarm¶
Passo 2: Verifique todas as mudanças vindo no K8s manifest¶
Para evitar mudanças inesperadas no comportamento do controlador Ingress, verifique todas as mudanças vindo no K8s manifest usando o Plugin Helm Diff. Este plugin mostra as diferenças entre os K8s manifestos da versão do controlador Ingress implantada e a nova.
Para instalar e rodar o plugin:
-
Instale o plugin:
-
Rode o plugin:
helm diff upgrade <RELEASE_NAME> -n <NAMESPACE> wallarm/wallarm-ingress --version 4.8.2 -f <PATH_TO_VALUES>
<RELEASE_NAME>
: o nome da release do Helm com o gráfico do controlador Ingress<NAMESPACE>
: o espaço de nomes no qual o controlador Ingress foi implantado<PATH_TO_VALUES>
: o caminho para o arquivovalues.yaml
que define as configurações do controlador Ingress 4.8 - você pode usar o que foi criado para executar a versão anterior do controlador Ingress
-
Certifique-se de que nenhuma mudança pode afetar a estabilidade dos serviços em execução e examine cuidadosamente os erros do stdout.
Se stdout estiver vazio, certifique-se de que o arquivo
values.yaml
é válido.
Passo 3: Atualize o controlador Ingress¶
Atualize o controlador NGINX Ingress implantado:
helm upgrade <RELEASE_NAME> -n <NAMESPACE> wallarm/wallarm-ingress --version 4.8.2 -f <PATH_TO_VALUES>
-
<RELEASE_NAME>
: o nome da release do Helm com o gráfico do controlador Ingress -
<NAMESPACE>
: o espaço de nomes no qual o controlador Ingress foi implantado -
<PATH_TO_VALUES>
: o caminho para o arquivovalues.yaml
que define as configurações do controlador Ingress 4.8 - você pode usar o que foi criado para executar a versão anterior do controlador Ingress
Passo 4: Teste o controlador Ingress atualizado¶
-
Certifique-se de que a versão do gráfico do Helm foi atualizada:
Onde
<NAMESPACE>
é o espaço de nomes no qual o gráfico do Helm com o controlador Ingress foi implantado.A versão do gráfico deve corresponder ao
wallarm-ingress-4.8.2
. -
Obtenha a lista de pods:
Cada status do pod deve ser STATUS: Running ou READY: N/N. Por exemplo:
-
Envie a requisição com o teste de ataque Path Traversal para o endereço do controlador Ingress Wallarm:
Verifique se a solução da versão mais recente processa a solicitação maliciosa da mesma forma que na versão anterior.
Passo 5: Atualize a página de bloqueio da Wallarm¶
Se a página &/usr/share/nginx/html/wallarm_blocked.html
configurada via anotações Ingress está sendo retornada para solicitações bloqueadas, ajuste sua configuração para as mudanças lançadas.
Nas novas versões do nó, a página de bloqueio da Wallarm tem a IU atualizada sem logo e sem e-mail de suporte especificado por padrão.