我们最近升级到了nginx-ingress 0.22。在此升级之前,我的服务使用的是旧命名空间df.columns = 'X' + [i for i in range(1,len(df.columns)+1)]
TypeError: must be str, not list
,并且一切正常。但是,升级到0.22后,亲和力就停止应用于我的服务(在nginx.conf中的任何地方都看不到df.columns = ['X',1,2,3...]
)。
我查看了文档,并将命名空间更改为ingress.kubernetes.io/affinity: cookie
,如图in this example所示,但这没有帮助。
我是否可以查看一些调试日志,以显示配置解析/构建过程?我的猜测是其他设置阻止了它的工作(我无法想象k8s团队发布了一个功能完全失效的发行版),但是我不确定这可能是什么。
k8s仪表板显示的我的入口配置如下:
sticky
答案 0 :(得分:1)
当我使用Nginx Ingress 0.22版测试了Sticky会话亲和力时,我可以确保它工作正常。然后,当我在寻找您的配置时,我将通配符主机host: "*.example.net"
替换为host: "stickyingress.example.net"
只是为了忽略通配符,它再次正常工作。
因此,经过一番搜索,我发现从这个issue
Ingress规范不支持通配符主机名(仅SSL) 通配符证书是)
即使针对NGINX Ingress控制器版本也存在此问题: 0.21.0