我试图使用Helm 3安装Kubeflow 1.3和Istio 1.9在Kubernetes 1.16。库贝弗尔没有提供正式的赫尔姆图表,所以我自己算出来了。
但是Helm并不保证保证订单。在Istio变异web钩子和istiod之前,其他部署和状态集的荚数可能会上升。例如,如果在没有istio的情况下,A结束符在较早的上运行,那么B则是稍后的与的istio代理,它们无法相互通信。
是否有任何简单的最佳实践,以便在每次部署时都能像预期的那样解决这个问题?也就是说,确保我用Helm安装的是原子。
提前谢谢你。
更新:我尝试了三种方法:
我收养了第三个。第一个问题是,舵机钩子是为作业设计的,可以将资源标记为helm钩子,但在使用helm uninstall时不会删除它,因为资源不能同时持有两个舵机钩子(注解中的关键冲突)。第二个问题是舵机同时安装子图表和图表,同时调用子图表和图表的挂钩。
发布于 2021-09-08 10:46:59
不保证订单。
不完全是。Helm收集给定图表中的所有资源及其依赖项,按资源类型分组,然后在以下命令中安装它们
此外:
也就是说,确保我用Helm安装的是原子。
你应该知道:
Helm不会等到所有资源都运行之后才退出。
如果使用Helm,通常无法控制订单。您可以尝试使用Init容器来验证您的荚,以检查它们在运行之前是否有所有的依赖项。您可以阅读更多关于它的这里。另一个解决办法是安装一项健康检查,以确保一切正常。否则,它将重新启动,直到成功。
另请参阅:
https://stackoverflow.com/questions/69044736
复制相似问题