我需要配置粘性,并带有istio-ingress和以下文档,我已经定义了网关,虚拟服务和目标规则,如下所示:
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: app-http-gateway
spec:
selector:
istio: ingressgateway # use istio default controller
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- app.k8istio.test.example.com
- app
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: app
spec:
hosts:
- app.k8istio.test.example.com
gateways:
- app-http-gateway
http:
- match:
- uri:
prefix: /
route:
- destination:
host: app
port:
number: 8080
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: app-dr
spec:
host: app
trafficPolicy:
loadBalancer:
consistentHash:
httpCookie:
name: testcookie
ttl: 0s
但是,我的请求并没有停留在服务应用程序后面的一个Pod,而是仍循环路由到服务应用程序后面的两个Pod。
此外,我希望我将在响应头中获得testcookie,它将通过客户端浏览器进一步用于返回相同的pod,但是这没有发生,我还尝试将httpCookie设置为JSESSIONID,但是它没有用。
istioctl版本 版本:1.0.4
我怎样才能与istio-inress发生会话病?
答案 0 :(得分:1)
配置正确,问题是由于在默认名称空间中然后在服务应用程序中部署istio-gateway愚蠢的错误