我正在尝试在其他资源中使用k8集群公开的api。
我希望k8集群首先启动,然后其他资源使用这个k8集群公开的api。我尝试使用引用来对资源创建进行隐式排序,但我发现甚至在k8集群完全运行之前,另一个资源就在尝试访问由k8集群公开的API。
更多细节:https://gist.github.com/VarunkumarManohar/508454c42afa481771e2c600120ca7ac
发布于 2018-03-09 05:00:14
这不是kubernetes的工作方式。
Kubernetes使用称为协调的过程,其中描述结束状态的规范/资源定义是在没有任何显式或隐式的排序期望的情况下创建的。各个资源/应用程序/控制器尝试一次又一次重试,以使其自身与期望结束状态一致。
在提交规范/资源之前,必须明确指定所有跨应用程序引用/依赖关系。与一些应用程序配置管理系统不同,k8s中没有变量插值或替换或类似的东西。
单个服务的规范的一部分涉及当它们失败时应该做什么-它们应该重试多少次,持续多长时间,等等。当你有依赖服务层时,没有依赖关系的服务可能会出现并立即进入就绪状态,而其他有依赖关系的服务可能会尝试定位这些依赖关系,失败,然后被kubernetes重启/重试。
最终,所有部分,有时是在多次单独重新启动之后,都启动并准备就绪,因此与所需的结束状态一致。
https://stackoverflow.com/questions/49143886
复制相似问题