无法通过istio-ingress配置会话关联性

时间:2018-12-20 17:41:00

标签: kubernetes istio

我需要配置粘性,并带有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发生会话病?

1 个答案:

答案 0 :(得分:1)

配置正确,问题是由于在默认名称空间中然后在服务应用程序中部署istio-gateway愚蠢的错误