Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 使用nginx入口启用粘性会话,但不起作用_Kubernetes - Fatal编程技术网

Kubernetes 使用nginx入口启用粘性会话,但不起作用

Kubernetes 使用nginx入口启用粘性会话,但不起作用,kubernetes,Kubernetes,我有一个运行nginx入口控制器的v1.8.4部署。我有一个很好的入口。但现在我正在尝试在其中启用粘性会话。我使用kubectl edit ing mying添加这些注释: nginx.ingress.kubernetes.io/affinity: cookie nginx.ingress.kubernetes.io/session-cookie-hash: md5 nginx.ingress.kubernetes.io/session-cookie-name: foobar 但粘性会话仍然不

我有一个运行nginx入口控制器的v1.8.4部署。我有一个很好的入口。但现在我正在尝试在其中启用粘性会话。我使用
kubectl edit ing mying
添加这些注释:

nginx.ingress.kubernetes.io/affinity: cookie
nginx.ingress.kubernetes.io/session-cookie-hash: md5
nginx.ingress.kubernetes.io/session-cookie-name: foobar
但粘性会话仍然不起作用。Nginx config没有关于粘性会话的任何内容。此外,
kubectl description ing mying
未显示注释。这里出了什么问题

我还尝试了粘性会话的示例。 描述入口不会显示注释。

因为条目主机(在ingres.yml中)不能为空或wildzard(*.example.com)

确保您的主机如test.example.com(如果您没有dns,请在您的本地主机中进行配置),然后进行测试

curl -I  http://test.example.com/test/login.jsp
然后你会看到

Set-Cookie: route=ebfcc90982e244d1d7ce029b98f8786b; Expires=Sat, 03-Jan-70 00:00:00 GMT; Max-Age=172800; Domain=test.example.com; Path=/test; HttpOnly
官方的例子是:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: nginx-test
  annotations:
    nginx.ingress.kubernetes.io/affinity: "cookie"
    nginx.ingress.kubernetes.io/session-cookie-name: "route"
    nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
    nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"

spec:
  rules:
  - host: stickyingress.example.com
    http:
      paths:
      - backend:
          serviceName: http-svc
          servicePort: 80
        path: /

你能粘贴你的ingres.yaml文件吗?你有没有尝试
nginx.ingres.kubernetes.io/session-cookie-name:route
?此外,进入后舱单。将有助于调试。我遇到了相同的问题,并发现此线程。对此有任何更新吗?我在web套接字方面也面临类似的问题。