統合されたWallarmモジュールとNGINX Ingress controllerの更新
[nginx-process-time-limit-docs]: ../admin-en/configure-parameters-en.md#wallarm_process_time_limit
[nginx-process-time-limit-block-docs]: ../admin-en/configure-parameters-en.md#wallarm_process_time_limit_block
[overlimit-res-rule-docs]: ../user-guides/rules/configure-overlimit-res-detection.md
[graylist-docs]: ../user-guides/ip-lists/overview.md
[ip-list-docs]: ../user-guides/ip-lists/overview.md
[waf-mode-instr]: ../admin-en/configure-wallarm-mode.md
[ip-lists-docs]: ../user-guides/ip-lists/overview.md
[api-spec-enforcement-docs]: ../api-specification-enforcement/overview.md
# 統合Wallarmモジュール搭載のNGINX Ingressコントローラーのアップグレード
本手順では、既にデプロイされたWallarm NGINXベースのIngressコントローラー4.xから、Wallarmノード5.0搭載の新バージョンへのアップグレード手順を説明します。
サポート終了ノード(3.6以下)のアップグレードには、[こちらの手順](older-versions/ingress-controller.md)をご利用ください。
## 要件
* Kubernetes platform version 1.26-1.30
* [Helm](https://helm.sh/) package manager
* Compatibility of your services with the [Community Ingress NGINX Controller](https://github.com/kubernetes/ingress-nginx) version 1.11.5
* Access to the account with the **Administrator** role in Wallarm Console for the [US Cloud](https://us1.my.wallarm.com/) or [EU Cloud](https://my.wallarm.com/)
* Access to `https://us1.api.wallarm.com` for working with US Wallarm Cloud or to `https://api.wallarm.com` for working with EU Wallarm Cloud
* Access to `https://charts.wallarm.com` to add the Wallarm Helm charts. Ensure the access is not blocked by a firewall
* Access to the Wallarm repositories on Docker Hub `https://hub.docker.com/r/wallarm`. Make sure the access is not blocked by a firewall
* Access to the IP addresses below for downloading updates to attack detection rules and [API specifications][api-spec-enforcement-docs], as well as retrieving precise IPs for your [allowlisted, denylisted, or graylisted][ip-lists-docs] countries, regions, or data centers
=== "US Cloud"
```
34.96.64.17
34.110.183.149
35.235.66.155
34.102.90.100
34.94.156.115
35.235.115.105
```
=== "EU Cloud"
```
34.160.38.183
34.144.227.90
34.90.110.226
```
## ステップ1: Wallarm Helmチャートリポジトリの更新
```bash
helm repo update wallarm
ステップ2: 今後のK8sマニフェストの変更内容を確認する¶
予期しないIngressコントローラーの動作変更を防ぐため、Helm Diff Pluginを使用して、今後のK8sマニフェストの変更内容を確認してください。このプラグインは、デプロイ済みのIngressコントローラーのバージョンのK8sマニフェストと新バージョンとの差分を出力します。
プラグインのインストールと実行方法は以下の通りです:
-
プラグインのインストール:
-
プラグインの実行:
helm diff upgrade <RELEASE_NAME> -n <NAMESPACE> wallarm/wallarm-ingress --version 5.3.0 -f <PATH_TO_VALUES>
<RELEASE_NAME>
:IngressコントローラーチャートのHelmリリース名<NAMESPACE>
:IngressコントローラーがデプロイされているNamespace<PATH_TO_VALUES>
:Ingressコントローラー5.0設定を定義するvalues.yaml
ファイルへのパス–前バージョン実行時に作成したファイルを利用できます
-
変更が稼働中のサービスの安定性に影響を及ぼさないことを確認し、stdoutからのエラーを注意深く確認してください。
もしstdoutが空の場合は、
values.yaml
ファイルが有効であることを確認してください。
ステップ3: Ingressコントローラーのアップグレード¶
デプロイ済みのNGINX Ingressコントローラーをアップグレードしてください:
helm upgrade <RELEASE_NAME> -n <NAMESPACE> wallarm/wallarm-ingress --version 5.3.0 -f <PATH_TO_VALUES>
-
<RELEASE_NAME>
:IngressコントローラーチャートのHelmリリース名 -
<NAMESPACE>
:IngressコントローラーがデプロイされているNamespace -
<PATH_TO_VALUES>
:Ingressコントローラー5.0設定を定義するvalues.yaml
ファイルへのパス–前バージョン実行時に作成したファイルを利用できます
ステップ4: アップグレード後のIngressコントローラーのテスト¶
-
Helmチャートのバージョンがアップグレードされたことを確認してください:
ここで
<NAMESPACE>
は、IngressコントローラーのHelmチャートがデプロイされたNamespaceです。チャートバージョンが
wallarm-ingress-5.3.0
に一致している必要があります。 -
Pod一覧の取得:
各PodのステータスはSTATUS: RunningまたはREADY: N/Nである必要があります。例えば:
-
Wallarm Ingressコントローラーのアドレスに対して、テストパストラバーサル攻撃リクエストを送信してください:
新バージョンのソリューションが、前バージョンと同様に悪意あるリクエストを処理することを確認してください。
```