【问题标题】:Google Deployment Manager ordering of resources using references for kubernetes clusterGoogle Deployment Manager 使用 Kubernetes 集群的参考对资源进行排序
【发布时间】:2018-03-07 04:00:26
【问题描述】:

我正在尝试在其他资源中使用 k8 集群公开的 api。

我希望 k8 集群先启动,然后其他资源使用此 k8 集群公开的 api。 我尝试使用引用来制定资源创建的隐式顺序,但我发现即使在 k8 集群完全启动之前,另一个资源正在尝试访问 k8 集群公开的 API。

更多详情: https://gist.github.com/VarunkumarManohar/508454c42afa481771e2c600120ca7ac

【问题讨论】:

  • 你是如何在集群中运行服务的?
  • 是的,服务将在使用资源 dmcluster 创建的集群内运行

标签: kubernetes google-deployment-manager


【解决方案1】:

这不是 Kubernetes 的工作方式。

Kubernetes 使用一个称为协调的过程,在该过程中,描述最终状态的规范/资源定义是在没有任何明确或隐含的排序期望的情况下创建的。各个资源/应用程序/控制器尝试并重试并再次重试以使自己与所需的最终状态相协调。

在提交规范/资源之前,必须明确和逐字地指定所有跨应用程序引用/依赖项。与某些应用程序配置管理系统不同,k8s 中没有变量插值或替换或类似的东西。

个别服务的部分规范涉及当它们失败时该怎么办——它们应该重试、重试多少次、持续多长时间等。当你有依赖服务的层时,没有依赖关系的服务可能会出现并且立即进入准备状态,而其他具有依赖关系的服务可能会尝试定位这些依赖关系,失败,然后被 kubernetes 重新启动/重试。

最终,所有部件(有时在多次单独重启后)都已启动并准备就绪,因此与所需的最终状态一致。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 2021-03-11
    相关资源
    最近更新 更多