Helm Chart ile Native Node Dağıtımı¶
NGINX’ten bağımsız çalışan Wallarm Native Node, bazı konektörlerle dağıtım için tasarlanmıştır. Helm chart kullanarak Native Node’u Kubernetes kümenizde ayrı bir servis olarak veya bir yük dengeleyici olarak çalıştırabilirsiniz.
Kullanım senaryoları¶
Aşağıdaki durumlarda Native Node’u Helm chart ile dağıtın:
-
MuleSoft Mule veya Flex Gateway, Akamai, Cloudflare, Amazon CloudFront, Broadcom Layer7 API Gateway, Fastly, IBM DataPower için bir Wallarm konektörü dağıtıyor ve node’un self-hosted olmasını istiyorsanız. Bu, OpenShift, Amazon EKS, Azure AKS veya Google GKE gibi Kubernetes yönetim platformlarını zaten kullanıyorsanız idealdir. Trafik yönlendirmesini kolaylaştırmak için node, genel bir IP’ye sahip bir yük dengeleyici olarak yapılandırılır.
Node’u
connector-server
modunda kullanın. -
Istio tarafından yönetilen API’ler için satır içi gRPC tabanlı external processing filter gerektiğinde. Trafik yönlendirmesini kolaylaştırmak için node, genel bir IP’ye sahip bir yük dengeleyici olarak yapılandırılır.
Node’u
envoy-external-filter
modunda kullanın. -
Kong API Gateway için bir Wallarm konektörü dağıttığınızda. Node, genel bir IP açığa çıkarmadan dahili trafik için ClusterIP türüyle dağıtılır.
Node’u
connector-server
modunda kullanın.
Gereksinimler¶
Native Node’u Helm chart ile dağıtmak için Kubernetes kümeniz aşağıdaki kriterleri karşılamalıdır:
-
Helm v3 paket yöneticisi kurulu.
-
API’lerinizin çalıştığı API gateway veya CDN’den gelen inbound erişim.
-
Şuralara outbound erişim:
- Wallarm Helm chart’ını indirmek için
https://charts.wallarm.com
- Dağıtım için gerekli Docker imajlarını indirmek için
https://hub.docker.com/r/wallarm
- US/EU Wallarm Cloud için
https://us1.api.wallarm.com
veyahttps://api.wallarm.com
-
Saldırı tespit kurallarına ve API spesifikasyonlarına güncellemeleri indirmek ve allowlist, denylist veya graylist içindeki ülke, bölge veya veri merkezleriniz için kesin IP’leri almak amacıyla aşağıdaki IP adresleri
- Wallarm Helm chart’ını indirmek için
-
LoadBalancer
türüyle dağıtım yapıyorsanız bir alan adı ve güvenilir bir SSL/TLS sertifikası gerekir. -
Bunlara ek olarak, Wallarm Console içinde size Administrator rolü atanmış olmalıdır.
Sınırlamalar¶
-
Wallarm servisini
LoadBalancer
türüyle dağıtırken, Node örneğinin alan adı için güvenilir bir SSL/TLS sertifikası gereklidir. Self-signed sertifikalar henüz desteklenmemektedir. -
Özel engelleme sayfası ve engelleme kodu yapılandırmaları henüz desteklenmiyor.
-
Wallarm kuralı ile rate limiting desteklenmiyor.
-
Çok kiracılı yapı henüz desteklenmiyor.
Dağıtım¶
1. Wallarm token’ını hazırlayın¶
Node’u kurmak için, node’u Wallarm Cloud’a kaydetmek üzere bir token gerekir. Token hazırlamak için:
-
Wallarm Console → Settings → API tokens’ı US Cloud veya EU Cloud içinde açın.
-
Node deployment/Deployment
kullanım türüne sahip bir API token bulun veya oluşturun. -
Bu token’ı kopyalayın.
2. Wallarm Helm chart deposunu ekleyin¶
3. Yapılandırma dosyasını hazırlayın¶
Genel bir IP ile Native Wallarm node’unu bir LoadBalancer olarak dağıtmak, MuleSoft, Cloudflare, Amazon CloudFront, Broadcom Layer7 API Gateway, Fastly’den bu IP’ye trafiği güvenlik analizi ve filtreleme için yönlendirmenize olanak tanır.
- Yük dengeleyici için bir alan adı kaydedin.
- Güvenilir bir SSL/TLS sertifikası edinin.
-
Aşağıdaki asgari yapılandırma ile
values.yaml
yapılandırma dosyasını oluşturun. Sertifikayı uygulamak için tercih ettiğiniz yöntemin sekmesini seçin:Kümemizde
cert-manager
kullanıyorsanız, SSL/TLS sertifikasını onunla üretebilirsiniz.config: connector: mode: connector-server certificate: enabled: true certManager: enabled: true issuerRef: # cert-manager Issuer veya ClusterIssuer adının belirtilmesi name: letsencrypt-prod # Issuer (namespace kapsamlı) mı yoksa ClusterIssuer (küme genelinde) mı olduğunu belirtir kind: ClusterIssuer processing: service: type: LoadBalancer
Aynı ad alanındaki mevcut bir Kubernetes secret’ından SSL/TLS sertifikasını çekebilirsiniz.
customSecret
yapılandırması, bir sertifikayı doğrudan base64 ile kodlanmış değerler olarak tanımlamanıza olanak tanır.
Genel bir IP ile Native Wallarm node’unu bir LoadBalancer olarak dağıtmak, MuleSoft, Cloudflare, Amazon CloudFront, Broadcom Layer7 API Gateway, Fastly’den bu IP’ye trafiği güvenlik analizi ve filtreleme için yönlendirmenize olanak tanır.
- Yük dengeleyici için bir alan adı kaydedin.
- Güvenilir bir SSL/TLS sertifikası edinin.
-
Aşağıdaki asgari yapılandırma ile
values.yaml
yapılandırma dosyasını oluşturun. Sertifikayı uygulamak için tercih ettiğiniz yöntemin sekmesini seçin:Kümemizde
cert-manager
kullanıyorsanız, SSL/TLS sertifikasını onunla üretebilirsiniz.config: connector: mode: envoy-external-filter certificate: enabled: true certManager: enabled: true issuerRef: # cert-manager Issuer veya ClusterIssuer adının belirtilmesi name: letsencrypt-prod # Issuer (namespace kapsamlı) mı yoksa ClusterIssuer (küme genelinde) mı olduğunu belirtir kind: ClusterIssuer processing: service: type: LoadBalancer
Aynı ad alanındaki mevcut bir Kubernetes secret’ından SSL/TLS sertifikasını çekebilirsiniz.
customSecret
yapılandırması, bir sertifikayı doğrudan base64 ile kodlanmış değerler olarak tanımlamanıza olanak tanır.
Wallarm’ı Kong API Gateway veya Istio için bir konektör olarak dağıtırken, bu konektör için Native Node’u genel bir IP açığa çıkarmadan, dahili trafik için ClusterIP türüyle dağıtırsınız.
Aşağıdaki asgari yapılandırma ile values.yaml
yapılandırma dosyasını oluşturun:
Tüm yapılandırma parametreleri
4. Wallarm servisini dağıtın¶
5. Wallarm yük dengeleyicisini alın¶
LoadBalancer
türüyle dağıtıyorsanız:
-
Wallarm yük dengeleyicisinin dış IP’sini alın:
native-processing
servisi için dış IP’yi bulun. -
Alan adınızı dış IP’ye yönlendirecek şekilde DNS sağlayıcınızda bir A kaydı oluşturun.
DNS yayıldıktan sonra servise alan adı üzerinden erişebilirsiniz.
6. Wallarm kodunu bir API yönetim servisine uygulayın¶
Node’u dağıttıktan sonra, trafiği dağıtılmış node’a yönlendirmek için Wallarm kodunu API yönetim platformunuza veya servisinize uygulamanız gerekir.
-
Konektörünüz için Wallarm kod paketini edinmek üzere sales@wallarm.com ile iletişime geçin.
-
Paketi API yönetim platformunuza uygulamak için platforma özel talimatları izleyin:
Yükseltme¶
Node’u yükseltmek için talimatları izleyin.