Entegre Wallarm modülleriyle NGINX Ingress controller'ı yükseltme¶
Bu talimatlar, dağıtılmış Wallarm NGINX tabanlı Ingress Controller'ı en son 6.x sürümüne yükseltme adımlarını açıklar.
Ömrü dolmuş node’u (3.6 veya daha düşük) yükseltmek için lütfen farklı talimatları kullanın.
Gereksinimler¶
-
Kubernetes platform version 1.26-1.30
-
Helm package manager
-
Compatibility of your services with the Community Ingress NGINX Controller version 1.11.8
-
Access to the account with the Administrator role in Wallarm Console for the US Cloud or EU Cloud
-
Access to
https://us1.api.wallarm.com
for working with US Wallarm Cloud or tohttps://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 and their corresponding hostnames (if any) listed below. This is needed for downloading updates to attack detection rules and API specifications, as well as retrieving precise IPs for your allowlisted, denylisted, or graylisted countries, regions, or data centers
Adım 1: Wallarm Helm chart deposunu güncelleyin¶
Adım 2: Gelecek tüm K8s manifest değişikliklerini inceleyin¶
Ingress controller davranışının beklenmedik şekilde değişmesini önlemek için, Helm Diff Plugin kullanarak gelecek tüm K8s manifest değişikliklerini inceleyin. Bu eklenti, dağıtılmış Ingress controller sürümünün K8s manifestleri ile yenisinin manifestleri arasındaki farkı çıktılar.
Eklentiyi yüklemek ve çalıştırmak için:
-
Eklentiyi yükleyin:
-
Eklentiyi çalıştırın:
helm diff upgrade <RELEASE_NAME> -n <NAMESPACE> wallarm/wallarm-ingress --version 6.5.1 -f <PATH_TO_VALUES>
<RELEASE_NAME>
: Ingress controller chart’ına ait Helm sürümünün adı.<NAMESPACE>
: Ingress controller’ın dağıtıldığı namespace.-
<PATH_TO_VALUES>
: Ingress Controller 6.x ayarlarını içerenvalues.yaml
dosyasının yolu. Önceki sürümün dosyasını yeniden kullanabilir, Tarantool'dan wstore'a geçiş için güncelleyebilirsiniz.Helm değerleri yeniden adlandırıldı:
controller.wallarm.tarantool
→controller.wallarm.postanalytics
. Postanalytics belleğini açıkça ayırdıysanız, bu değişikliğivalues.yaml
içinde uygulayın.
-
Çalışan servislerin kararlılığını etkileyebilecek hiçbir değişiklik olmadığından emin olun ve stdout’taki hataları dikkatlice inceleyin.
stdout boşsa,
values.yaml
dosyasının geçerli olduğundan emin olun.
Adım 3: Ingress controller’ı yükseltin¶
Değişiklikleri üretime almadan önce doğrulamak için NGINX Ingress Controller'ı önce bir hazırlık (staging) Kubernetes ortamında yükseltmeniz önerilir.
Dağıtılmış NGINX Ingress controller’ı yükseltin:
helm upgrade <RELEASE_NAME> -n <NAMESPACE> wallarm/wallarm-ingress --version 6.5.1 -f <PATH_TO_VALUES>
-
<RELEASE_NAME>
: Ingress controller chart’ına ait Helm sürümünün adı -
<NAMESPACE>
: Ingress controller’ın dağıtıldığı namespace -
<PATH_TO_VALUES>
: Ingress Controller 6.x ayarlarını içerenvalues.yaml
dosyasının yolu. Önceki sürümün dosyasını yeniden kullanabilir, Tarantool'dan wstore'a geçiş için güncelleyebilirsiniz:Helm değerleri yeniden adlandırıldı:
controller.wallarm.tarantool
→controller.wallarm.postanalytics
. Postanalytics belleğini açıkça ayırdıysanız, bu değişikliğivalues.yaml
içinde uygulayın.
Adım 4: Yükseltilmiş Ingress controller’ı test edin¶
-
Helm chart sürümünün yükseltildiğinden emin olun:
Burada
<NAMESPACE>
, Ingress controller ile Helm chart’ın dağıtıldığı namespace’tir.Chart sürümü
wallarm-ingress-6.5.1
ile karşılık gelmelidir. -
Wallarm pod’unu alın:
Pod durumu STATUS: Running ve READY: N/N olmalıdır:
NAME READY STATUS RESTARTS AGE ingress-controller-wallarm-ingress-controller-6d659bd79b-952gl 3/3 Running 0 8m7s ingress-controller-wallarm-ingress-controller-wallarm-wstore-7ddmgbfm 3/3 Running 0 8m7s
5.x veya daha düşük bir sürümden yükseltme yapıyorsanız, artık ayrı bir Tarantool pod’u olmadığını fark edeceksiniz; wstore, ana
<CHART_NAME>-wallarm-ingress-controller-xxx
pod’u içinde çalışır. -
Wallarm Ingress controller adresine test amaçlı Yol Geçişi saldırısı içeren isteği gönderin:
Yeni sürümün çözümünün kötü amaçlı isteği önceki sürümde olduğu gibi işlediğini kontrol edin.
Yükseltme hazırlık ortamında başarıyla doğrulandıktan sonra üretim ortamını yükseltmeye devam edin.