Am un cluster Kubernetes care rulează în EKS (pe AWS.)
În cluster am Elasticsearch, Kibana și diverse alte servicii web.
Aș dori să configurez un singur loadbalancer ALB astfel încât:
- Solicitări către
/_kibana/*
este direcționat către serviciu: search-kb-http, port: 5601
- Tot restul traficului
/*
este direcționat către serviciu: web-service-locator, port: 5000
Deci creez asta:
#Notă: search-kb-http este furnizat de operatorul Kibana
---
apiVersion: v1
fel: Serviciu
metadate:
nume: web-service-locator
spatiu de nume: implicit
specificație:
porturi:
- nume: http
port: 5000
protocol: TCP
selector:
aplicația companiei: web
tip: NodePort
---
apiVersion: networking.k8s.io/v1beta1
fel: Intrare
metadate:
adnotari:
alb.ingress.kubernetes.io/load-balancer-name: [SNIP]
external-dns.alpha.kubernetes.io/hostname: [SNIP]
alb.ingress.kubernetes.io/ssl-redirect: „443”
alb.ingress.kubernetes.io/certificate-arn: [SNIP]
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
kubernetes.io/ingress.class: alb
nume: public-ingress
spatiu de nume: implicit
specificație:
reguli:
- http:
trasee:
- cale: /_kibana/*
backend:
serviceName: search-kb-http
servicePort: 5601
- cale: /*
backend:
serviceName: web-service-locator
servicePort: 5000
Iată problema
Prefer să fac terminarea SSL la ALB pentru serviciul web principal. Dar backend-ul Kibana oferă doar HTTPS. Așa că am nevoie de cele două backend-uri diferite pentru a utiliza protocoale diferite în tranzit.
În timpul cercetării mele, se pare că există o adnotare pe care o pot aplica la intrare:
alb.ingress.kubernetes.io/backend-protocol: HTTPS
Dar aceste schimbări par să afecteze întreaga intrare.
Există o modalitate de a specifica diferite protocoale de tranzit pentru diferite backend-uri?
Mulţumesc mult!
[EDITAȚI | ×] Am găsit o soluție pentru a dezactiva TLS pe Kibana în ECK.Dar încă rămâne întrebarea dacă acest lucru este posibil. Mulțumiri!