使用Redis-Cluster的Bitnami Helm图表时,有一个redis-cluster-cluster-create作业。但是,启用istio-injection时,此作业永远不会结束。如果禁用istio-injection,作业很快就会结束。为什么会发生这种现象,有什么解决方案或原因吗?
发布于 2020-10-27 16:40:57
回答主要问题
有一个redis-cluster-cluster-create作业。但是,启用istio-injection时,此作业永远不会结束。如果禁用istio-injection,作业很快就会结束。为什么会发生这种现象,有什么解决方案或原因吗?
这里的主要问题是,在所有容器都停止运行之前,作业不会被认为是完成的,而Istio sidecar会无限期地运行,虽然您的任务可能已经完成,但作业作为一个整体在Kubernetes中不会显示为已完成。
有关于这一点的github issue。
有一个workarounds,你可以找到更多的变通方法here。
我可以从Redis-Cluster Helm Chart中更改podAnnotations,当禁用istio-injection时,作业不会启动istio-proxy。但是,主作业'cluster-create‘作业永远不会结束,并且最终会使部署失败
如前所述,here
因此,作为临时解决方法,添加sidecar.istio.io/inject:“false”是可能的,但这会禁用传入/来自带注释的Pod的任何流量的Istio。如前所述,我们利用Kubernetes Jobs进行集成测试,这意味着一些测试可能需要访问服务网格。禁用Istio实质上意味着中断路由--一种停止显示的方式。
所以它实际上可能在这里不起作用。我建议尝试使用suggest,因为这是最推荐的变通方法。
另外,值得检查一下这些github问题:
https://stackoverflow.com/questions/64476821
复制相似问题